今天,我们介绍了 Meta Llama 3,这是我们尖端开源大型语言模型的下一代产品。
Llama 3 模型将很快在 AWS、Databricks、Google Cloud、Hugging Face、Kaggle、IBM WatsonX、Microsoft Azure、NVIDIA NIM 和 Snowflake 上提供,并且得到了 AMD、AWS、Dell、Intel、NVIDIA 和高通提供的硬件平台的支持。我们致力于以负责任的方式开发 Llama 3,并提供各种资源帮助他人也负责任地使用它。这包括引入新的信赖和安全工具,如 Llama Guard 2、Code Shield 和 CyberSec Eval 2。在接下来的几个月里,我们预计将引入新的能力、更长的上下文窗口、额外的模型尺寸和增强的性能,并将分享 Llama 3 的研究论文。使用 Llama 3 技术构建的 Meta AI,现在是世界上领先的 AI 助手之一,可以提升您的智能并减轻您的负担——帮助您学习、完成工作、创造内容并连接起来,充分利用每一个时刻。您可以在这里尝试 Meta AI。
今天,我们很高兴分享下一代 Llama 的前两个模型,Meta Llama 3,可供广泛使用。此版本功能包括具有 8B 和 70B 参数的预训练和指令微调语言模型,可以支持广泛的用例范围。这一代 Llama 在广泛的行业基准测试上展示了最先进的性能,并提供了新的能力,包括改进的推理能力。我们相信这些是同类中最好的开源模型,就是这样。为了支持我们长期的开放方法,我们将 Llama 3 交到社区手中。我们希望启动 AI 栈中下一波创新——从应用程序到开发工具,再到评估和推理优化等。我们迫不及待地想看看您将构建什么,并期待您的反馈。
Llama 3 的目标
通过 Llama 3,我们的目标是构建与当今最好的专有模型相媲美的最佳开放模型。我们希望解决开发者的反馈,提高 Llama 3 的整体有用性,同时继续在负责任地使用和部署 LLMs 方面发挥领导作用。我们采用开源精神,尽早且频繁地发布,以便社区能够在模型仍在开发时就获得这些模型的访问权限。我们今天发布的基于文本的模型是 Llama 3 系列模型中的第一个。我们的目标是在不久的将来使 Llama 3 多语言和多模态,具有更长的上下文,并继续提高核心 LLM 能力(如推理和编码)的整体性能。
最先进的性能
我们的新 8B 和 70B 参数 Llama 3 模型是 Llama 2 的重大飞跃,并为这些规模的 LLM 模型树立了新的行业标准。由于预训练和后训练的改进,我们的预训练和指令微调模型是迄今为止在 8B 和 70B 参数规模上最好的模型。我们在后训练程序中的改进大大减少了错误拒绝率,提高了一致性,并增加了模型响应的多样性。我们还看到推理、代码生成和指令遵循等能力的极大提高,使 Llama 3 更易于控制。

请参见评估细节,了解这些评估是如何在特定的设置和参数下计算的。
在开发 Llama 3 时,我们考虑了模型在标准基准测试上的性能,并寻求优化真实世界场景下的性能。为此,我们开发了一套新的高质量人类评估集。这个评估集包含 1,800 个提示,涵盖 12 个关键用例:寻求建议、头脑风暴、分类、封闭式问答、编码、创意写作、提取、扮演角色/人物、开放式问答、推理、改写和总结。为了防止我们的模型在评估集上意外过拟合,即使是我们自己的建模团队也无法访问它。下面的图表显示了我们在这些类别和提示上的人类评估的汇总结果,与 Claude Sonnet、Mistral Medium 和 GPT-3.5 进行了比较。

基于这个评估集的人类注释者偏好排名突出了我们 70B 指令遵循模型在真实世界场景中与相似规模的竞争模型相比的强劲性能。
我们的预训练模型也在这些规模的 LLM 模型中树立了新的行业标准。

