模型简介
模型特点
模型能力
使用案例
🚀 Meta Llama 3.2 多语言大语言模型
Meta Llama 3.2 是一系列多语言大语言模型,提供 1B 和 3B 大小的预训练和指令调优生成模型。这些模型针对多语言对话用例进行了优化,在常见行业基准测试中表现出色,适用于商业和研究领域。
🚀 快速开始
使用 transformers
库
从 transformers >= 4.43.0
版本开始,你可以使用 transformers
的 pipeline
抽象或利用 Auto
类的 generate()
函数进行对话推理。
确保通过 pip install --upgrade transformers
更新你的 transformers
库。
import torch
from transformers import pipeline
model_id = "meta-llama/Llama-3.2-3B-Instruct"
pipe = pipeline(
"text-generation",
model=model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
)
messages = [
{"role": "system", "content": "You are a pirate chatbot who always responds in pirate speak!"},
{"role": "user", "content": "Who are you?"},
]
outputs = pipe(
messages,
max_new_tokens=256,
)
print(outputs[0]["generated_text"][-1])
注意:你还可以在 huggingface-llama-recipes
中找到有关如何在本地使用模型、使用 torch.compile()
、辅助生成、量化等详细方法。
使用 llama
库
请遵循 仓库 中的说明。
要下载原始检查点,请参考以下使用 huggingface-cli
的示例命令:
huggingface-cli download meta-llama/Llama-3.2-3B-Instruct --include "original/*" --local-dir Llama-3.2-3B-Instruct
✨ 主要特性
- 多语言支持:官方支持英语、德语、法语、意大利语、葡萄牙语、印地语、西班牙语和泰语,并且在更广泛的语言数据集上进行了训练。
- 优化架构:采用优化的变压器架构,调优版本使用监督微调(SFT)和基于人类反馈的强化学习(RLHF),以符合人类对有用性和安全性的偏好。
- 高性能表现:在多个标准自动基准测试中,Llama 3.2 模型的表现优于许多现有的开源和闭源聊天模型。
📦 安装指南
确保通过 pip install --upgrade transformers
更新你的 transformers
库。
💻 使用示例
基础用法
import torch
from transformers import pipeline
model_id = "meta-llama/Llama-3.2-3B-Instruct"
pipe = pipeline(
"text-generation",
model=model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
)
messages = [
{"role": "system", "content": "You are a pirate chatbot who always responds in pirate speak!"},
{"role": "user", "content": "Who are you?"},
]
outputs = pipe(
messages,
max_new_tokens=256,
)
print(outputs[0]["generated_text"][-1])
📚 详细文档
模型信息
属性 | 详情 |
---|---|
模型开发者 | Meta |
模型架构 | Llama 3.2 是一种自回归语言模型,使用优化的变压器架构。调优版本使用监督微调(SFT)和基于人类反馈的强化学习(RLHF)。 |
支持语言 | 英语、德语、法语、意大利语、葡萄牙语、印地语、西班牙语和泰语。 |
模型发布日期 | 2024 年 9 月 25 日 |
状态 | 这是一个在离线数据集上训练的静态模型,未来可能会发布改进模型能力和安全性的版本。 |
许可证 | 使用 Llama 3.2 受 Llama 3.2 社区许可证 (自定义商业许可协议)的约束。 |
反馈 | 有关模型的问题或评论,请参考模型 README。有关生成参数和如何在应用程序中使用 Llama 3.2 的详细技术信息,请访问 此处。 |
预期用途
- 预期用例:Llama 3.2 适用于多语言的商业和研究用途。指令调优的纯文本模型适用于类似助手的聊天和代理应用,如知识检索和摘要、移动 AI 写作助手以及查询和提示重写。预训练模型可用于各种自然语言生成任务。
- 超出范围:禁止以任何违反适用法律法规(包括贸易合规法律)的方式使用。禁止以违反可接受使用政策和 Llama 3.2 社区许可证的方式使用。禁止在本模型卡未明确支持的语言中使用。
硬件和软件
- 训练因素:使用自定义训练库、Meta 定制的 GPU 集群和生产基础设施进行预训练。微调、注释和评估也在生产基础设施上进行。
- 训练能源使用:训练总共使用了 H100 - 80GB(TDP 为 700W)类型硬件的 916k GPU 小时计算资源。
- 训练温室气体排放:估计基于位置的总温室气体排放量为 240 吨 CO2eq。自 2020 年以来,Meta 在全球运营中实现了净零温室气体排放,并使用可再生能源满足 100% 的电力需求,因此基于市场的总温室气体排放量为 0 吨 CO2eq。
训练数据
Llama 3.2 在来自公开可用来源的多达 9 万亿个标记的数据上进行了预训练。对于 1B 和 3B 的 Llama 3.2 模型,在模型开发的预训练阶段融入了 Llama 3.1 8B 和 70B 模型的逻辑。预训练数据的截止日期为 2023 年 12 月。
基准测试 - 英语文本
基础预训练模型
类别 | 基准测试 | 样本数 | 指标 | Llama 3.2 1B | Llama 3.2 3B | Llama 3.1 8B |
---|---|---|---|---|---|---|
通用 | MMLU | 5 | macro_avg/acc_char | 32.2 | 58 | 66.7 |
AGIEval English | 3 - 5 | average/acc_char | 23.3 | 39.2 | 47.8 | |
ARC - Challenge | 25 | acc_char | 32.8 | 69.1 | 79.7 | |
阅读理解 | SQuAD | 1 | em | 49.2 | 67.7 | 77 |
QuAC (F1) | 1 | f1 | 37.9 | 42.9 | 44.9 | |
DROP (F1) | 3 | f1 | 28.0 | 45.2 | 59.5 | |
长上下文 | Needle in Haystack | 0 | em | 96.8 | 1 | 1 |
指令调优模型
能力 | 基准测试 | 样本数 | 指标 | Llama 3.2 1B | Llama 3.2 3B | Llama 3.1 8B |
---|---|---|---|---|---|---|
通用 | MMLU | 5 | macro_avg/acc | 49.3 | 63.4 | 69.4 |
重写 | Open - rewrite eval | 0 | micro_avg/rougeL | 41.6 | 40.1 | 40.9 |
摘要 | TLDR9+ (test) | 1 | rougeL | 16.8 | 19.0 | 17.2 |
指令遵循 | IFEval | 0 | avg(prompt/instruction acc loose/strict) | 59.5 | 77.4 | 80.4 |
数学 | GSM8K (CoT) | 8 | em_maj1@1 | 44.4 | 77.7 | 84.5 |
MATH (CoT) | 0 | final_em | 30.6 | 47.3 | 51.9 | |
推理 | ARC - C | 0 | acc | 59.4 | 78.6 | 83.4 |
GPQA | 0 | acc | 27.2 | 32.8 | 32.8 | |
Hellaswag | 0 | acc | 41.2 | 69.8 | 78.7 | |
工具使用 | BFCL V2 | 0 | acc | 25.7 | 67.0 | 70.9 |
Nexus | 0 | macro_avg/acc | 13.5 | 34.3 | 38.5 | |
长上下文 | InfiniteBench/En.QA | 0 | longbook_qa/f1 | 20.3 | 19.8 | 27.3 |
InfiniteBench/En.MC | 0 | longbook_choice/acc | 38.0 | 63.3 | 72.2 | |
NIH/Multi - needle | 0 | recall | 75.0 | 84.7 | 98.8 | |
多语言 | MGSM (CoT) | 0 | em | 24.5 | 58.2 | 68.9 |
多语言基准测试
类别 | 基准测试 | 语言 | Llama 3.2 1B | Llama 3.2 3B | Llama 3.1 8B |
---|---|---|---|---|---|
通用 | MMLU (5 - shot, macro_avg/acc) | 葡萄牙语 | 39.82 | 54.48 | 62.12 |
西班牙语 | 41.5 | 55.1 | 62.5 | ||
意大利语 | 39.8 | 53.8 | 61.6 | ||
德语 | 39.2 | 53.3 | 60.6 | ||
法语 | 40.5 | 54.6 | 62.3 | ||
印地语 | 33.5 | 43.3 | 50.9 | ||
泰语 | 34.7 | 44.5 | 50.3 |
责任与安全
负责任的部署
- 方法:Llama 是一种基础技术,旨在用于各种用例。有关 Meta 的 Llama 模型如何负责任地部署的示例,请参考我们的 社区故事网页。我们的方法是构建最有用的模型,通过使模型安全适应通用用例并解决一系列标准危害,让世界受益于这项技术。开发者可以根据自己的用例定制安全性,定义自己的政策并在 Llama 系统中部署必要的保障措施。Llama 3.2 是按照我们 负责任使用指南 中概述的最佳实践开发的。
- Llama 3.2 指令调优:主要目标是为研究社区提供研究安全微调鲁棒性的有价值资源,为开发者提供适用于各种应用的安全强大模型,减轻开发者部署安全 AI 系统的工作量。我们实施了与 Llama 3 相同的安全缓解措施,更多信息可参考 Llama 3 论文。
- Llama 3.2 系统:大型语言模型(包括 Llama 3.2)不应单独部署,而应作为整体 AI 系统的一部分,并根据需要添加额外的安全护栏。开发者在构建代理系统时应部署系统保障措施。保障措施对于实现正确的有用性 - 安全性平衡以及减轻系统固有的安全和风险至关重要。作为负责任发布方法的一部分,我们为社区提供了 保障措施,开发者应将其与 Llama 模型或其他大语言模型一起部署,包括 Llama Guard、Prompt Guard 和 Code Shield。我们所有的 参考实现 演示默认包含这些保障措施,以便开发者可以立即受益于系统级安全。
新功能和用例
- 技术进步:Llama 版本通常会引入新功能,除了适用于所有生成式 AI 用例的最佳实践外,还需要特定的考虑因素。对于 Llama 3.2 也支持的先前版本功能,请参考 Llama 3.1 模型卡,因为这里也适用相同的考虑因素。
- 受限环境:Llama 3.2 的 1B 和 3B 模型预计将部署在高度受限的环境中,如移动设备。使用较小模型的大语言模型系统与更复杂的大型系统相比,具有不同的对齐配置文件和安全性/有用性权衡。开发者应确保其系统的安全性符合其用例的要求。我们建议为此类用例使用更轻量级的系统保障措施,如 Llama Guard 3 - 1B 或其针对移动设备优化的版本。
评估
- 大规模评估:我们构建了专门的对抗性评估数据集,并评估了由 Llama 模型和 Purple Llama 保障措施组成的系统,以过滤输入提示和输出响应。在上下文中评估应用程序非常重要,我们建议为你的用例构建专门的评估数据集。
- 红队测试:我们定期进行红队测试,目标是通过对抗性提示发现风险,并利用这些经验改进我们的基准测试和安全调优数据集。我们与关键风险领域的专家合作,了解这些现实世界危害的性质以及此类模型如何可能对社会造成意外危害。基于这些对话,我们为红队设定了一系列对抗性目标,如提取有害信息或重新编程模型以潜在地造成危害。红队由网络安全、对抗性机器学习、负责任 AI 和完整性方面的专家以及具有特定地理市场完整性问题背景的多语言内容专家组成。
关键风险
- CBRNE(化学、生物、放射、核和爆炸武器):Llama 3.2 的 1B 和 3B 模型是 Llama 3.1 的较小且能力较弱的衍生模型。对于 Llama 3.1 的 70B 和 405B 模型,为了评估与化学和生物武器扩散相关的风险,我们进行了提升测试,以评估使用 Llama 3.1 模型是否会显著增加恶意行为者使用此类武器计划或实施攻击的能力,并确定此类测试也适用于较小的 1B 和 3B 模型。
- 儿童安全:使用专家团队进行了儿童安全风险评估,以评估模型产生可能导致儿童安全风险的输出的能力,并通过微调提供必要和适当的风险缓解措施。我们利用这些专家红队测试会话,通过 Llama 3 模型开发扩展了评估基准的覆盖范围。对于 Llama 3,我们使用基于目标的方法进行了新的深入会话,以评估模型在多个攻击向量上的风险,包括 Llama 3 训练的其他语言。我们还与内容专家合作进行红队测试,评估潜在违规内容,同时考虑特定市场的细微差别或经验。
- 网络攻击:对于 Llama 3.1 的 405B 模型,我们的网络攻击提升研究调查了大语言模型是否可以在技能水平和速度方面增强人类在黑客任务中的能力。我们的攻击自动化研究专注于评估大语言模型作为自主代理在网络攻击行动中的能力,特别是在勒索软件攻击的背景下。此评估与之前将大语言模型视为交互式助手的研究不同。主要目标是评估这些模型是否可以在没有人类干预的情况下有效地作为独立代理执行复杂的网络攻击。由于 Llama 3.2 的 1B 和 3B 模型比 Llama 3.1 的 405B 模型更小且能力更弱,我们普遍认为对 405B 模型进行的测试也适用于 Llama 3.2 模型。
社区
- 行业合作伙伴关系:生成式 AI 安全需要专业知识和工具,我们相信开放社区的力量可以加速其发展。我们是开放联盟的积极成员,包括 AI 联盟、AI 合作组织和 MLCommons,积极为安全标准化和透明度做出贡献。我们鼓励社区采用 MLCommons 概念验证评估等分类法,以促进安全和内容评估的合作与透明度。我们的 Purple Llama 工具已开源供社区使用,并广泛分发给包括云服务提供商在内的生态系统合作伙伴。我们鼓励社区为我们的 Github 仓库 做出贡献。
- 资助项目:我们还设立了 Llama 影响资助 计划,以识别和支持 Meta 的 Llama 模型在教育、气候和开放创新三个类别中对社会有益的最有吸引力的应用。数百份申请中的 20 名决赛选手信息可在 此处 找到。
- 报告机制:最后,我们建立了一系列资源,包括 输出报告机制 和 漏洞奖励计划,以在社区的帮助下不断改进 Llama 技术。
伦理考虑和局限性
- 价值观:Llama 3.2 的核心价值观是开放性、包容性和有用性。它旨在为所有人服务,适用于广泛的用例。因此,它设计为对具有不同背景、经验和观点的人都可访问。Llama 3.2 尊重所有用户的尊严和自主权,特别是在推动创新和进步的自由思想和表达价值观方面。
- 测试:Llama 3.2 是一项新技术,与任何新技术一样,其使用存在风险。到目前为止进行的测试尚未涵盖,也不可能涵盖所有场景。因此,与所有大语言模型一样,Llama 3.2 的潜在输出无法提前预测,模型在某些情况下可能会对用户提示产生不准确、有偏见或其他令人反感的响应。因此,在部署 Llama 3.2 模型的任何应用之前,开发者应针对其特定应用进行安全测试和微调。请参考可用资源,包括我们的 负责任使用指南、信任与安全 解决方案以及其他 资源,以了解更多关于负责任开发的信息。
🔧 技术细节
模型架构
Llama 3.2 是一种自回归语言模型,使用优化的变压器架构。调优版本使用监督微调(SFT)和基于人类反馈的强化学习(RLHF),以符合人类对有用性和安全性的偏好。
训练数据
Llama 3.2 在来自公开可用来源的多达 9 万亿个标记的数据上进行了预训练。对于 1B 和 3B 的 Llama 3.2 模型,在模型开发的预训练阶段融入了 Llama 3.1 8B 和 70B 模型的逻辑。预训练数据的截止日期为 2023 年 12 月。
训练过程
训练使用自定义训练库、Meta 定制的 GPU 集群和生产基础设施进行预训练。微调、注释和评估也在生产基础设施上进行。训练总共使用了 H100 - 80GB(TDP 为 700W)类型硬件的 916k GPU 小时计算资源。
📄 许可证
使用 Llama 3.2 受 Llama 3.2 社区许可证 (自定义商业许可协议)的约束。
⚠️ 重要提示
请确保遵守 Llama 3.2 社区许可证和可接受使用政策。禁止以任何违反适用法律法规(包括贸易合规法律)的方式使用。禁止在本模型卡未明确支持的语言中使用。
💡 使用建议
在部署 Llama 3.2 模型的任何应用之前,开发者应针对其特定应用进行安全测试和微调。请参考可用资源,包括我们的 负责任使用指南、信任与安全 解决方案以及其他 资源,以了解更多关于负责任开发的信息。



