介绍 Meta Llama 3:迄今为止最强大的开源大语言模型 [译]
要点:
-
今天,我们正在介绍 Meta Llama 3,我们最先进的下一代开源大语言模型。
-
Llama 3 模型很快将在 AWS, Databricks, Google Cloud, Hugging Face, Kaggle, IBM WatsonX, Microsoft Azure, NVIDIA NIM, 和 Snowflake 上可用,并得到 AMD, AWS, Dell, Intel, NVIDIA, 和 Qualcomm 提供的硬件平台的支持。
-
我们致力于以负责任的方式开发 Llama 3,并提供各种资源帮助其他人也能负责任地使用它。这包括引入新的信任与安全工具,如 Llama Guard 2, Code Shield, 和 CyberSec Eval 2。
-
在未来几个月,我们期待引入新能力,更长的上下文窗口,更多的模型尺寸,并提升性能,我们将分享 Llama 3 研究论文。
-
Meta AI,搭载 Llama 3 技术,现已成为世界领先的 AI 智能体之一,它可以增强你的智能并减轻你的负担——帮助你学习、完成任务、创造内容,并连接,充分利用每一刻。你可以在这里尝试 Meta AI。
今天,我们非常高兴地向大家展示下一代 Llama 的首两个模型——Meta Llama 3,该模型现可供广泛使用。这一版本包括了预训练及指令微调的语言模型,拥有 8 亿和 70 亿参数,适用于多种场景。Meta Llama 3 在众多行业标准测试中都表现优异,新增了包括更好的推理功能在内的多项能力。我们认为,这些模型是其同类中最优秀的开源模型。为了继续我们的开放策略,我们把 Llama 3 提供给了全球开发者社区。我们期待它能激发 AI 领域中从应用开发到工具创新再到优化评估等各方面的新浪潮。我们非常期待看到你们的创意作品并收到你们的反馈。
对于 Llama 3 的期望
通过 Llama 3,我们的目标是打造出能与市面上最优秀的专有模型媲美的顶级开源模型。我们希望通过增强 Llama 3 的实用性来回应开发者的反馈,并持续引领负责任的使用和部署大语言模型的行业标准。我们秉承开源的精神,主张“早发布,频繁更新”,让社区能在模型还在开发阶段就能使用这些先进工具。今天发布的这些基于文本的模型是 Llama 3 系列中的初步成果。我们计切在不远的未来让 Llama 3 支持多语言和多模态交互,提供更长的处理上下文,并在推理和编程等核心技术上持续优化性能。
领先技术性能
新的 8 亿和 70 亿参数的 Llama 3 模型在技术上大幅超越了 Llama 2,重新定义了大语言模型的性能标准。通过在预训练及后续优化中的持续改进,这些模型已成为当前参数规模下最优秀的选择。后续优化有效降低了误判率,提高了模型的准确性和回答的多样性。同时,我们还显著提升了模型在逻辑推理、代码生成及指令执行等方面的能力,使得 Llama 3 的可控性更强。
* 有关这些评估的具体设置和参数,请参考 评估细节。
在开发 Llama 3 的过程中,我们不仅测试了其在标准基准上的表现,更针对现实世界的应用场景进行了性能优化。为了达到这个目的,我们创建了一个包含 1,800 个场景的高质量人工评估库,涵盖了 12 个关键领域:寻求建议,创意生成,分类任务,简答题,编程相关,文艺创作,信息提取,角色扮演,解答开放性问题,逻辑推理,文本重写及内容摘要。为了避免模型过度适应这一评估库,连我们自己的模型团队也无法访问它。下图汇总了我们在这些领域和场景下,通过人工评估与 Claude Sonnet, Mistral Medium 和 GPT-3.5 的对比结果。
在这组评估中,根据人类评审员的偏好排行,我们的 70B 指令响应型模型 (instruction-following model) 在真实场景中的表现,明显优于其他同类大型模型。
同时,我们的预训练模型也重新定义了同类大语言模型 (LLM) 的最高标准。
* 请查阅 评估细节 获取这些评估的具体设置和参数信息。
为了打造优秀的语言模型,创新、规模扩张和追求简洁是我们认为的关键。在 Llama 3 项目中,我们以此理念为指导,专注于模型架构、预训练数据的扩充、预训练过程的扩展以及指令性微调四个主要领域。
模型架构
在我们的设计理念指导下,我们为 Llama 3 选择了一个基本的只包含解码器的 Transformer 架构。相较于 Llama 2, Llama 3 在几个关键方面进行了改进:它采用了一个包含 128,000 个词汇的 Tokenizer,显著提高了语言处理的效率,并大幅度提升了模型的整体性能。为了进一步优化 Llama 3 的推理速度,我们在其 8B 和 70B 模型中引入了分组查询注意力机制 (GQA)。这些模型都是在长度为 8192 Token 的文本序列上训练的,我们使用了掩码技术来保证模型的注意力机制不会跨越文档边界。
训练数据
打造顶级的语言模型,需要大量高质量的训练数据。为此,我们在预训练阶段投入了巨大的资源。Llama 3 的训练基于超过 15 万亿 Token,这些 Token 全部来自公开的数据源。这个数据集是 Llama 2 的七倍大,含有的代码量是其四倍。考虑到未来的多语言应用,我们的预训练数据中超过 5% 是覆盖 30 多种语言的高质量非英语数据。不过,这部分数据的性能可能无法与英语相匹配。
为确保 Llama 3 的训练数据质量上乘,我们设计了多种数据过滤策略,包括启发式过滤、不宜公开内容过滤 (NSFW),语义去重和使用文本分类技术预估数据质量。经过测试,我们发现早期 Llama 模型在挑选高质量数据上有惊人的准确度,因此我们利用 Llama 2 来生成训练用的文本质量分类数据,以支持 Llama 3 的运算需求。
我们还做了大量实验来找出最佳的数据混合策略,以确保 Llama 3 在处理各种情境时,如常识问答、科技、编程及历史知识等,都能有出色的表现。
扩大预训练的规模
为了充分发挥我们在 Llama 3 模型预训练中的数据优势,我们特别加大了预训练的力度。具体而言,我们制定了一套详细的扩展规则,用于评估下游任务的性能。这些规则不仅帮助我们选择最合适的数据组合,还能指导我们如何高效利用训练资源。最重要的是,这些规则使我们能够在实际训练之前,预测大型模型在关键任务上的表现(如在 HumanEval 基准上评估的代码生成)。这确保了我们最终模型在多种场景下都能维持出色的性能。
在开发 Llama 3 期间,我们发现了一些有关规模扩大的新现象。比如,虽然一个 8B 参数模型理想的训练规模是大约 200B Token,但实际上模型的表现在数据量增加后还能继续提升。无论是 8B 还是 70B 的模型,都在数据量达到 15T Token 后继续展现出逐步提升的趋势。大型模型能够在更少的训练消耗下达到这些小模型的性能水平,但小型模型由于在处理速度上更高效,通常更受青睐。
为了训练我们规模最大的 Llama 3 模型,我们采用了数据并行、模型并行和流水线并行三种技术。在 16K GPU 的协作下,我们的训练效率达到了每个 GPU 400 TFLOPS 的高效率。我们还在两个专门构建的 24K GPU 集群上进行了训练,这些集群专门为此开发。我们设计了一种新的训练系统,通过自动化错误监测和处理,大大提升了 GPU 的有效工作时间。同时,我们在硬件可靠性和数据保护方面也做了大量改进,新的存储系统有效减少了数据回溯的需要。所有这些提升使得我们的训练效率比之前提高了大约三倍。
指令的微调过程
为了最大化我们的预训练模型在聊天应用中的潜能,我们对指令式微调方法也进行了创新。我们采用的后期训练策略包括监督式微调(SFT),拒绝样本法,近端策略优化(PPO)和直接策略优化(DPO)。这些方法中,SFT 使用的提示信息质量及 PPO 和 DPO 使用的偏好排序对模型的性能影响很大。我们通过精心设计这些数据并对人工标注的质量进行多轮审核,显著提高了模型的质量。
通过 PPO 和 DPO 进行的偏好排序学习也显著提升了 Llama 3 在解决推理和编程问题的能力。我们发现,当模型面对一个难以解答的推理问题时,它有时能找到正确的思考路径:模型知道如何得出正确的答案,但却不清楚如何选择正确答案。偏好排序的训练帮助模型学会了如何作出选择。
利用 Llama 3 实现创新
我们希望开发者能够根据需要定制 Llama 3,从而支持相关的应用场景,并更容易地采用最佳实践,从而提升开放生态系统。这次更新我们提供了包括 Llama Guard 2 和 Cybersec Eval 2 在内的新的信任与安全工具,还有 Code Shield —— 一个能在执行时过滤不安全代码的新功能。
我们还与 torchtune 合作开发了 Llama 3,这是一个专为 PyTorch 设计的新库,让大语言模型的编写、微调和实验变得简单。torchtune 提供了一系列高效且可定制的训练方案,这些都是用 PyTorch 实现的。这个库已经与 Hugging Face、Weights & Biases 和 EleutherAI 等热门平台进行了整合,还支持在多种移动及边缘设备上进行高效推理的 Executorch。从入门到专业使用,我们为你提供了一份详尽的 入门指南,帮你从下载 Llama 3 开始,一直到在你的生成式 AI 应用中的大规模部署。
系统级的责任感
我们开发的 Llama 3 模型,不仅功能强大,更在行业中率先采用了一种负责任的部署策略。为了实现这一点,我们引入了一种全新的系统级策略,专注于 Llama 的负责任开发与部署。在我们的设想中,Llama 模型是一个更大系统的核心部分,这个系统允许开发者自主设计,以实现他们的独特目标。
此外,指令微调对确保模型安全至关重要。我们经过内外多方测试的指令微调模型,通过“红队测试”确认其安全性。这种测试方法结合了人工和自动化技术,生成可能引发问题的对抗性提示。例如,我们对可能被滥用的化学、生物、网络安全等风险进行了详细测试。这些是循环往复的测试过程,旨在优化即将发布模型的安全特性。更多详细信息,请参阅我们的模型卡。
Llama Guard 模型是设计来增强提示和响应的安全性的基础,可以轻松根据不同的应用需求进行调整以形成新的分类标准。例如,最新的 Llama Guard 2 采用了最近公布的 MLCommons 分类标准,这是为了推动行业标准在这一关键领域的设立。此外,CyberSecEval 2 在原有基础上进一步发展,增设了几项新措施,用来衡量大语言模型可能导致的代码滥用、网络攻击能力及对提示注入攻击的敏感度(详见我们的技术论文)。同时,我们也推出了 Code Shield,新增了一个功能,能在推断阶段过滤掉不安全的代码,有效减轻相关风险,确保代码执行的安全。
在生成式 AI 快速发展的今天,我们认为采取一个开放的策略是整合各方力量、减少潜在风险的关键。因此,我们更新了负责任使用指南,提供了一份全面的大语言模型开发指南。如指南中所述,我们建议对所有的输入和输出进行严格的内容审核,确保它们符合应用的标准。我们还建议开发者利用云服务商提供的内容审核 API 和其他工具来负责任地部署技术。
Llama 3 的大规模部署
不久后,Llama 3 将在包括云服务和模型 API 服务在内的各大平台上线。Llama 3 将遍布各处。
我们的基准测试表明,新的 tokenizer 在效率上有显著提升,相较于 Llama 2,它能够减少多达 15% 的 token 数量。同时,Group Query Attention (GQA) 也被引入到了 Llama 3 8B 版本中。因此,虽然新模型的参数比 Llama 2 7B 多出了 1B,但得益于 tokenizer 的优化和 GQA 的支持,其推理效率仍可与 Llama 2 7B 持平。
想知道如何发挥这些功能的全部潜力吗?请访问 Llama Recipes,你将找到我们提供的全部开源代码,涵盖从微调到部署,再到模型评估等各个阶段。
Llama 3 的未来展望是什么?
Llama 3 的 8B 和 70B 版本只是我们计划中的冰山一角。未来还有更多精彩等待揭晓。
我们最大的模型已达 400B 参数规模,尽管目前还在训练中,但团队对其发展趋势感到十分振奋。未来几个月,我们将陆续推出具备新功能的多个模型,包括能够处理多种模态、支持多语言交流、提供更长上下文窗口和更强大的综合性能的模型。待 Llama 3 训练完毕,我们还会发布一篇深入的研究论文。
我们还想提前透露一下,关于这些模型目前的训练进展,以下是我们最大的 LLM 模型的最新动态。请注意,这些数据仅代表 Llama 3 在早期阶段的一个检查点,目前发布的模型尚未支持这些新功能。
* 更多关于评估的设置和参数,请参阅 评估细节。
我们一直致力于发展一个开放并负责任的 AI 生态系统,坚信开放能带来更优秀的产品,推动创新,同时也让市场更健康。这不仅有利于 Meta,对社会也大有裨益。今天起,我们以社区为核心,开始在各大云服务和硬件平台推广 Llama 3。
立刻体验 Meta Llama 3
我们已把最新的 Llama 3 技术整合到 Meta AI 中,打造出领先的全球 AI 智能体。现在,你可以在更多国家通过我们的应用程序使用这一技术。
Meta AI 可通过 Facebook, Instagram, WhatsApp, Messenger 和 网页使用,帮你完成各种任务,学习新知,创造内容,和你关心的事物连接。更多关于 Meta AI 的信息,欢迎访问 此处。
你可以在 Llama 3 官网 下载这些模型,并查看 入门指南 以获取更多平台信息。
不久后,你还可以在我们的 Ray-Ban Meta 智能眼镜上试用多模态 Meta AI。
我们期待与你一起,用 Meta Llama 3 创造更多精彩的产品和体验。