请参见评估细节,了解这些评估是如何在特定的设置和参数下计算的。
为了开发一个伟大的语言模型,我们认为创新、扩展和优化以简化为重要。我们在 Llama 3 项目中始终采用了这种设计哲学,并专注于四个关键要素:模型架构、预训练数据、扩展预训练和指令微调。
模型架构
为了与我们的设计哲学保持一致,我们在 Llama 3 中选择了相对标准的仅解码器变换器架构。与 Llama 2 相比,我们进行了几项关键改进。Llama 3 使用了一个包含 128K 个令牌的分词器,这种分词器对语言的编码效率更高,从而显著提高了模型性能。为了提高 Llama 3 模型的推理效率,我们在 8B 和 70B 尺寸上都采用了分组查询注意力(GQA)。我们使用 8,192 个令牌的序列训练模型,并使用掩码确保自注意力不会跨越文档边界。
训练数据
为了训练最好的语言模型,策划一个大型、高质量的训练数据集至关重要。为了与我们的设计原则保持一致,我们在预训练数据上投入了大量资金。Llama 3 在超过 15T 的令牌上进行了预训练,所有这些令牌都是从公开可用的来源收集的。我们的训练数据集是 Llama 2 使用的数据集的七倍,并且包含了四倍的代码。为了准备即将到来的多语言用例,超过 5% 的 Llama 3 预训练数据集由涵盖超过 30 种语言的高质量非英语数据组成。然而,我们预计这些语言的性能不会达到英语的水平。
为了确保 Llama 3 在最高质量数据上进行训练,我们开发了一系列数据过滤管道。这些管道包括使用启发式过滤器、NSFW 过滤器、语义去重方法和文本分类器来预测数据质量。我们发现,Llama 的前几代在识别高质量数据方面出奇地好,因此我们使用 Llama 2 为 Llama 3 的文本质量分类器生成训练数据。
我们还进行了广泛的实验,以评估在我们的最终预训练数据集中混合不同来源数据的最佳方式。这些实验使我们能够选择一个数据混合,确保 Llama 3 在包括琐事问题、STEM、编码、历史知识等在内的用例中表现良好。
扩展预训练
为了在 Llama 3 模型中有效地利用我们的预训练数据,我们投入了大量精力来扩展预训练。具体来说,我们为下游基准评估开发了一系列详细的扩展法则。这些扩展法则使我们能够选择一个最优的数据混合,并就如何最好地使用我们的训练计算做出明智的决策。重要的是,扩展法则允许我们在实际训练模型之前预测我们最大模型在关键任务上的性能(例如,在 HumanEval 基准上评估的代码生成——见上文)。这有助于我们确保最终模型在各种用例和能力上的强大性能。
在开发 Llama 3 的过程中,我们对扩展行为进行了几项新的观察。例如,对于一个 8B 参数模型,Chinchilla 优化的训练计算量对应于约 200B 令牌,我们发现即使在模型训练了两个数量级更多的数据之后,模型性能仍在继续提高。我们的 8B 和 70B 参数模型在训练了多达 15T 令牌后,继续以对数线性提高。更大的模型可以以较少的训练计算匹配这些较小模型的性能,但通常更倾向于使用较小的模型,因为它们在推理期间效率更高。
为了训练我们最大的 Llama 3 模型,我们结合了三种类型的并行化:数据并行化、模型并行化和流水线并行化。我们最有效的实现在 16K GPU 同时训练时,每个 GPU 的计算利用率超过 400 TFLOPS。我们在两个定制的 24K GPU 集群上进行了训练运行。为了最大化 GPU 的正常运行时间,我们开发了一个新的高级训练栈,该栈自动化错误检测、处理和维护。我们还大大提高了硬件的可靠性,并改进了静默数据损坏的检测机制,我们开发了新的可扩展存储系统,减少了检查点和回滚的开销。这些改进使 Llama 3 的整体有效训练时间超过 95%。总体而言,这些改进将 Llama 3 训练的效率提高了约三倍,与 Llama 2 相比。
指令微调
为了充分释放我们的预训练模型在聊天用例中的潜力,我们也对我们的指令调整方法进行了创新。我们对后训练的方法是监督式微调(SFT)、拒绝采样、近端策略优化(PPO)和直接策略优化(DPO)的结合。在 SFT 中使用的提示和在 PPO 和 DPO 中使用的偏好排名对对齐模型的性能有着巨大的影响。模型质量
的一些最大改进来自于精心策划这些数据,并在人类注释者提供的注释上进行多轮质量保证。
通过 PPO 和 DPO 学习偏好排名也极大地提高了 Llama 3 在推理和编码任务上的性能。我们发现,如果你问模型一个它难以回答的推理问题,模型有时会产生正确的推理轨迹:模型知道如何产生正确的答案,但它不知道如何选择它。在偏好排名上的训练使模型学会如何选择。
使用 Llama 3 构建
我们的愿景是使开发人员能够定制 Llama 3 以支持相关用例,并使采用最佳实践和改善开放生态系统更加容易。在此版本中,我们提供了新的信赖和安全工具,包括更新的 Llama Guard 2 和 Cybersec Eval 2 的组件,并引入了 Code Shield——一个用于过滤由 LLMs 生成的不安全代码的推理时护栏。
我们还与 torchtune 共同开发了 Llama 3,torchtune 是一个新的 PyTorch 原生库,用于轻松编写、微调和实验大型语言模型。torchtune 提供了完全用 PyTorch 编写的内存高效和可黑客训练配方。该库与 Hugging Face、Weights & Biases 和 EleutherAI 等流行平台集成,甚至支持 Executorch,以便在各种移动和边缘设备上高效运行推理。从提示工程到使用 LangChain 与 Llama 3,我们有一个全面的入门指南,从下载 Llama 3 一直到在您的生成型 AI 应用程序中大规模部署。
系统级的责任方法
我们设计了 Llama 3 模型,以在确保以行业领先的方式负责任地部署它们的同时,尽可能地提供帮助。为了实现这一点,我们对 Llama 的负责任开发和部署采取了新的系统级方法。我们设想 Llama 模型是更广泛系统的一部分,该系统将开发人员置于驾驶座。Llama 模型将作为一个基础部分,开发人员将根据其独特的最终目标设计系统。

