现代人工智能(AI)系统是由基础模型提供动力的。本文提出了一套新的基础模型,称为Llama 3。它是一群原生支持多语言、代码、推理和工具使用的语言模型。我们最大的模型是一个稠密的变压器,具有405B参数和高达128K tokens的上下文窗口。本文对Llama 3进行了广泛的实证评价。我们发现,Llama 3在大量任务上提供了与GPT-4等领先语言模型相当的水平。我们公开发布了Llama 3,包括预训练和后训练的405B参数语言模型的版本,以及我们的Llama Guard 3模型的输入和输出安全。本文还介绍了我们通过合成方法将图像、视频和语音能力整合到Llama 3中的实验结果。我们观察到,这种方法在图像、视频和语音识别任务上与最先进的方法相竞争。生成的模型还没有被广泛发布,因为它们还在开发中。

1 Introduction

基础模型是语言、视觉、语音和/或其他模式的通用模型,它们被设计用来支持大量的人工智能任务。它们构成了许多现代人工智能系统的基础。

现代基础模型的发展包括两个主要阶段:

  1. 预训练阶段:模型在大规模训练使用直接任务如单词预测或字幕
  2. 后训练阶段:模型调整遵循指令,符合人类的偏好,提高特定的能力(例如,编码和推理)

在本文中,我们提出了一套新的语言基础模型,称为Llama 3。Llama 3群模型原生支持多语言、编码、推理和工具使用。我们最大的模型是具有405B参数的密集Transformer,在高达128K令牌的上下文窗口中处理信息。表1列出了模型群中的每个成员。本文中给出的所有结果都是针对Llama 3.1模型的,为了简洁起见,我们将其称为Llama 3。

表 1:模型Llama3模型群概述. 本文中的所有结果都是针对 Llama 3.1 模型

我们相信在开发高质量的基础模型中有三个关键因素:数据、规模和管理复杂性。我们试图在开发过程中优化这三个杠杆:

  • 数据:与之前版本的Llama(Touvron et al.,2023a, b)相比,我们改进了用于训练前和训练后的数据的数量和质量。这些改进包括为培训前数据开发更仔细的预处理和管理管道,以及为培训后数据开发更严格的质量保证和过滤方法。我们在一个大约15T个多语言标记的语料库上对Llama 3进行了预训练,而Llama 2的标记为1.8T
  • 规模:我们训练了一个比以前的Llama模型更大的模型:我们的旗舰语言模型使用3.8×1025片段进行预训练,比最大的版本多了近50×。具体来说,我们在15.6T文本标记上预先训练了一个具有40个5B可训练参数的旗舰模型。正如预期的那样基础模型的缩放定律,我们的旗舰模型优于使用相同程序训练的较小模型。虽然我们的缩放定律表明我们的旗舰模型对于我们的训练预算来说是一个近似计算最优的大小,但我们也训练我们的较小模型比计算最优模型长得多。在相同的推理预算下,得到的模型的性能优于计算最优模型。我们使用旗舰模型来进一步提高训练后这些较小模型的质量。
  • 管理复杂性:我们做出设计选择,试图最大化我们扩展模型开发过程的能力。例如,我们选择了一个标准的稠密 Transformer 模型架构(Vaswani et al., 2017),并进行了轻微的调整,而不是专家混合模型(Shazeer et al., 2017)以最大化训练稳定性。同样,我们采用了相对简单的基于监督微调 (SFT)、拒绝采样 (RS) 和直接偏好优化 (DPO; Rafailov et al. (2023)) 的后训练过程,而不是更复杂的强化学习算法 (Ouyang et al., 2022; Schulman et al., 2017),它们往往不太稳定,更难扩展。

我们工作的结果是 Llama 3:三个具有 8B70B405B参数的多语言模型的 herd。我们在跨越广泛语言理解任务的众多基准数据集上评估 Llama 3 的性能。此外,我们执行广泛的人工评估,将 Llama 3 与竞争模型进行比较。

表 2:微调 Llama 3 模型在关键基准评估上的性能。该表比较了 Llama 3 的 8B70B405B版本与竞争模型的性能。我们将三个模型大小等价类中的每一个中表现最好的模型加粗。△表示使用 5-shot 提示(无 CoT)获得的结果。◁表示没有 CoT获得的结果。♢表示使用零样本提示获得的 9.9% 结果

表2给出了旗舰Llama 3模型在关键基准上的性能概述。我们的实验评估表明,我们的旗舰模型在各种任务上的表现与GPT-4 (OpenAI, 2023a)等领先语言模型相当,并且接近于与最先进的匹配。我们的较小模型是最好的,优于具有相似参数数量的替代模型(Bai et al., 2023; Jiang et al., 2023)。Llama 3 也比其前身在有用性和无害性之间提供了更好的平衡(Touvron 等人、2023b)。我们在第 5.4 节中详细分析了 Llama 3 的安全性。

我们在 Llama 3 社区许可证的更新版本下公开发布所有三个 Llama 3 模型;参见 https://llama.meta.com。这包括我们的 405B 参数语言模型的预训练和训练后版本以及我们的 Llama Guard 模型的新版本 (Inan et al., 2023) 用于输入和输出安全。我们希望旗舰模型的公开发布将推动研究界的创新浪潮,并加速迈向人工智能 (AGI) 发展的原因路径。

作为 Llama 3 开发过程的一部分,我们还为模型开发了多模态扩展,实现了图像识别、视频识别和语音理解能力。这些模型仍处于积极发展阶段,尚未准备好发布。除了我们的语言建模结果之外,本文还展示了我们对这些多模态模型的初步实验的结果。


2 General Overview

图 1:Llama 3 的整体架构和训练说明。Llama 3 是一个 Transformer 语言模型,经过训练可以预测文本序列的下一个标记。有关详细信息,请参阅文本。

Llama 3 的模型架构如图 1 所示。我们的 Llama 3 语言模型的开发包括两个主要阶段:

语言模型预训练。我们首先将大型多语言文本语料库转换为离散标记,并在结果数据上预训练大型语言模型 (LLM) 以执行下一个标记预测。在语言模型预训练阶段,模型学习语言的结构,并从“阅读”的文本中获取关于世界的大量知识。为了有效地做到这一点,预训练是大规模执行的:我们使用 8K 标记的上下文窗口在 15.6T 令牌上预训练具有 405B 参数的模型。这个标准的预训练阶段之后是一个持续的预训练阶段,它将支持的上下文窗口增加到 128K 个标记。有关详细信息,请参阅第 3 节。

语言模型后训练。预训练的语言模型对语言有丰富的理解,但它还没有按照我们期望助手的方式遵循指令或行为。我们将模型与多轮人工反馈对齐,每一轮都涉及指令调整数据和直接偏好优化 (DPO; Rafailov et al., 2024) 上的监督微调 (SFT)。在这个训练后 2 阶段,我们还整合了新功能,例如工具使用,并观察到其他领域的显着改进,例如编码和推理。有关详细信息,请参阅第 4 节。最后,在预训练阶段还将安全缓解纳入模型中,其细节在第 5.4 节中描述。