Meta Llama 3.1 多语言大型语言模型(LLM)系列包含 8B、70B 和 405B 三种规模的预训练及指令微调生成式模型(文本输入/文本输出)。Llama 3.1 指令微调纯文本模型(8B、70B、405B)针对多语言对话场景进行了优化,在常见行业基准测试中表现优于众多现有的开源及闭源聊天模型。
模型开发者:Meta
模型架构:Llama 3.1 是一种自回归语言模型,采用优化的 transformer 架构。微调版本通过监督微调(SFT)和基于人类反馈的强化学习(RLHF)来对齐人类对有用性和安全性的偏好。
| 训练数据 | 参数规模 | 输入模态 | 输出模态 | 上下文长度 | 分组查询注意力(GQA) | 令牌数量 | 知识截止日期 | |
| Llama 3.1(纯文本) | 新的公开可用在线数据混合体。 | 8B | 多语言文本 | 多语言文本和代码 | 128k | 是 | 15T+ | 2023 年 12 月 |
| 70B | 多语言文本 | 多语言文本和代码 | 128k | 是 | ||||
| 405B | 多语言文本 | 多语言文本和代码 | 128k | 是 |
支持语言:英语、德语、法语、意大利语、葡萄牙语、印地语、西班牙语和泰语。
Llama 3.1 模型系列:令牌数量仅指预训练数据。所有模型版本均使用分组查询注意力(GQA)以提高推理可扩展性。
模型发布日期:2024 年 7 月 23 日。
状态:这是一个在离线数据集上训练的静态模型。随着我们借助社区反馈改进模型安全性,未来将发布微调模型的更新版本。
许可证:自定义商业许可证,即 Llama 3.1 社区许可证,可在以下地址获取:https://github.com/meta-llama/llama-models/blob/main/models/llama3_1/LICENSE
有关如何就模型提供反馈或评论的说明,请参见模型 README。如需有关生成参数的更多技术信息以及如何在应用程序中使用 Llama 3.1 的方法,请访问 此处。
预期使用场景 Llama 3.1 旨在用于多种语言的商业和研究用途。仅文本指令调优模型适用于类助手聊天场景,而预训练模型可适配各种自然语言生成任务。Llama 3.1 模型系列还支持利用其模型输出来改进其他模型,包括合成数据生成和知识蒸馏。Llama 3.1 社区许可证允许上述使用场景。
超出范围 以任何违反适用法律法规(包括贸易合规法律)的方式使用。以任何其他被《可接受使用政策》和《Llama 3.1 社区许可证》禁止的方式使用。在本模型卡片明确提及的支持语言之外的语言中使用**。
注意:Llama 3.1 的训练语言范围比 8 种支持语言更广泛。开发人员可以针对 8 种支持语言之外的语言对 Llama 3.1 模型进行微调,前提是他们遵守《Llama 3.1 社区许可证》和《可接受使用政策》,并且在这种情况下,有责任确保在其他语言中使用 Llama 3.1 时是以安全且负责任的方式进行的。
本仓库包含 Meta-Llama-3.1-70B 的两个版本,分别用于 transformers 和原始 llama 代码库。
从 transformers >= 4.43.0 版本开始,您可以使用 Transformers 的 pipeline 抽象或通过 generate() 函数利用 Auto 类来运行对话推理。
请确保通过 pip install --upgrade transformers 更新您的 transformers 安装。
>>> import transformers
>>> import torch
>>> model_id = "meta-llama/Meta-Llama-3.1-70B"
>>> pipeline = transformers.pipeline(
"text-generation", model=model_id, model_kwargs={"torch_dtype": torch.bfloat16}, device_map="auto"
)
>>> pipeline("Hey how are you doing today?")llama3 配合使用请按照 代码仓库 中的说明操作。
如需下载原始检查点,可参考以下使用 huggingface-cli 的示例命令:
huggingface-cli download meta-llama/Meta-Llama-3.1-70B --include "original/*" --local-dir Meta-Llama-3.1-70B训练要素 我们使用了自定义训练库、Meta 定制的 GPU 集群以及生产基础设施进行预训练。微调、标注和评估也在生产基础设施上完成。
训练累计使用了 3930 万 GPU 小时的计算资源,基于 H100-80GB(TDP 为 700W)类型硬件,如下表所示。训练时间是训练每个模型所需的总 GPU 时间,功耗是每台 GPU 设备的峰值功率容量,并已根据能源使用效率进行调整。
训练温室气体排放 训练产生的基于位置的温室气体排放总量估计为 11,390 吨二氧化碳当量。自 2020 年起,Meta 已在其全球运营中实现温室气体净零排放,并 100% 使用可再生能源匹配其电力消耗,因此训练产生的基于市场的温室气体排放总量为 0 吨二氧化碳当量。
| 训练时间(GPU 小时) | 训练功耗(W) | 训练基于位置的温室气体排放
(吨二氧化碳当量) | 训练基于市场的温室气体排放
(吨二氧化碳当量) | |
| Llama 3.1 8B | 146 万 | 700 | 420 | 0 |
| Llama 3.1 70B | 700 万 | 700 | 2,040 | 0 |
| Llama 3.1 405B | 3084 万 | 700 | 8,930 | 0 |
| 总计 | 3930 万 |
| 11,390 | 0 |
用于确定训练能源使用和温室气体排放的方法可参见 此处。由于 Meta 公开发布了这些模型,其他人将不会产生相关的训练能源消耗和温室气体排放。
概述: Llama 3.1 的预训练基于约 15 万亿个来自公开可用来源的 tokens。微调数据包括公开可用的指令数据集,以及超过 2500 万个 synthetically generated examples。
数据时效性: 预训练数据的截止日期为 2023 年 12 月。
在本节中,我们报告 Llama 3.1 模型在标准自动基准测试中的结果。所有评估均使用我们的内部评估库进行。
| 类别 | 基准测试 | 提示次数(# Shots) | 指标 | Llama 3 8B | Llama 3.1 8B | Llama 3 70B | Llama 3.1 70B | Llama 3.1 405B |
| 通用 | MMLU | 5 | macro_avg/acc_char | 66.7 | 66.7 | 79.5 | 79.3 | 85.2 |
| MMLU-Pro (CoT) | 5 | macro_avg/acc_char | 36.2 | 37.1 | 55.0 | 53.8 | 61.6 | |
| AGIEval English | 3-5 | average/acc_char | 47.1 | 47.8 | 63.0 | 64.6 | 71.6 | |
| CommonSenseQA | 7 | acc_char | 72.6 | 75.0 | 83.8 | 84.1 | 85.8 | |
| Winogrande | 5 | acc_char | - | 60.5 | - | 83.3 | 86.7 | |
| BIG-Bench Hard (CoT) | 3 | average/em | 61.1 | 64.2 | 81.3 | 81.6 | 85.9 | |
| ARC-Challenge | 25 | acc_char | 79.4 | 79.7 | 93.1 | 92.9 | 96.1 | |
| 知识推理 | TriviaQA-Wiki | 5 | em | 78.5 | 77.6 | 89.7 | 89.8 | 91.8 |
| 阅读理解 | SQuAD | 1 | em | 76.4 | 77.0 | 85.6 | 81.8 | 89.3 |
| QuAC (F1) | 1 | f1 | 44.4 | 44.9 | 51.1 | 51.1 | 53.6 | |
| BoolQ | 0 | acc_char | 75.7 | 75.0 | 79.0 | 79.4 | 80.0 | |
| DROP (F1) | 3 | f1 | 58.4 | 59.5 | 79.7 | 79.6 | 84.8 |
| 类别 | 基准测试 | 提示次数 | 指标 | Llama 3 8B Instruct | Llama 3.1 8B Instruct | Llama 3 70B Instruct | Llama 3.1 70B Instruct | Llama 3.1 405B Instruct |
| 通用 | MMLU | 5 | macro_avg/acc | 68.5 | 69.4 | 82.0 | 83.6 | 87.3 |
| MMLU(思维链) | 0 | macro_avg/acc | 65.3 | 73.0 | 80.9 | 86.0 | 88.6 | |
| MMLU-Pro(思维链) | 5 | micro_avg/acc_char | 45.5 | 48.3 | 63.4 | 66.4 | 73.3 | |
| IFEval | 76.8 | 80.4 | 82.9 | 87.5 | 88.6 | |||
| 推理 | ARC-C | 0 | acc | 82.4 | 83.4 | 94.4 | 94.8 | 96.9 |
| GPQA | 0 | em | 34.6 | 30.4 | 39.5 | 41.7 | 50.7 | |
| 代码 | HumanEval | 0 | pass@1 | 60.4 | 72.6 | 81.7 | 80.5 | 89.0 |
| MBPP ++ 基础版 | 0 | pass@1 | 70.6 | 72.8 | 82.5 | 86.0 | 88.6 | |
| Multipl-E HumanEval | 0 | pass@1 | - | 50.8 | - | 65.5 | 75.2 | |
| Multipl-E MBPP | 0 | pass@1 | - | 52.4 | - | 62.0 | 65.7 | |
| 数学 | GSM-8K(思维链) | 8 | em_maj1@1 | 80.6 | 84.5 | 93.0 | 95.1 | 96.8 |
| MATH(思维链) | 0 | final_em | 29.1 | 51.9 | 51.0 | 68.0 | 73.8 | |
| 工具使用 | API-Bank | 0 | acc | 48.3 | 82.6 | 85.1 | 90.0 | 92.0 |
| BFCL | 0 | acc | 60.3 | 76.1 | 83.0 | 84.8 | 88.5 | |
| Gorilla Benchmark API Bench | 0 | acc | 1.7 | 8.2 | 14.7 | 29.7 | 35.3 | |
| Nexus(零样本) | 0 | macro_avg/acc | 18.1 | 38.5 | 47.8 | 56.7 | 58.7 | |
| 多语言 | 多语言 MGSM(思维链) | 0 | em | - | 68.9 | - | 86.9 | 91.6 |
| 类别 | 基准测试 | 语言 | Llama 3.1 8B | Llama 3.1 70B | Llama 3.1 405B |
| 通用 | MMLU(5次提示,macro_avg/acc) | 葡萄牙语 | 62.12 | 80.13 | 84.95 |
| 西班牙语 | 62.45 | 80.05 | 85.08 | ||
| 意大利语 | 61.63 | 80.4 | 85.04 | ||
| 德语 | 60.59 | 79.27 | 84.36 | ||
| 法语 | 62.34 | 79.82 | 84.66 | ||
| 印地语 | 50.88 | 74.52 | 80.31 | ||
| 泰语 | 50.32 | 72.95 | 78.21 |
作为我们负责任发布方法的一部分,我们采用了三管齐下的策略来管理信任与安全风险:
Llama是一项基础技术,旨在用于各种用例。关于Meta的Llama模型如何被负责任地部署的示例,可以在我们的社区故事网页中找到。我们的方法是构建最有帮助的模型,通过针对通用用例调整模型安全性以应对一系列标准危害,使世界能够从技术力量中受益。然后,开发者可以主导为其特定用例定制安全性,定义自己的政策,并在其Llama系统中部署必要的安全措施。Llama 3.1的开发遵循了我们《负责任使用指南》中概述的最佳实践,您可以参考负责任使用指南了解更多信息。
我们进行安全微调的主要目标是为研究社区提供一个宝贵的资源,用于研究安全微调的稳健性,并为开发者提供一个现成、安全且强大的模型,以用于各种应用,从而减少开发者部署安全AI系统的工作量。有关已实施的安全缓解措施的更多详细信息,请阅读Llama 3论文。
微调数据
我们采用多方面的数据收集方法,将来自供应商的人工生成数据与合成数据相结合,以减轻潜在的安全风险。我们开发了许多基于大型语言模型(LLM)的分类器,使我们能够深思熟虑地选择高质量的提示和响应,从而增强数据质量控制。
拒绝与语气
在Llama 3已开展工作的基础上,我们非常重视模型对良性提示的拒绝以及拒绝语气。我们的安全数据策略中包含了边界和对抗性提示,并修改了安全数据响应以遵循语气指南。
大型语言模型(包括Llama 3.1)并非设计为孤立部署,而是应作为整体AI系统的一部分进行部署,并根据需要配备额外的安全防护措施。 开发者在构建智能体系统时,应部署系统安全防护措施。安全防护措施是实现适当的有用性-安全性平衡以及缓解系统固有的安全和安保风险,以及模型或系统与外部工具集成所带来的风险的关键。
作为我们负责任发布方法的一部分,我们为社区提供了安全防护措施,开发者在部署Llama模型或其他LLM时应使用这些措施,包括Llama Guard 3、Prompt Guard和Code Shield。我们所有的参考实现演示都默认包含这些安全防护措施,因此开发者可以开箱即用地受益于系统级别的安全性。
请注意,此版本引入了新功能,包括更长的上下文窗口、多语言输入和输出,以及开发者可能与第三方工具的集成。利用这些新功能进行构建时,除了适用于所有生成式AI用例的最佳实践外,还需要考虑特定因素。
工具使用:与标准软件开发一样,开发者负责将LLM与其选择的工具和服务集成。他们应为其用例定义明确的政策,并评估所使用的第三方服务的完整性,以了解使用此功能时的安全和安保限制。有关第三方安全防护措施安全部署的最佳实践,请参考《负责任使用指南》。
多语言能力:Llama 3.1除英语外还支持7种语言:法语、德语、印地语、意大利语、葡萄牙语、西班牙语和泰语。Llama可能能够输出除那些达到安全性和有用性性能阈值的语言之外的其他语言文本。我们强烈建议开发者不要使用此模型在非支持语言中进行对话,除非实施了符合其政策以及《负责任使用指南》中分享的最佳实践的微调与系统控制。
我们针对常见用例和特定能力对 Llama 模型进行了评估。常见用例评估旨在衡量系统在构建最常见应用(包括聊天机器人、代码助手、工具调用)时的安全风险。我们构建了专门的对抗性评估数据集,并对由 Llama 模型和 Llama Guard 3 组成的系统进行了评估,以过滤输入提示和输出响应。在具体场景中评估应用程序至关重要,因此我们建议为您的特定用例构建专门的评估数据集。如果与应用相关,Prompt Guard 和 Code Shield 也可供使用。
能力评估旨在衡量 Llama 模型在特定能力方面的固有脆弱性,为此我们精心设计了专门的基准测试,包括长上下文、多语言、工具调用、编码或记忆能力。
红队测试
针对上述两种场景,我们开展了定期的红队测试,旨在通过对抗性提示发现风险,并利用所得经验改进我们的基准测试和安全调优数据集。
我们提前与关键风险领域的主题专家合作,以了解这些现实世界危害的性质,以及此类模型可能如何对社会造成意外伤害。基于这些对话,我们为红队制定了一系列对抗性目标,例如提取有害信息或对模型进行重新编程以使其以潜在有害的方式运行。红队成员包括网络安全、对抗性机器学习、负责任 AI 和信息完整性方面的专家,以及在特定地理市场具有信息完整性问题背景的多语言内容专家。
我们特别致力于缓解以下关键风险领域:
1. CBRNE(化学、生物、放射、核及爆炸物)辅助性
为评估化学和生物武器扩散相关风险,我们进行了提升测试,旨在评估使用 Llama 3.1 模型是否会显著增强恶意行为者规划或实施使用此类武器进行攻击的能力。
2. 儿童安全
儿童安全风险评估由专家团队进行,以评估模型生成可能导致儿童安全风险的输出的能力,并通过微调确定任何必要和适当的风险缓解措施。在 Llama 3 模型开发过程中,我们利用这些专家红队测试会话扩展了评估基准的覆盖范围。对于 Llama 3,我们采用基于目标的方法进行了新的深入会话,以沿着多个攻击向量评估模型风险,包括 Llama 3 所训练的其他语言。我们还与内容专家合作进行红队测试,评估潜在违规内容,同时考虑特定市场的细微差别或经验。
3. 网络攻击赋能
我们的网络攻击提升研究调查了 LLM 是否能在黑客任务中增强人类能力,包括技能水平和速度方面。
我们的攻击自动化研究侧重于评估 LLM 作为自主代理在网络攻击行动中的能力,特别是在勒索软件攻击场景中。此评估与以往将 LLM 视为交互式助手的研究不同。主要目标是评估这些模型是否能在没有人工干预的情况下有效作为独立代理执行复杂的网络攻击。
我们针对 Llama-3.1-405B 对网络攻击者的社会工程学提升研究,旨在评估 AI 模型在协助网络威胁行为者进行鱼叉式网络钓鱼活动方面的有效性。有关更多信息,请阅读我们的 Llama 3.1 网络安全白皮书。
生成式AI的安全保障离不开专业知识与工具支持,我们坚信开放社区的力量能够加速这一领域的发展进程。我们积极参与各类开放联盟,包括AI联盟(AI Alliance)、人工智能合作组织(Partnership on AI)和机器学习公共协会(MLCommons),为安全标准化和透明度建设贡献力量。我们鼓励社区采用诸如MLCommons概念验证评估等分类体系,以促进安全与内容评估方面的协作与透明。我们的Purple Llama工具已开源,供社区使用,并通过云服务提供商等生态系统合作伙伴广泛分发。我们欢迎社区通过我们的Github仓库贡献力量。
我们还设立了Llama Impact Grants计划,旨在发掘并支持将Meta的Llama模型应用于社会公益的最具潜力项目,涵盖教育、气候和开放创新三大领域。从数百份申请中脱颖而出的20名决赛者名单可在此处查看。
最后,我们提供了一系列资源,包括输出报告机制和漏洞奖励计划,旨在借助社区的力量持续改进Llama技术。
Llama 3.1的核心价值观是开放、包容与实用。它旨在服务每一个人,并适用于广泛的使用场景。因此,其设计力求让不同背景、经历和观点的人群都能便捷使用。Llama 3.1关注用户的真实需求,避免不必要的评判或规范性引导,同时认识到某些在特定情况下可能看似有问题的内容,在其他场景下也能发挥重要价值。它尊重所有用户的尊严与自主权,尤其珍视推动创新与进步的自由思想和表达价值。
然而,Llama 3.1作为一项新技术,与其他任何新技术一样,其使用也伴随着风险。迄今为止的测试尚未涵盖,也不可能涵盖所有可能的场景。因此,与所有大型语言模型(LLMs)一样,Llama 3.1的潜在输出无法提前预测,在某些情况下,模型可能会对用户提示产生不准确、有偏见或其他令人不适的响应。因此,在部署任何基于Llama 3.1模型的应用之前,开发者应针对其特定应用场景进行定制化的安全测试与调优。请参考我们提供的负责任使用指南、信任与安全解决方案以及其他资源,以了解更多负责任开发的相关信息。