指令微调在确保我们模型的安全性方面也起着重要作用。我们的指令微调模型已经通过内部和外部的努力进行了红队(测试)安全。我们的红队方法利用人类专家和自动化方法生成对抗性提示,以引出有问题的响应。例如,我们应用全面的测试来评估与化学、生物、网络安全等风险领域相关的滥用风险。所有这些努力都是迭代的,并用于指导正在发布的模型的安全微调。您可以在模型卡中阅读更多关于我们努力的信息。
Llama Guard 模型旨在成为提示和响应安全的基石,并可以轻松微调以创建新的分类,以适应应用需求。作为一个起点,新的 Llama Guard 2 使用最近宣布的 MLCommons 分类法,以支持这一重要领域的行业标准的发展。此外,CyberSecEval 2 在其前身的基础上增加了措施,包括 LLM 的代码解释器滥用倾向、攻击性网络安全能力,以及对提示注入攻击的易感性(在我们的技术论文中了解更多)。最后,我们引入了 Code Shield,它增加了对 LLMs 生成的不安全代码在推理时的过滤支持。这提供了对不安全代码建议的风险缓解、代码解释器滥用预防和安全命令执行。
随着生成型 AI 领域的快速发展,我们认为开放的方法是将生态系统聚集在一起并减轻这些潜在危害的重要方式。作为其中的一部分,我们正在更新我们的负责任使用指南(RUG),该指南提供了一份关于使用 LLMs 进行负责任开发的全面指南。正如我们在 RUG 中概述的,我们建议根据适用于应用程序的内容指南检查和过滤所有输入和输出。此外,许多云服务提供商提供内容审核 API 和其他工具以负责任地部署,我们鼓励开发人员也考虑使用这些选项。
大规模部署 Llama 3
Llama 3 将很快在所有主要平台上提供,包括云提供商、模型 API 提供商等。Llama 3 将无处不在。
我们的基准测试显示,分词器提供了改进的令牌效率,与 Llama 2 相比,令牌数量最多减少了 15%。此外,分组查询注意力(GQA)现在也已添加到 Llama 3 8B 中。因此,我们观察到尽管模型比 Llama 2 7B 多出 10 亿参数,但由于改进的分词器效率和 GQA 的贡献,推理效率与 Llama 2 7B 相当。
要了解如何利用所有这些能力,请查看 Llama Recipes,其中包含我们所有的开源代码,可以用于从微调到部署到模型评估的一切。
Llama 3 的未来
Llama 3 的 8B 和 70B 模型标志着我们计划为 Llama 3 发布的开始。还有更多的内容即将到来。
我们最大的模型超过 400B 参数,虽然这些模型仍在训练中,但我们的团队对它们的发展趋势感到兴奋。在接下来的几个月里,我们将发布具有新能力、多模态、能够用多种语言进行对话、更长的上下文窗口和更强大整体能力的多个模型。一旦我们完成 Llama 3 的训练,我们还将发布一份详细的研究论文。
为了让您预览这些模型在继续训练时的当前状况,我们想分享一些我们最大的 LLM 模型的发展趋势快照。请注意,这些数据基于仍在训练中的 Llama 3 的早期检查点,这些能力不是今天发布的模型的一部分。

请参见评估细节,了解这些评估是如何在特定的设置和参数下计算的。
我们致力于持续增长和发展一个开放的 AI 生态系统,以负责任地发布我们的模型。我们长期以来一直认为,开放性会带来更好、更安全的产品,更快的创新,以及一个更健康的市场。这对 Meta 有好处,对社会也有好处。我们正在采取以社区为先的方法与 Llama 3,从今天开始,这些模型将在领先的云、托管和硬件平台上提供,未来还会有更多。