现代人工智能(AI)系统由基础模型驱动。本文介绍了一组新的基础模型,称为Llama 3。这是一系列原生支持多语言、编程、推理和工具使用的语言模型。我们最大的模型是一个拥有405B参数和最长可达128K token上下文窗口的大规模Transformer模型。本文对Llama 3进行了广泛的实证评估。我们发现,Llama 3在多项任务上的表现与领先的语言模型(如GPT-4)不相上下。我们公开发布了Llama 3,包括预训练和微调版本的405B参数语言模型,以及我们的Llama Guard 3模型,用于输入和输出安全性控制。本文还展示了将图像、视频和语音能力通过组合方法整合到Llama 3中的实验结果。我们观察到这种方法在图像、视频和语音识别任务上的表现可与最先进的技术相媲美。由于这些多模态模型仍在开发中,目前尚未广泛发布。
日期:2024年7月23日
链接:https://ai.meta.com/research/publications/the-llama-3-herd-of-models/
目录
1 简介 2 总体概述 3 预训练 3.1 预训练数据 3.1.1 网络数据策划 3.1.2 确定数据组合 3.1.3 数据退火 3.2 模型架构 3.2.1 规模法则 3.3 基础设施、扩展性与效率 3.3.1 训练基础设施 3.3.2 模型扩展的并行方法 3.3.3 集体通信 3.3.4 可靠性和操作挑战 3.4 训练方案 3.4.1 初始预训练 3.4.2 长上下文预训练 3.4.3 退火 4 后训练 4.1 建模 4.1.1 聊天对话格式 4.1.2 奖励建模 4.1.3 监督微调 4.1.4 直接偏好优化 4.1.5 模型平均 4.1.6 迭代轮次 4.2 后训练数据 4.2.1 偏好数据 4.2.2 SFT 数据 4.2.3 数据处理和质量控制 4.3 能力 4.3.1 代码 4.3.2 多语言能力 4.3.3 数学与推理 4.3.4 长上下文 4.3.5 工具使用 4.3.6 事实性 4.3.7 可控性 5 结果 5.1 预训练语言模型 5.1.1 标准基准测试 5.1.2 模型鲁棒性 5.1.3 对抗性基准 5.1.4 污染分析 5.2 后训练语言模型 5.2.1 一般知识和指令跟随基准测试 5.2.2 专业考试 5.2.3 编码基准测试 5.2.4 多语言基准测试 5.2.5 数学和推理基准测试 5.2.6 长上下文基准测试 5.2.7 工具使用性能 5.3 人工评估 5.4 安全性 5.4.1 基准构建 5.4.2 安全预训练 5.4.3 安全微调 5.4.4 安全性结果 5.4.5 网络安全和化学/生物武器安全性 5.4.6 红队测试 5.4.7 系统级安全 5.4.8 局限性 6 推理 6.1 管道并行 6.2 FP8量化 7 视觉实验 7.1 数据 7.1.1 图像数据 7.1.2 视频数据 7.2 模型架构 7.3 模型扩展 7.4 预训练 7.5 后期训练 7.5.1 监督微调数据 7.5.2 监督微调方法 7.5.3 偏好数据 7.5.4 奖励建模 7.5.5 直接偏好优化 7.5.6 拒绝采样 7.5.7 质量调优 7.6 图像识别结果 7.7 视频识别结果 8 语音实验 8.1 数据 8.1.2 语音生成 8.2 模型架构 8.2.1 语音理解 8.2.2 语音生成 8.3 训练方案 8.3.1 语音理解 8.3.2 语音生成 8.4 语音理解结果 8.5 语音生成结果 9 相关工作 9.1 语言 9.2 多模态 10 结论
7 视觉实验
图28 研究中将多模态能力添加到Llama 3的组合方法的示意图。此方法导致了一个在五个阶段训练的多模态模型:(1)语言模型预训练,(2)多模态编码器预训练,(3)视觉适配器训练,(4)模型微调,以及(5)语音适配器训练。
我们通过一个由两个主要阶段组成的组合方法,将视觉识别能力集成到Llama 3中。首先,我们通过引入和训练一组跨注意力层,将预训练的图像编码器(Xu等,2023)与预训练的语言模型组合在一起,并在大量的图像-文本对上进行训练。这个模型如图28所示。其次,我们引入了时间聚合层和额外的视频跨注意力层,这些层在大量视频-文本对上操作,学习从视频中识别和处理时间信息的能力。
采用组合方法进行基础模型开发有几个优点:(1)它使我们能够并行开发视觉和语言建模能力;(2)它避免了视觉数据的tokens化、来自不同模态的tokens背景困惑度差异以及模态间竞争所带来的联合预训练复杂性;(3)它保证了引入视觉识别能力不会影响模型在纯文本任务上的性能;(4)跨注意力架构确保我们不必将全分辨率图像通过越来越复杂的LLM骨干网络(特别是每个transformer层中的前馈网络),从而在推理期间提高效率。我们注意到我们的多模态模型仍在开发中,尚未准备好发布。
在第7.6和7.7节展示实验结果之前,我们将描述训练视觉识别能力所用的数据、视觉组件的模型架构、如何扩展这些组件的训练,以及我们的预训练和后训练方案。
7.1 数据
我们分别描述图像和视频数据。
7.1.1 图像数据
我们的图像编码器和适配器在图像-文本对上进行训练。我们通过一个复杂的数据处理管道构建了这个数据集,该管道包括四个主要阶段:(1)质量过滤,(2)感知去重,(3)重采样,(4)光学字符识别(OCR)。我们还应用了一系列安全措施。
质量过滤。我们实施质量过滤器,通过启发式方法(如低对齐分数)移除非英文字幕和低质量字幕(Radford等,2021)。具体来说,我们移除了CLIP分数低于某个阈值的所有图像-文本对。 去重。对大规模训练数据集进行去重有利于模型性能,因为它减少了在冗余数据上花费的训练计算资源(Esser等,2024;Lee等,2021;Abbas等,2023)和记忆(Carlini等,2023;Somepalli等,2023)。因此,我们出于效率和隐私考虑对训练数据进行去重。为此,我们使用内部版本的最先进的SSCD复制检测模型(Pizzi等,2022)在大规模图像上进行去重。对于所有图像,我们首先使用SSCD模型计算一个512维表示。然后,我们使用这些嵌入在数据集中对每张图像进行最近邻(NN)搜索,使用余弦相似度度量。我们将相似度超过某个阈值的示例定义为重复项。我们使用连通分量算法将这些重复项分组,并且每个连通分量只保留一个图像-文本对。我们通过以下方式提高去重管道的效率:(1)使用k-means聚类对数据进行预聚类,(2)使用FAISS(Johnson等,2019)进行最近邻搜索和聚类。 重采样。我们通过类似于Xu等(2023);Mahajan等(2018);Mikolov等(2013)的重采样方法来确保图像-文本对的多样性。首先,我们通过解析高质量文本来源构建一个n-gram词汇表。接下来,我们计算数据集中每个词汇n-gram的频率。然后,我们按如下方式重采样数据:如果字幕中的任何n-gram在词汇表中出现的次数少于T次,我们保留相应的图像-文本对。否则,我们以概率pT/fi独立抽样字幕中的每个n-gram ni,其中fi表示n-gram ni的频率;如果抽样到任何n-gram,我们保留图像-文本对。这种重采样有助于在低频类别和细粒度识别任务上的表现。 光学字符识别。我们通过提取图像中的文本并将其与字幕连接来进一步改进我们的图像-文本数据。文本使用专有的OCR管道提取。我们观察到,在训练数据中加入OCR数据极大地改进了需要OCR能力的任务,如文档理解。
文档转录。为了提高模型在文档理解任务上的性能,我们将文档页面渲染为图像,并将图像与相应的文本配对。文档文本直接从源头获取或通过文档解析管道获取。
安全。我们主要关注确保用于图像识别预训练的数据集中不包含不安全内容,如儿童性虐待材料(CSAM)(Thiel,2023)。我们使用感知哈希方法如PhotoDNA(Farid,2021)以及内部专有分类器对所有训练图像进行CSAM扫描。我们还使用专有的媒体风险检索管道识别和删除我们认为不适合工作环境(NSFW)的图像-文本对,例如包含性或暴力内容的对。我们相信,减少训练数据集中这种材料的存在可以提高最终模型的安全性,而不会影响其有用性。最后,我们对训练集中的所有图像进行人脸模糊处理。我们测试模型对带有附加图像的人工生成提示的反应。
数据退火。我们通过使用n-grams对图像-字幕对进行重采样,创建了一个退火数据集,将其缩减到约3.5亿个示例。由于n-grams重采样更偏向丰富的文本描述,这选择了更高质量的数据子集。我们将结果数据增加了约1.5亿个来自五个额外来源的示例:
视觉定位。我们将文本中的名词短语与图像中的边界框或遮罩链接。定位信息(边界框和遮罩)在图像-文本对中以两种方式指定。(1)我们在图像上覆盖tokens的框或遮罩,并在文本中使用tokens作为参考,类似于tokens集(Yang等,2023a)。(2)我们将归一化的(xmin,ymin,xmax,ymax)坐标直接插入文本中,以特殊tokens分隔。 截图解析。我们从HTML代码渲染截图,并要求模型预测生成截图中特定元素的代码,类似于Lee等(2023)。截图中感兴趣的元素通过边界框指示。 问答对。我们包括问答对,使我们能够使用过多的数据量来进行模型微调。 合成字幕。我们包括由早期版本的模型生成的带有合成字幕的图像。与原始字幕相比,我们发现合成字幕对图像提供了更全面的描述。 合成生成的结构化图像。我们还包括合成生成的用于各种领域的图像,如图表、表格、流程图、数学方程和文本数据。这些图像伴随结构化表示,如相应的Markdown或LaTeXtokens。除了提高模型在这些领域的识别能力外,我们发现这些数据对通过文本模型生成问答对进行微调很有用。
7.1.2 视频数据
对于视频预训练,我们使用了一个包含大量视频-文本对的数据集。我们通过多阶段流程对数据集进行筛选和清理。首先,使用基于规则的启发式方法清洗文本,例如确保最小长度和修正大小写。然后,我们运行语言识别模型以过滤掉非英文文本。接着,运行OCR检测模型以过滤掉覆盖过多文本的视频。为了确保视频-文本对之间的合理对齐,我们使用CLIP(Radford等,2021)风格的图像-文本和视频-文本对比模型。首先,我们使用视频中的单帧计算图像-文本相似度,并过滤掉相似度低的对,随后进一步过滤掉视频-文本对齐度低的对。我们的一些数据包含静态或低运动视频;我们使用基于运动分数的过滤方法(Girdhar等,2023)过滤掉这些数据。我们不对视频的视觉质量(如美学评分或分辨率过滤)应用任何过滤。
我们的数据集包含平均时长为21秒、中位数时长为16秒的视频,超过99%的视频时长在一分钟以内。视频的空间分辨率从320p到4K不等,超过70%的视频的短边分辨率大于720像素。视频具有各种纵横比,几乎所有视频的纵横比在1:2到2:1之间,中位数为1:1。
7.2 模型架构
我们的视觉识别模型由三个主要组件组成:(1)图像编码器,(2)图像适配器,(3)视频适配器。
图像编码器。我们的图像编码器是一个标准的视觉transformer(ViT;Dosovitskiy等,2020),旨在对齐图像和文本(Xu等,2023)。我们使用了ViT-H/14变体的图像编码器,该编码器有630M参数,在25亿图像-文本对上进行了五个epoch的训练。图像编码器预训练在分辨率为224 × 224的图像上进行;图像被分成16 × 16的相等大小的补丁(即每个补丁大小为14x14像素)。如之前的研究ViP-Llava(Cai等,2024)所示,通过对比文本对齐目标训练的图像编码器无法保留细粒度定位信息。为了解决这一问题,我们采用了多层特征提取,在最终层特征之外,还提供第4、第8、第16、第24和第31层的特征。此外,我们在跨注意力层预训练之前插入了8个门控自注意力层(总共40个transformer块)以学习特定对齐特征。因此,图像编码器最终具有总共850M参数的额外层。通过多层特征,图像编码器为每个16 × 16 = 256个补丁生成7680维表示。在后续训练阶段,我们没有冻结图像编码器的参数,因为我们发现这可以提高性能,特别是在文本识别领域。
图像适配器。我们在图像编码器生成的视觉tokens表示和语言模型生成的tokens表示之间引入跨注意力层(Alayrac等,2022)。跨注意力层在核心语言模型的每第四个自注意力层之后应用。与语言模型本身一样,跨注意力层使用广义查询注意力(GQA)以提高效率。跨注意力层为模型引入了大量额外的可训练参数:对于Llama 3 405B,跨注意力层有约100B参数。我们分两个阶段对图像适配器进行预训练:(1)初始预训练,(2)退火:
初始预训练。我们在上述约60亿图像-文本对数据集上对图像适配器进行预训练。为了提高计算效率,我们将所有图像调整为最多四个336 × 336像素的瓷砖,其中瓷砖排列支持不同的纵横比,例如672 × 672、672 × 336和1344 × 336。 退火。我们继续在约5亿张来自上述退火数据集的图像上训练图像适配器。在退火期间,我们增加了每个瓷砖的图像分辨率,以提高需要更高分辨率图像任务的性能,例如信息图理解。
视频适配器。我们的模型以最多64帧(从整个视频中均匀采样)作为输入,每帧都由图像编码器处理。我们通过两个组件建模视频中的时间结构:(i)编码的视频帧通过时间聚合器聚合32个连续帧为一个,(ii)在每第四个图像跨注意力层之前添加额外的视频跨注意力层。时间聚合器实现为感知重采样器(Jaegle等,2021;Alayrac等,2022)。我们在每个视频16帧(聚合为1帧)上进行预训练,但在有监督微调期间将输入帧数增加到64帧。视频聚合器和跨注意力层在Llama 3 7B和70B模型中分别具有0.6B和4.6B参数。
7.3 模型扩展
在将视觉识别组件添加到Llama 3之后,模型包含自注意力层、跨注意力层和ViT图像编码器。为了训练较小的8B和70B参数模型的适配器,我们发现数据和张量并行化的组合是最有效的。在这些规模下,模型或管道并行化不会提高效率,因为模型参数的收集会占据计算量。然而,在训练405B参数模型的适配器时,我们在数据和张量并行化之外也使用管道并行化。在这种规模的训练引入了三个新的挑战,除了第3.3节中概述的挑战外,还包括模型异质性、数据异质性和数值不稳定性。
模型异质性。由于某些tokens上的计算量比其他tokens更多,模型计算是异质性的。特别是,图像tokens由图像编码器和跨注意力层处理,而文本tokens仅由语言骨干处理。这种异质性导致管道并行化调度中的瓶颈。我们通过确保每个管道阶段包含五层来解决这个问题:即语言骨干中的四个自注意力层和一个跨注意力层。(回顾一下,我们在每第四个自注意力层之后引入一个跨注意力层。)此外,我们在所有管道阶段复制图像编码器。因为我们在配对的图像-文本数据上进行训练,这使我们能够在图像和文本部分的计算之间进行负载平衡。
数据异质性。数据是异质性的,因为平均而言,图像的tokens数量比相关文本多:一个图像有2308个tokens,而相关文本平均只有192个tokens。因此,跨注意力层的计算比自注意力层的计算需要更多时间和内存。我们通过在图像编码器中引入序列并行化来解决这个问题,这样每个GPU处理的大约相同数量的tokens。由于平均文本大小相对较短,我们还使用了大得多的微批量大小(8而不是1)。
数值不稳定性。在将图像编码器添加到模型之后,我们发现以bf16进行梯度累积导致数值不稳定性。最可能的解释是图像tokens通过所有跨注意力层引入语言骨干中。这意味着图像tokens表示中的数值偏差对整体计算有着巨大影响,因为错误会累积。我们通过以FP32进行梯度累积来解决这个问题。
7.4 预训练
图像。我们从预训练的文本模型和视觉编码器权重开始初始化。视觉编码器未被冻结,而文本模型权重保持冻结,如上所述。首先,我们使用60亿对图像-文本对训练模型,其中每个图像被调整为适应四个336 × 336像素的瓷砖。我们使用16384的全局批量大小和余弦学习率调度,初始学习率为10 × 10⁻⁴,权重衰减为0.01。初始学习率基于小规模实验确定。然而,这些发现并未很好地推广到非常长的训练时间表,并在训练过程中几次在损失值停滞时降低学习率。在基本预训练之后,我们进一步提高图像分辨率,并在退火数据集上继续训练相同的权重。优化器通过预热重新初始化到学习率2 × 10⁻⁵,并再次遵循余弦调度。
视频。对于视频预训练,我们从上述图像预训练和退火权重开始。我们添加视频聚合器和跨注意力层,并随机初始化。我们冻结模型中的所有参数,除了视频特定的参数(聚合器和视频跨注意力),并在视频预训练数据上训练它们。我们使用与图像退火阶段相同的训练超参数,只是在学习率上有些许差异。我们从完整视频中均匀采样16帧,并将每帧表示为四个448 × 448像素的块。在视频聚合器中使用16的聚合因子,因此获得一个有效帧,文本tokens与其进行跨注意力。我们使用4096的全局批量大小,序列长度为190个tokens,训练期间的学习率为10⁻⁴。
7.5 后期训练
本节介绍我们的视觉适配器的后期训练方法。在预训练之后,我们在高度精选的多模态对话数据上微调模型,以启用聊天功能。我们进一步实施直接偏好优化(DPO)以提高人工评估性能,并通过拒绝采样来增强多模态推理能力。最后,我们添加了一个质量调优阶段,在非常小的高质量对话数据集上继续微调模型,这在保持基准性能的同时进一步提升了人工评估表现。以下是每个步骤的详细信息。
7.5.1 监督微调数据
我们分别描述图像和视频功能的监督微调(SFT)数据。
图像。我们利用不同的数据集混合进行监督微调。
学术数据集。我们将现有的高过滤学术数据集转换为问题回答对,使用模板或通过LLM重写。LLM重写的目的是通过不同的指令增强数据,并提高答案的语言质量。 人工标注。我们通过人工标注收集多模态对话数据,涵盖广泛的任务(开放式问答、字幕、实际应用场景等)和领域(例如,自然图像和结构化图像)。标注员提供图像并被要求撰写对话。为确保多样性,我们对大规模数据集进行聚类,并在不同的聚类中均匀抽样图像。此外,我们通过k近邻扩展种子获取一些特定领域的附加图像。标注员还提供现有模型的中间检查点,以便进行模型循环内标注,使得标注员可以利用模型生成的内容作为起点,然后进行额外的人类编辑。这是一个迭代过程,模型检查点会定期更新为在最新数据上训练的表现更好的版本。这增加了人工标注的数量和效率,同时也提高了质量。 合成数据。我们探索了生成合成多模态数据的不同方法,使用图像的文本表示和文本输入LLM。高层次的思路是利用文本输入LLM的推理能力在文本域生成问题回答对,然后将文本表示替换为对应的图像,以生成合成多模态数据。示例包括将问答数据集中的文本渲染为图像,或将表格数据渲染为合成表格和图表图像。此外,我们使用现有图像的字幕和OCR提取生成与图像相关的额外对话或问答数据。
视频。与图像适配器类似,我们使用带有现有标注的学术数据集,并将它们转换为适当的文本指令和目标响应。目标被转换为开放式响应或选择题选项,以最合适的形式呈现。我们要求人类为视频标注问题及其对应的答案。标注员被要求关注那些无法仅根据单帧回答的问题,以引导标注员关注需要时间理解的问题。
7.5.2 监督微调方法
我们分别描述图像和视频功能的监督微调(SFT)方法。
图像。我们从预训练的图像适配器开始初始化,但热交换预训练语言模型的权重与指令调优语言模型的权重。语言模型的权重保持冻结,以保持文本性能,即我们只更新视觉编码器和图像适配器的权重。我们的微调方法类似于Wortsman等(2022)。首先,我们使用多个随机数据子集、学习率和权重衰减值进行超参数扫描。接着,我们根据模型表现对其进行排名。最后,我们平均排名前K个模型的权重,以获得最终模型。通过评估平均模型并选择表现最佳的实例来确定K值。我们观察到,平均模型相比于通过网格搜索找到的最佳单个模型,始终能产生更好的结果。此外,这种策略减少了对超参数的敏感性。
视频。对于视频SFT,我们使用预训练权重初始化视频聚合器和跨注意力层。模型中的其余参数,图像权重和LLM,则从其对应的微调阶段初始化。与视频预训练类似,我们仅在视频SFT数据上微调视频参数。在此阶段,我们将视频长度增加到64帧,并使用32的聚合因子获得两个有效帧。块的分辨率也增加,以与相应的图像超参数一致。
7.5.3 偏好数据
人工标注。人工标注的偏好数据由两种不同模型输出的比较组成,tokens为“选择”和“拒绝”,并有7级评分。用于生成响应的模型从具有不同特征的最佳最新模型池中动态抽取。我们每周更新模型池。除了偏好标签,我们还要求标注员提供可选的人类编辑,以纠正“选择”响应中的不准确之处,因为视觉任务对不准确有较低的容忍度。请注意,人工编辑是一个可选步骤,因为在实践中存在数量和质量之间的权衡。 合成数据。也可以通过使用文本输入LLM编辑和故意在监督微调数据集中引入错误,生成合成偏好对。我们将对话数据作为输入,并使用LLM引入微妙但有意义的错误(例如,更改对象、更改属性、在计算中添加错误等)。这些编辑后的响应作为负面的“拒绝”样本,并与原始监督微调数据的“选择”样本配对。 拒绝采样。此外,为了创建更多的在政策负样本,我们利用拒绝采样的迭代过程来收集额外的偏好数据。我们在后续部分中详细讨论了拒绝采样的用法。高层次上,拒绝采样用于迭代地从模型中采样高质量生成。因此,未被选择的所有生成都可以用作负面的拒绝样本,并作为额外的偏好数据对。
7.5.4 奖励建模
我们在视觉SFT模型和语言RM的基础上训练一个视觉奖励模型(RM)。视觉编码器和跨注意力层从视觉SFT模型初始化,并在训练过程中解冻,而自注意力层则从语言RM初始化并保持冻结。我们观察到,冻结语言RM部分通常能带来更好的准确性,尤其是在需要RM基于其知识或语言质量进行判断的任务中。我们采用与语言RM相同的训练目标,但在批次平均的奖励对数上添加一个加权正则化项,以防止奖励分数漂移。
在7.5.3节中的人工偏好注释被用于训练视觉RM。我们按照语言偏好数据(4.2.1节)中的做法,创建两到三个明确排名的对(编辑 > 选择 > 拒绝)。此外,我们还通过扰动与图像信息相关的词语或短语(如数字或视觉文本)来合成增强负面响应。这鼓励视觉RM基于实际图像内容进行判断。
7.5.5 直接偏好优化
类似于语言模型(4.1.4节),我们使用在7.5.3节中描述的偏好数据,通过直接偏好优化(DPO;Rafailov等,2023)进一步训练视觉适配器。为了应对后期训练轮次中的分布偏移,我们只保留最近批次的人工偏好注释,同时丢弃那些足够离开策略的批次(例如,基础预训练模型发生变化时)。我们发现,与总是冻结参考模型相比,每k步以指数移动平均(EMA)方式更新它,可以帮助模型从数据中学到更多,从而在人类评估中表现更好。总体而言,我们观察到视觉DPO模型在每次微调迭代中,始终比其SFT起点在人类评估中表现更好。
7.5.6 拒绝采样
大多数可用的问答对仅包含最终答案,缺乏训练能在推理任务中良好泛化的模型所需的思维链解释。我们使用拒绝采样为此类示例生成缺失的解释,以增强模型的推理能力。
给定一个问答对,我们通过使用不同的系统提示或温度对微调模型进行采样,生成多个答案。接下来,我们通过启发式方法或LLM判断将生成的答案与真实答案进行比较。最后,我们通过将正确答案添加回微调数据集来重新训练模型。我们发现保留每个问题的多个正确答案很有用。
为了确保我们只将高质量示例添加回训练中,我们实施了以下两个保护措施。首先,我们发现一些示例包含不正确的解释,尽管最终答案是正确的。我们观察到,这种模式在生成答案只有少部分是正确的问题上更频繁发生。因此,我们丢弃那些答案正确概率低于某个阈值的问题的答案。其次,由于语言或风格的差异,评估人员偏好某些答案。我们使用奖励模型选择前K个最高质量的答案,并将它们添加回训练中。
7.5.7 质量调优
我们精选了一个小但高度选择的SFT数据集,其中所有样本都经过人类或我们最好的模型重写和验证,以达到我们的最高标准。我们使用这些数据训练DPO模型,以提高响应质量,这一过程称为质量调优(QT)。我们发现,当QT数据集涵盖广泛的任务并应用适当的早期停止时,QT显著提高了人类评估,同时在基准测试中验证的泛化能力不受影响。我们在这一阶段仅基于基准测试选择检查点,以确保能力保持或提升。
7.6 图像识别结果
我们评估了Llama 3在自然图像理解、文本理解、图表理解和多模态推理等一系列任务上的图像理解能力:
MMMU(Yue et al., 2024a)是一个具有挑战性的多模态推理数据集,要求模型理解图像并解决涵盖30个不同学科的大学级问题,包括多项选择题和开放式问题。我们在包含900张图像的验证集上评估我们的模型,符合其他工作的标准。 VQAv2(Antol et al., 2015)测试模型结合图像理解、语言理解和常识知识回答关于自然图像的通用问题的能力。 AI2 Diagram(Kembhavi et al., 2016)评估模型解析科学图表并回答相关问题的能力。我们使用与Gemini和x.ai相同的评估协议,并使用透明边界框报告分数。 ChartQA(Masry et al., 2022)是一个具有挑战性的图表理解基准测试,要求模型在视觉上理解不同类型的图表并回答关于图表的逻辑问题。 TextVQA(Singh et al., 2019)是一个流行的基准数据集,要求模型读取和推理图像中的文本,以回答关于它们的问题。这测试了模型在自然图像上的OCR理解能力。 DocVQA(Mathew et al., 2020)是一个专注于文档分析和识别的基准数据集,包含各种文档的图像,评估模型执行OCR理解和推理文档内容以回答问题的能力。
表29 我们视觉模块连接到Llama 3后的图像理解性能。我们将模型性能与GPT-4V、GPT-4o、Gemini 1.5 Pro和Claude 3.5 Sonnet进行了比较。4结果使用外部OCR工具获得。
表29展示了我们的实验结果。表中的结果表明,我们附加到Llama 3的视觉模块在各种图像识别基准测试中具有竞争力,适用于不同的模型容量。使用最终的Llama 3-V 405B模型,我们在所有基准测试中都超过了GPT-4V,而略落后于Gemini 1.5 Pro和Claude 3.5 Sonnet。Llama 3 405B在文档理解任务中特别具有竞争力。
7.7 视频识别结果
我们在三个基准上评估了Llama 3的视频适配器:
PerceptionTest (Pătrăucean et al., 2023) 评估模型回答时间推理问题的能力,重点在于技能(记忆、抽象、物理、语义)和不同类型的推理(描述性、解释性、预测性、反事实)。它包含11,600对测试问答对,每个视频平均时长23秒,由全球100名参与者拍摄,展示感知上有趣的任务。我们专注于多项选择题回答任务,每个问题配有三个可能的选项。我们通过将预测提交到在线挑战服务器来报告在保留测试集上的表现。 NExT-QA (Xiao et al., 2021) 是另一个时间和因果推理基准,重点在于开放式问题回答。它包含1,000个测试视频,每个视频平均时长44秒,配有9,000个问题。评估通过将模型的响应与真实答案进行Wu-Palmer相似度(WUPS)(Wu and Palmer, 1994)比较进行。 TVQA (Lei et al., 2018) 评估模型进行组合推理的能力,需要时空定位相关时刻、识别视觉概念和基于字幕对话进行联合推理。该数据集来源于流行的电视节目,额外测试了模型利用其对这些电视节目外部知识回答问题的能力。它包含超过15,000对验证问答对,每个视频片段平均时长76秒。它也采用多项选择格式,每个问题有五个选项,我们按照先前的工作在验证集上报告表现(OpenAI, 2023b)。 ActivityNet-QA (Yu et al., 2019) 评估模型在长视频片段上进行动作、空间关系、时间关系、计数等方面的推理能力。它包含8,000对测试问答对,来自800个视频,每个视频平均时长3分钟。为了评估,我们遵循先前工作的协议(Google, 2023;Lin et al., 2023;Maaz et al., 2024),模型生成简短的一个词或一个短语的答案,输出的正确性通过GPT-3.5 API与真实答案进行比较。我们报告API评估的平均准确率。
在推理过程中,我们从完整视频片段中均匀采样帧,并将这些帧与简短文本提示一起传递给模型。由于我们的大多数基准涉及回答多项选择题,我们使用以下提示:从以下选项中选择正确答案:{问题}。仅回答正确选项字母。对于需要生成简短答案的基准(例如ActivityNet-QA和NExT-QA),我们使用以下提示:用一个词或短语回答问题。{问题}。对于NExT-QA,由于评估指标(WUPS)对长度和使用的具体词语敏感,我们另外提示模型具体并回应最显著的答案,例如在问及位置问题时,指定“客厅”而不仅仅回答“房子”。对于包含字幕的基准(即TVQA),我们在推理过程中将对应片段的字幕包含在提示中。
表30 我们视觉模块连接到Llama 3后的视频理解性能。我们发现,在覆盖长形式和时间视频理解的任务范围内,我们的Llama 3 8B和70B参数的视觉适配器具有竞争力,有时甚至超过了替代模型。
表30展示了Llama 3 8B和70B的性能。我们将Llama 3的性能与两个Gemini和两个GPT-4模型进行比较。请注意,我们所有的结果都是零样本的,因为我们在训练或微调数据中未包含这些基准的任何部分。我们发现,在后训练期间训练一个小的视频适配器的Llama 3模型非常具有竞争力,并且在某些情况下甚至比那些可能从预训练阶段起就利用原生多模态处理的其他模型更好。考虑到我们仅评估8B和70B参数模型,Llama 3在视频识别上表现特别出色。Llama 3在PerceptionTest上的最佳表现表明该模型具有强大的复杂时间推理能力。在像ActivityNet-QA这样的长形式活动理解任务上,尽管模型每3秒仅处理一个帧(意味着3分钟长的视频仅处理最多64帧),Llama 3也能够获得强劲的结果。
8 语音实验
我们进行实验以研究将语音功能集成到Llama 3中的组合方法,类似于我们用于视觉识别的方法。在输入端,一个编码器与一个适配器一起被集成,用于处理语音信号。我们利用系统提示(文本形式)来启用Llama 3的不同模式的语音理解。如果没有提供系统提示,模型就作为一个通用的口语对话模型,能够有效地以与Llama 3仅文本版本一致的方式响应用户语音。对话历史被引入作为提示前缀,以改善多轮对话体验。我们还尝试使用系统提示启用Llama 3用于自动语音识别(ASR)和自动语音翻译(AST)。Llama 3的语音接口支持多达34种语言,还允许交错输入文本和语音,使模型能够解决高级音频理解任务。
图29 我们为Llama 3设计的语音接口的架构。
我们还尝试了一种语音生成方法,其中我们实现了一个流式文本转语音(TTS)系统,在语言模型解码过程中实时生成语音波形。我们设计的Llama 3语音生成器基于一个专有的TTS系统,并不对语言模型进行语音生成的微调。相反,我们专注于通过在推理时利用Llama 3的嵌入来改进语音合成的延迟、准确性和自然度。语音接口如图28和图29所示。
8.1 数据
8.1.1 语音理解
训练数据可分为两类:预训练数据和监督微调数据。预训练数据包含大量未标注的语音,用于以自监督的方式初始化语音编码器。监督微调数据包括语音识别、语音翻译和口语对话数据;这些数据在与大型语言模型集成时,解锁了特定的能力。
预训练数据。为了预训练语音编码器,我们精心挑选了一个包含大约1,500万小时语音录音的数据集,涵盖多种语言。我们使用语音活动检测(VAD)模型过滤音频数据,并选择VAD阈值高于0.7的音频样本进行预训练。在语音预训练数据中,我们还重点确保没有个人身份信息(PII)。我们使用Presidio Analyzer来识别此类PII。
语音识别和翻译数据。我们的ASR训练数据包含23万小时手动转录的语音录音,涵盖34种语言。我们的AST训练数据包含9万小时的双向翻译数据:从33种语言到英语以及从英语到33种语言。此数据包含使用NLLB工具包(NLLB团队等,2022)生成的监督数据和合成数据。使用合成AST数据使我们能够提高低资源语言的模型质量。数据中的语音片段最长为60秒。
口语对话数据。为了微调语音适配器以用于口语对话,我们通过要求语言模型响应这些提示的转录,合成生成语音提示的响应(Fathullah等,2024)。我们使用ASR数据集的一个子集(包含6万小时的语音)以这种方式生成合成数据。此外,我们通过对用于微调Llama 3的数据子集运行Voicebox TTS系统(Le等,2024),生成了25,000小时的合成数据。我们使用了几种启发式方法选择与语音分布匹配的微调数据子集。这些启发式方法包括关注结构简单且没有非文本符号的相对简短提示。
8.1.2 语音生成
语音生成数据集主要包括用于训练文本正则化(TN)模型和韵律模型(PM)的数据。这两个训练数据通过附加的Llama 3嵌入输入特征进行增强,以提供上下文信息。
文本正则化数据。我们的TN训练数据集包括55,000个样本,涵盖广泛的符号类(例如,数字、日期、时间),需要复杂的正则化。每个样本是一对书写形式文本和相应的规范化口语形式文本,具有执行规范化的手工制作的TN规则序列。
韵律模型数据。PM训练数据包括从一个5万小时的TTS数据集中提取的语言和韵律特征,这些特征是由专业配音演员在录音棚环境中录制的成对转录和音频。
Llama 3嵌入。Llama 3嵌入取自第16层解码器的输出。我们专门使用Llama 3 8B模型,并提取给定文本(即用于TN的书写形式输入文本或用于PM的音频转录)的嵌入,就像它们是由带有空用户提示的Llama 3模型生成的一样。在给定样本中,Llama 3token序列中的每个块与TN或PM的原生输入序列中的相应块明确对齐,即TN特定文本token(由unicode类别标示)或音素速率特征。这允许使用Llama 3token和嵌入的流式输入训练TN和PM模块。
8.2 模型架构
8.2.1 语音理解
在输入端,语音模块由两个连续的模块组成:语音编码器和适配器。语音模块的输出直接作为tokens表示输入到语言模型中,使语音和文本tokens能够直接交互。此外,我们引入了两个新的特殊tokens来封闭语音表示序列。语音模块与视觉模块(参见第7节)有显著不同,后者通过交叉注意层将多模态信息输入到语言模型中。相反,语音模块生成的嵌入能够与文本tokens无缝集成,使语音接口能够利用Llama 3语言模型的所有功能。
语音编码器。我们的语音编码器是一个具有10亿参数的Conformer模型(Gulati等,2020)。该模型的输入由80维的梅尔频谱图特征组成,这些特征首先通过一个stride-4堆叠层处理,然后通过线性投影将帧长度减少到40毫秒。处理后的特征由一个包含24个Conformer层的编码器处理。每个Conformer层具有1536的潜在维度,并由两个具有4096维度的Macron-net风格前馈网络、一个核大小为7的卷积模块和一个具有24个注意头的旋转注意模块(Su等,2024)组成。
语音适配器。语音适配器包含大约1亿参数。它由一个卷积层、一个旋转Transformer层和一个线性层组成。卷积层的核大小为3,步幅为2,设计用于将语音帧长度减少到80毫秒,从而使模型能够提供更粗粒度的特征给语言模型。Transformer层具有3072的潜在维度和4096维度的前馈网络,在卷积下采样后进一步处理来自语音的信息。最后,线性层将输出维度映射到与语言模型嵌入层匹配。
8.2.2 语音生成
在语音生成方面,我们在两个关键组件中使用了Llama 3 8B嵌入:文本规范化和韵律建模。TN模块通过上下文转换将书面文本转化为口语形式,确保语义的正确性。PM模块通过预测这些嵌入的韵律特征来增强自然性和表现力。两者结合,实现了准确而自然的语音生成。
文本规范化(Text normalization)。作为生成语音语义正确性的决定因素,文本规范化(TN)模块进行上下文感知的书面形式文本到口语形式的转换,最终由下游组件进行口头化。例如,书面形式的文本“123”根据语义上下文,可以读作基数(“一百二十三”)或逐位拼读(“一二三”)。TN系统由一个基于LSTM的流式序列标注模型组成,该模型预测用于转换输入文本的手工制作的TN规则序列(Kang等,2024)。神经模型还通过交叉注意引入Llama 3嵌入,以利用其中编码的上下文信息,实现最小文本tokens前瞻和流式输入/输出。
韵律建模(Prosody Modeling)。为了增强合成语音的自然性和表现力,我们集成了一个基于解码器的Transformer韵律模型(PM)(Radford等,2021),该模型将Llama 3嵌入作为额外输入。这种集成利用了Llama 3的语言能力,利用其文本输出和中间嵌入在tokens率(Devlin等,2018;Dong等,2019;Raffel等,2020;Guo等,2023)来增强韵律特征的预测,从而减少模型所需的前瞻。PM集成了多个输入组件以生成全面的韵律预测:从上述文本规范化前端衍生的语言特征、tokens和嵌入。PM预测三种关键的韵律特征:每个音素的日志持续时间、日志F0(基频)平均值和音素持续时间内的日志功率平均值。该模型包括一个单向Transformer和六个注意头。每个块包括交叉注意层和两个隐藏维度为864的全连接层。PM的一个显著特征是其双交叉注意机制,一个层专用于语言输入,另一个层专用于Llama嵌入。该设置有效地管理不同输入速率,而无需显式对齐。
8.3 训练方案
8.3.1 语音理解
语音模块的训练分为两个阶段。第一阶段,语音预训练,利用未tokens的数据训练出具有强泛化能力的语音编码器,适用于多种语言和声学条件。第二阶段,监督微调,将适配器和预训练的编码器与语言模型集成,并在LLM保持冻结的情况下进行联合训练,使模型能够响应语音输入。此阶段使用与语音理解能力相关的tokens数据。
多语言ASR和AST建模通常会导致语言混淆/干扰,从而导致性能下降。解决这一问题的常见方法是将语言识别(LID)信息同时引入源端和目标端。这可以在预定方向上提高性能,但可能会导致泛化能力下降。例如,如果翻译系统在源端和目标端都需要LID信息,那么模型在未见过的方向上的零样本性能可能较差。因此,我们的挑战是设计一个系统,在某种程度上允许LID信息,但又保持模型的足够泛化能力,以便在未见过的方向上进行语音翻译。为此,我们设计了仅包含目标端LID信息的系统提示。源端语音输入中没有LID信息,这也可能使其适用于代码切换的语音。对于ASR,我们使用以下系统提示:请跟我重复{language},其中{language}来自34种语言之一(英语、法语等)。对于语音翻译,系统提示是:请将以下句子翻译成{language}。这一设计在提示语言模型以期望的语言进行响应方面效果显著。我们在训练和推理过程中使用了相同的系统提示。
语音预训练。我们使用自监督的BEST-RQ算法(Chiu等,2022)预训练语音编码器。我们对输入梅尔频谱图应用一个32帧长度、2.5%概率的掩码。如果语音片段超过60秒,我们进行随机裁剪至6K帧,相当于60秒的语音。我们通过堆叠4个连续帧、将320维向量投影到16维空间,并在一个包含8192个向量的码书中执行最近邻搜索来量化梅尔频谱图特征。为了稳定预训练,我们使用了16个不同的码书。投影矩阵和码书随机初始化,并在模型训练过程中不更新。为了提高效率,多重软最大化损失仅在掩码帧上使用。编码器训练了50万步,全球批次大小为2048个语音片段。
监督微调。在监督微调阶段,预训练的语音编码器和随机初始化的适配器与Llama 3一起进一步进行联合优化。在此过程中,语言模型保持不变。训练数据是ASR、AST和口语对话数据的混合。Llama 3 8B的语音模型训练了65万次更新,全球批次大小为512个语音片段,初始学习率为10^-4。Llama 3 70B的语音模型训练了60万次更新,全球批次大小为768个语音片段,初始学习率为4×10^-5。
8.3.2 语音生成
为了支持实时处理,韵律模型采用了一种前瞻机制,该机制考虑了固定数量的未来音素和可变数量的未来tokens。这确保了在处理输入文本时的一致前瞻,对于低延迟语音合成应用至关重要。
训练。我们开发了一种利用因果掩蔽的动态对齐策略,以促进语音合成的流媒体化。这一策略在文本规范化(参见8.1.2节)过程中引入了一个固定数量的未来音素和可变数量的未来tokens的前瞻机制。对于每个音素,tokens的前瞻包括由块大小定义的最大tokens数,从而使Llama嵌入的前瞻可变,但音素的前瞻固定。Llama 3嵌入来自于Llama 3 8B模型,该模型在韵律模型的训练过程中保持冻结。输入的音素率特征包括语言和说话人/风格控制元素。模型训练的批次大小为1024个语音片段,每个片段最多包含500个音素。我们使用AdamW优化器,以9 × 10^−4的学习率进行训练,共进行100万次更新,前3000次更新进行学习率预热,随后采用余弦调度。
推理。在推理过程中,采用相同的前瞻机制和因果掩蔽策略,以确保训练和实时处理的一致性。PM以流媒体方式处理输入文本,音素率特征逐音素更新,tokens率特征逐块更新。新的块输入仅在该块的第一个音素当前时更新,保持训练期间的对齐和前瞻。为了韵律目标预测,我们采用了一种延迟模式方法(Kharitonov等,2021),这增强了模型捕捉和再现长距离韵律依赖关系的能力。这种方法有助于合成语音的自然性和表现力,确保低延迟和高质量输出。
8.4 语音理解结果
我们评估了Llama 3的语音接口在三项任务中的语音理解能力:(1)自动语音识别,(2)语音翻译,以及(3)口语问答。我们将Llama 3的语音接口与三种最新的语音理解模型进行了比较:Whisper(Radford等,2023),SeamlessM4T(Barrault等,2023)和Gemini。在所有评估中,我们使用贪婪搜索进行Llama 3tokens预测。
表31 我们语音接口在语音识别任务上的字错误率。我们报告了Whisper、SeamlessM4T和Gemini的性能作为参考。
语音识别。我们在多语言LibriSpeech(MLS;Pratap等,2020)、LibriSpeech(Panayotov等,2015)、VoxPopuli(Wang等,2021a)和多语言FLEURS数据集(Conneau等,2023)的英语数据集上评估ASR性能。在评估中,解码结果使用Whisper文本规范化器进行后处理,以确保与其他模型报告的结果一致。在所有基准测试中,我们测量了Llama 3语音接口在这些基准测试的标准测试集上的词错误率,中文、日语、韩语和泰语除外,报告字符错误率。表31展示了ASR评估的结果,表明Llama 3(以及更一般的多模态基础模型)在语音识别任务中表现出色:我们的模型在所有基准测试中均优于针对语音定制的模型如Whisper和SeamlessM4T。在MLS英语中,Llama 3的表现与Gemini相当。
表32 我们语音接口在语音翻译任务上的BLEU分数。我们报告了Whisper和SeamlessM4T的性能作为参考。
语音翻译。我们还评估了模型在语音翻译任务中的表现,模型被要求将非英语语音翻译成英语文本。在这些评估中,我们使用FLEURS和Covost 2(Wang等,2021b)数据集,测量翻译后英语的BLEU得分。表32展示了这些实验的结果。我们模型在语音翻译中的表现突显了多模态基础模型在语音翻译等任务中的优势。
图30 使用Llama 3语音接口的转录对话示例。这些示例展示了零样本多轮对话和代码切换能力。
口语问答。Llama 3的语音接口展示了显著的问答能力。模型可以轻松理解未经过训练的代码切换语音。值得注意的是,尽管模型仅在单轮对话上进行了训练,但它能够进行延长、连贯的多轮对话。图30展示了一些例子,突显了这些多语言和多轮对话的能力。
表33 我们语音接口在MuTox数据集上的语音毒性。AT指的是增加的毒性百分比(%),LT指的是减少的毒性百分比(%)。
安全性。我们在MuTox(Costa-jussà等,2023)上评估了我们的语音模型的安全性,这是一个包含英语和西班牙语的2万个语音片段和19种其他语言的4000个语音片段的多语言音频数据集,每个语音片段都有毒性标签。我们将音频作为输入传递给模型,并对输出进行毒性评估,清理一些特殊字符后应用MuTox分类器(Costa-jussà等,2023),并与Gemini 1.5 Pro的结果进行比较。我们评估了添加毒性百分比(AT,当输入提示安全但输出有毒时)和减少毒性百分比(LT,当输入提示有毒但输出安全时)。表33展示了英语和我们评估的21种语言的平均结果。添加毒性的百分比非常低:我们的语音模型在英语中的添加毒性百分比最低,不到1%。它移除的毒性显著多于添加的毒性。
8.5 语音生成结果
对于语音生成,我们重点评估了使用Llama 3嵌入的逐tokens输入流模型在文本规范化和韵律建模任务中的质量。评估重点是与不将Llama 3嵌入作为额外输入的模型进行比较。
表34 样本级文本标准化(TN)准确率。我们比较了使用或不使用Llama 3 8B嵌入以及不同右上下文值的模型。
文本规范化。为了衡量Llama 3嵌入的效果,我们进行了不同右上下文量的实验。我们训练了一个使用3个TNtokens(由Unicode类别划分)的右上下文的模型,并将其与不使用Llama 3嵌入的模型进行比较,这些模型使用3tokens右上下文或完整双向上下文。正如预期的那样,表34显示,使用完整右上下文可以提高不使用Llama 3嵌入模型的性能。然而,结合Llama 3嵌入的模型性能优于所有其他模型,从而实现了无需依赖输入长上下文的逐tokens率输入/输出流。
韵律建模。为了评估我们的韵律模型(PM)与Llama 3 8B的性能,我们进行了两组人工评估,比较了有和没有Llama 3嵌入的模型。评估者听取了来自不同模型的样本,并指出他们的偏好。为了生成最终的语音波形,我们使用了一个内部的基于Transformer的声学模型(Wu等,2021),预测频谱特征,并使用WaveRNN神经声码器(Kalchbrenner等,2018)生成最终的语音波形。
表35 韵律建模(PM)评估。左:评估员对Llama 3 8B与仅限流电话基线的PM的偏好。右:评估员对Llama 3 8B与非流电话基线的PM的偏好。
首先,我们直接与没有Llama 3嵌入的流媒体基线模型进行比较。在第二次测试中,Llama 3 8B PM与没有Llama 3嵌入的非流媒体基线模型进行比较。正如表35所示,与流媒体基线模型相比,Llama 3 8B PM在60%的情况下被偏好;与非流媒体基线模型相比,在63.6%的情况下被偏好,表明感知质量有显著提高。Llama 3 8B PM的主要优势在于其逐tokens流功能(见8.2.2节),在推理过程中保持低延迟。这减少了模型的前瞻需求,使其比非流媒体基线更具响应性和实时性。总体而言,Llama 3 8B韵律模型在自然性和表现力方面显著优于基线模型,证明了其在增强合成语音方面的有效性。
9 相关工作
Llama 3 的开发基于大量关于语言、图像、视频和语音的基础模型的先前研究。对于这些研究的全面概述超出了本文的范围,我们推荐读者参考Bordes等(2024)、Madan等(2024)、Zhao等(2023a)等人的综述。以下是一些直接影响Llama 3开发的重要工作简述。
9.1 语言
规模。Llama 3 延续了在基础模型中应用简单方法并不断扩展规模的趋势。改进是通过增加计算量和改进数据来实现的,405B模型的预训练计算预算几乎是Llama 2 70B的五十倍。尽管包含405B参数,我们最大的Llama 3实际上包含的参数比早期的低性能模型如PALM(Chowdhery等,2023)少得多,这归功于对缩放规律(Kaplan等,2020;Hoffmann等,2022)的更好理解。关于其他前沿模型如Claude 3或GPT-4(OpenAI, 2023a)的规模公开的信息很少,但总体性能是可比的。
小模型。小模型的发展与大模型的发展并行。参数较少的模型可以显著降低推理成本并简化部署(Mehta等,2024;Team等,2024)。较小的Llama 3模型通过远超计算最优训练点进行训练,有效地将训练计算量换取推理效率。另一种途径是将较大模型蒸馏为较小模型,如Phi(Abdin等,2024)。
架构。尽管Llama 3相较于Llama 2在架构上进行了最小的修改,其他近期的基础模型探索了其他设计。最显著的是专家混合架构(Shazeer等,2017;Lewis等,2021;Fedus等,2022;Zhou等,2022),这些架构可以作为一种有效的方法来增加模型的容量,如Mixtral(Jiang等,2024)和Arctic(Snowflake, 2024)。Llama 3的表现优于这些模型,这表明密集架构并不是限制因素,但在训练和推理效率以及模型稳定性方面仍然存在许多权衡。
开源。开源权重的基础模型在过去一年中迅速改进,Llama 3-405B现在可以与当前的封闭权重的最新技术水平相媲美。最近开发了许多模型家族,包括Mistral(Jiang等,2023)、Falcon(Almazrouei等,2023)、MPT(Databricks,2024)、Pythia(Biderman等,2023)、Arctic(Snowflake,2024)、OpenELM(Mehta等,2024)、OLMo(Groeneveld等,2024)、StableLM(Bellagente等,2024)、OpenLLaMA(Geng和Liu,2023)、Qwen(Bai等,2023)、Gemma(Team等,2024)、Grok(XAI,2024)和Phi(Abdin等,2024)。
后训练。后训练Llama 3遵循指令微调(Chung等,2022;Ouyang等,2022)和与人类反馈对齐的既定策略(Kaufmann等,2023)。虽然一些研究显示了轻量级对齐程序的出乎意料的有效性(Zhou等,2024),Llama 3使用数百万条人类指令和偏好判断来改进预训练模型,包括拒绝采样(Bai等,2022)、监督微调(Sanh等,2022)和直接偏好优化(Rafailov等,2023)等技术。为了策划这些指令和偏好示例,我们部署了Llama 3的早期版本来过滤(Liu等,2024c)、重写(Pan等,2024)或生成提示和响应(Liu等,2024b),并在多轮后训练中应用这些技术。
9.2 多模态
我们在Llama 3上进行的多模态功能实验是基础模型联合建模多种模态的长期研究的一部分。
图像。大量研究在大量图像-文本对上训练图像识别模型,例如,Mahajan等(2018);Xiao等(2024a);Team(2024);OpenAI(2023b)。Radford等(2021)提出了第一个通过对比学习联合嵌入图像和文本的模型。最近,一系列模型研究了类似于Llama 3的方法,例如,Alayrac等(2022);Dai等(2023);Liu等(2023c,b);Yang等(2023b);Ye等(2023);Zhu等(2023)。我们在Llama 3中的方法结合了这些论文中的许多想法,达到了与Gemini 1.0 Ultra(Google,2023)和GPT-4 Vision(OpenAI,2023b)相媲美的结果;参见7.6节。
视频。尽管越来越多的基础模型支持视频输入(Google,2023;OpenAI,2023b),但关于视频和语言联合建模的研究并不多。类似于Llama 3,大多数当前的研究采用适配器方法来对齐视频和语言表示,并解锁关于视频的问答和推理(Lin等,2023;Li等,2023a;Maaz等,2024;Zhang等,2023;Zhao等,2022)。我们发现这些方法产生的结果与最新技术水平相当;参见7.7节。
语音。我们的工作也适应于将语言和语音建模结合的大量工作。早期的文本和语音联合模型包括AudioPaLM(Rubenstein等,2023)、VioLA(Wang等,2023b)、VoxtLM Maiti等(2023)、SUTLM(Chou等,2023)和Spirit-LM(Nguyen等,2024)。我们的工作基于之前将语音和语言结合的组成方法,如Fathullah等(2024)。与大多数之前的工作不同,我们选择不为语音任务微调语言模型本身,因为这样做可能会导致非语音任务的争用。我们发现,在更大模型规模下,即使不进行这样的微调,也能获得强大的性能;参见8.4节。
10 结论
高质量基础模型的发展在许多方面仍处于初级阶段。在开发Llama 3的过程中,我们发现这类模型在未来很可能会取得实质性的进一步突破。在Llama 3模型家族的开发过程中,我们发现专注于高质量数据、规模和简洁性能持续带来最佳效果。我们在初步实验中探索了更复杂的模型架构和训练方案,但发现这些方法带来的收益不足以抵消它们在模型开发中引入的额外复杂性。
开发如Llama 3这样的旗舰基础模型不仅需要攻克大量深层技术难题,还需要做出巧妙的组织决策。例如,为确保Llama 3不会在常用基准测试上过拟合,我们安排了一个独立团队负责预训练数据的采集和处理,该团队被强烈激励以防止预训练数据被外部基准测试污染。另一个例子是,为保证人工评估的可信度,我们仅允许少数不参与模型开发的研究人员进行和访问这些评估。尽管这些组织决策在技术论文中很少被讨论,但我们发现它们对于成功开发Llama 3模型家族至关重要。
我们分享开发过程的细节,是因为我们相信这将:(1)帮助更广泛的研究社区理解基础模型开发的关键因素,(2)促进公众对基础模型未来的更深入讨论。我们还分享了将多模态能力集成到Llama 3中的初步实验结果。虽然这些模型仍在积极开发中,尚未准备好发布,但我们希望通过提前分享我们的结果来加速这一方向的研究。
基于本文详尽的安全分析结果,我们公开发布了Llama 3语言模型,以加速AI系统在众多社会相关应用中的发展,并使研究社区能够审查我们的模型,找出改进这些模型的方法,使其更加安全。我们相信,基础模型的公开发布在这些模型的负责任发展中发挥着关键作用。我们希望Llama 3的发布能够鼓励业界拥抱开放、负责任的通用人工智能(AGI)发展道路。
--【本文完】---
近期受欢迎的文章:
更多交流,可添加本人微信
(请附姓名/单位/关注领域)





