模型简介
模型特点
模型能力
使用案例
🚀 Llama 3.2 多语言大语言模型
Llama 3.2 是一系列多语言大语言模型,涵盖 1B 和 3B 规模的预训练及指令微调生成模型。它针对多语言对话场景进行了优化,在常见行业基准测试中表现出色,能为商业和研究领域提供强大支持。
🚀 快速开始
若你想使用 Llama 3.2 模型,需遵循 Llama 3.2 社区许可协议。在使用前,请仔细阅读协议条款,并按要求提供相关信息进行申请。申请通过后,你可依据模型文档和示例代码开始使用。具体使用说明和反馈方式可参考以下链接:
- 模型反馈说明:Llama 模型 README
- 技术信息和使用方法:Llama 3.2 使用指南
✨ 主要特性
- 多语言支持:官方支持英语、德语、法语、意大利语、葡萄牙语、印地语、西班牙语和泰语,且在更多语言上进行了训练。
- 优化架构:采用优化的 Transformer 架构,结合监督微调(SFT)和基于人类反馈的强化学习(RLHF),使模型更符合人类偏好。
- 广泛应用:适用于商业和研究领域,如对话、知识检索、总结、移动写作助手等。
- 量化优化:提供量化模型,适用于计算资源有限的设备,同时保持较好的性能。
📦 安装指南
文档未提及具体安装步骤,暂不提供相关内容。
💻 使用示例
文档未提供代码示例,暂不提供相关内容。
📚 详细文档
模型信息
- 模型开发者:Meta
- 模型架构:自回归语言模型,采用优化的 Transformer 架构,微调版本使用 SFT 和 RLHF 进行对齐。
- 训练数据:使用公开数据源的多达 9 万亿个标记的数据进行预训练,1B 和 3B 模型在预训练阶段融入了 Llama 3.1 8B 和 70B 模型的 logits。
- 模型参数: | 属性 | 详情 | |------|------| | 模型类型 | Llama 3.2 包含 1B 和 3B 规模的模型,以及量化版本 | | 训练数据 | 公开数据源的多达 9 万亿个标记的数据,截止时间为 2023 年 12 月 | | 输入模态 | 多语言文本 | | 输出模态 | 多语言文本和代码 | | 上下文长度 | 1B 模型为 128k(量化版本为 8k) | | GQA | 支持 | | 共享嵌入 | 支持 | | 标记计数 | 最多 9T 标记 | | 知识截止时间 | 2023 年 12 月 |
预期用途
- 预期用例:用于多语言商业和研究,指令微调的纯文本模型适用于对话、知识检索、总结、移动写作助手等,预训练模型可用于多种自然语言生成任务,量化模型适用于计算资源有限的设备。
- 超出范围:违反适用法律法规(包括贸易合规法律)、违反可接受使用政策和 Llama 3.2 社区许可协议、使用模型未明确支持的语言。
硬件和软件
- 训练因素:使用自定义训练库、Meta 的自定义 GPU 集群和生产基础设施进行预训练,微调、量化、标注和评估也在生产基础设施上进行。
- 训练能源使用:在 H100 - 80GB(TDP 为 700W)类型的硬件上累计使用了 916k GPU 小时的计算资源。
- 训练温室气体排放:估计基于位置的总温室气体排放量为 240 吨 CO2eq,由于 Meta 自 2020 年以来实现了全球运营的净零温室气体排放并使用 100% 可再生能源,基于市场的总温室气体排放量为 0 吨 CO2eq。
模型 | 训练时间(GPU 小时) | Logit 生成时间(GPU 小时) | 训练功耗(W) | 基于位置的训练温室气体排放(吨 CO2eq) | 基于市场的训练温室气体排放(吨 CO2eq) |
---|---|---|---|---|---|
Llama 3.2 1B | 370k | - | 700 | 107 | 0 |
Llama 3.2 3B | 460k | - | 700 | 133 | 0 |
Llama 3.2 1B SpinQuant | 1.7 | 0 | 700 | 可忽略 | 0 |
Llama 3.2 3B SpinQuant | 2.4 | 0 | 700 | 可忽略 | 0 |
Llama 3.2 1B QLora | 1.3k | 0 | 700 | 0.381 | 0 |
Llama 3.2 3B QLora | 1.6k | 0 | 700 | 0.461 | 0 |
总计 | 833k | 86k | 240 | 0 |
训练数据
Llama 3.2 在公开数据源的多达 9 万亿个标记的数据上进行预训练,1B 和 3B 模型在预训练阶段融入了 Llama 3.1 8B 和 70B 模型的 logits。后训练阶段采用与 Llama 3.1 类似的方法,通过多轮对齐生成最终的聊天模型,每轮包括监督微调(SFT)、拒绝采样(RS)和直接偏好优化(DPO)。
量化
量化方案
设计量化方案时考虑了 PyTorch 的 ExecuTorch 推理框架和 Arm CPU 后端,包括模型质量、预填充/解码速度和内存占用等指标。量化方案包括:
- 所有 Transformer 块中的线性层权重量化为 4 位分组方案(组大小为 32),激活值采用 8 位每标记动态量化。
- 分类层权重量化为 8 位每通道,激活值采用 8 位每标记动态量化。
- 嵌入层采用 8 位每通道量化。
量化感知训练和 LoRA
量化感知训练(QAT)与低秩适应(LoRA)模型仅经过后训练阶段,使用与全精度模型相同的数据。初始化 QAT 时,利用监督微调(SFT)后获得的 BF16 Llama 3.2 模型检查点,并进行额外一轮的 SFT 训练。然后冻结 QAT 模型的主干,对 Transformer 块内的所有层应用 LoRA 适配器进行另一轮 SFT 训练,LoRA 适配器的权重和激活值保持在 BF16。最后,使用直接偏好优化(DPO)对生成的模型(主干和 LoRA 适配器)进行微调。
SpinQuant
应用 SpinQuant 和生成式后训练量化(GPTQ)。SpinQuant 旋转矩阵微调时,使用 WikiText 2 数据集的 800 个序列长度为 2048 的样本进行 100 次迭代优化;GPTQ 使用相同数据集的 128 个相同序列长度的样本。
基准测试 - 英语文本
基础预训练模型
类别 | 基准测试 | 样本数 | 指标 | 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 bf16 | Llama 3.2 1B Vanilla PTQ** | Llama 3.2 1B Spin Quant | Llama 3.2 1B QLoRA | Llama 3.2 3B bf16 | Llama 3.2 3B Vanilla PTQ** | Llama 3.2 3B Spin Quant | Llama 3.2 3B QLoRA | Llama 3.1 8B | | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | | 通用 | MMLU | 5 | macro_avg/acc | 49.3 | 43.3 | 47.3 | 49.0 | 63.4 | 60.5 | 62 | 62.4 | 69.4 | | 重写 | Open - rewrite eval | 0 | micro_avg/rougeL | 41.6 | 39.2 | 40.9 | 41.2 | 40.1 | 40.3 | 40.8 | 40.7 | 40.9 | | 总结 | TLDR9+ (test) | 1 | rougeL | 16.8 | 14.9 | 16.7 | 16.8 | 19.0 | 19.1 | 19.2 | 19.1 | 17.2 | | 指令跟随 | IFEval | 0 | Avg(Prompt/Instruction acc Loose/Strict) | 59.5 | 51.5 | 58.4 | 55.6 | 77.4 | 73.9 | 73.5 | 75.9 | 80.4 | | 数学 | GSM8K (CoT) | 8 | em_maj1@1 | 44.4 | 33.1 | 40.6 | 46.5 | 77.7 | 72.9 | 75.7 | 77.9 | 84.5 | | | MATH (CoT) | 0 | final_em | 30.6 | 20.5 | 25.3 | 31.0 | 48.0 | 44.2 | 45.3 | 49.2 | 51.9 | | 推理 | ARC - C | 0 | acc | 59.4 | 54.3 | 57 | 60.7 | 78.6 | 75.6 | 77.6 | 77.6 | 83.4 | | | GPQA | 0 | acc | 27.2 | 25.9 | 26.3 | 25.9 | 32.8 | 32.8 | 31.7 | 33.9 | 32.8 | | | Hellaswag | 0 | acc | 41.2 | 38.1 | 41.3 | 41.5 | 69.8 | 66.3 | 68 | 66.3 | 78.7 | | 工具使用 | BFCL V2 | 0 | acc | 25.7 | 14.3 | 15.9 | 23.7 | 67.0 | 53.4 | 60.1 | 63.5 | 67.1 | | | Nexus | 0 | macro_avg/acc | 13.5 | 5.2 | 9.6 | 12.5 | 34.3 | 32.4 | 31.5 | 30.1 | 38.5 | | 长上下文 | InfiniteBench/En.QA | 0 | longbook_qa/f1 | 20.3 | N/A | N/A | N/A | 19.8 | N/A | N/A | N/A | 27.3 | | | InfiniteBench/En.MC | 0 | longbook_choice/acc | 38.0 | N/A | N/A | N/A | 63.3 | N/A | N/A | N/A | 72.2 | | | NIH/Multi - needle | 0 | recall | 75.0 | N/A | N/A | N/A | 84.7 | N/A | N/A | N/A | 98.8 | | 多语言 | MGSM (CoT) | 0 | em | 24.5 | 13.7 | 18.2 | 24.4 | 58.2 | 48.9 | 54.3 | 56.8 | 68.9 |
注:**仅用于比较目的,模型未发布。
多语言基准测试
类别 | 基准测试 | 语言 | Llama 3.2 1B | Llama 3.2 1B Vanilla PTQ** | Llama 3.2 1B Spin Quant | Llama 3.2 1B QLoRA | Llama 3.2 3B | Llama 3.2 3B Vanilla PTQ** | Llama 3.2 3B Spin Quant | Llama 3.2 3B QLoRA | Llama 3.1 8B |
---|---|---|---|---|---|---|---|---|---|---|---|
通用 | MMLU (5 - shot, macro_avg/acc) | 葡萄牙语 | 39.8 | 34.9 | 38.9 | 40.2 | 54.5 | 50.9 | 53.3 | 53.4 | 62.1 |
西班牙语 | 41.5 | 36.0 | 39.8 | 41.8 | 55.1 | 51.9 | 53.6 | 53.6 | 62.5 | ||
意大利语 | 39.8 | 34.9 | 38.1 | 40.6 | 53.8 | 49.9 | 52.1 | 51.7 | 61.6 | ||
德语 | 39.2 | 34.9 | 37.5 | 39.6 | 53.3 | 50.0 | 52.2 | 51.3 | 60.6 | ||
法语 | 40.5 | 34.8 | 39.2 | 40.8 | 54.6 | 51.2 | 53.3 | 53.3 | 62.3 | ||
印地语 | 33.5 | 30.0 | 32.1 | 34.0 | 43.3 | 40.4 | 42.0 | 42.1 | 50.9 | ||
泰语 | 34.7 | 31.2 | 32.4 | 34.9 | 44.5 | 41.3 | 44.0 | 42.2 | 50.3 |
注:**仅用于比较目的,模型未发布。
推理时间
使用 ExecuTorch 框架作为推理引擎,以 ARM CPU 为后端,在 Android OnePlus 12 设备上进行评估,比较不同量化方法(SpinQuant 和 QAT + LoRA)与 BF16 基线的性能指标。
类别 | 解码速度(标记/秒) | 首标记生成时间(秒) | 预填充速度(标记/秒) | 模型大小(PTE 文件大小,MB) | 内存大小(RSS,MB) |
---|---|---|---|---|---|
1B BF16(基线) | 19.2 | 1.0 | 60.3 | 2358 | 3185 |
1B SpinQuant | 50.2(2.6 倍) | 0.3(-76.9%) | 260.5(4.3 倍) | 1083(-54.1%) | 1921(-39.7%) |
1B QLoRA | 45.8(2.4 倍) | 0.3(-76.0%) | 252.0(4.2 倍) | 1127(-52.2%) | 2255(-29.2%) |
3B BF16(基线) | 7.6 | 3.0 | 21.2 | 6129 | 7419 |
3B SpinQuant | 19.7(2.6 倍) | 0.7(-76.4%) | 89.7(4.2 倍) | 2435(-60.3%) | 3726(-49.8%) |
3B QLoRA | 18.5(2.4 倍) | 0.7(-76.1%) | 88.8(4.2 倍) | 2529(-58.7%) | 4060(-45.3%) |
责任与安全
负责任的部署
Meta 采用三管齐下的策略管理信任和安全风险:
- 使开发者能够为目标受众和 Llama 支持的用例部署有用、安全和灵活的体验。
- 保护开发者免受旨在利用 Llama 能力造成潜在危害的恶意用户的攻击。
- 为社区提供保护,防止模型被滥用。
Llama 3.2 Instruct
- 目标:为研究社区提供研究安全微调鲁棒性的有价值资源,为开发者提供适用于各种应用的安全强大模型,减少部署安全 AI 系统的工作量。
- 微调数据:采用多方面的数据收集方法,结合供应商的人类生成数据和合成数据,使用基于大语言模型的分类器选择高质量的提示和响应,提高数据质量控制。
- 拒绝和语气:强调模型对良性提示的拒绝以及拒绝语气,在安全数据策略中包括边界和对抗性提示,并修改安全数据响应以遵循语气指南。
Llama 3.2 系统
大语言模型(包括 Llama 3.2)不应单独部署,而应作为整体 AI 系统的一部分,并根据需要添加额外的安全护栏。开发者在构建代理系统时应部署系统安全措施,这些措施对于实现有用性和安全性的正确对齐以及减轻系统固有的安全和风险至关重要。Meta 为社区提供 安全措施,如 Llama Guard、Prompt Guard 和 Code Shield,参考实现演示默认包含这些安全措施。
新功能和用例
Llama 3.2 1B 和 3B 模型预计将部署在高度受限的环境中,如移动设备。使用较小模型的 LLM 系统与更复杂、更大的系统具有不同的对齐配置文件和安全/有用性权衡。开发者应确保系统安全满足用例要求,建议使用较轻的系统安全措施,如 Llama Guard 3 - 1B 或其移动优化版本。
评估
- 大规模评估:构建专用的对抗性评估数据集,评估由 Llama 模型和 Purple Llama 安全措施组成的系统,以过滤输入提示和输出响应。建议为用例构建专用评估数据集。
- 红队测试:定期进行红队测试,通过对抗性提示发现风险,并利用这些经验改进基准和安全调优数据集。与关键风险领域的专家合作,确定红队的对抗性目标,红队成员包括网络安全、对抗性机器学习、负责任 AI 和内容专家。
关键风险
除了上述安全工作外,还特别关注以下关键风险领域的测量和缓解:
- CBRNE(化学、生物、放射、核和爆炸武器):对 Llama 3.1 70B 和 405B 模型进行了提升测试,评估使用这些模型是否会增加恶意行为者使用此类武器进行攻击的能力,该测试也适用于较小的 1B 和 3B 模型。
- 儿童安全:由专家团队进行儿童安全风险评估,评估模型产生可能导致儿童安全风险的输出的能力,并通过微调提供必要的风险缓解措施。利用专家红队测试扩展评估基准的覆盖范围。
- 网络攻击:对 Llama 3.1 405B 模型进行网络攻击提升研究,评估 LLM 在黑客任务中的能力,包括技能水平和速度。攻击自动化研究评估 LLM 作为自主代理在网络攻击中的能力。由于 Llama 3.2 的 1B 和 3B 模型较小且能力较弱,认为对 405B 模型的测试也适用于 Llama 3.2 模型。
社区
- 行业合作:积极参与开放联盟,如 AI 联盟、AI 合作组织和 MLCommons,为安全标准化和透明度做出贡献。鼓励社区采用 MLCommons 概念验证评估等分类法,促进安全和内容评估的合作和透明度。Purple Llama 工具开源供社区使用,并在包括云服务提供商在内的生态系统合作伙伴中广泛分发。
- 资助计划:设立 Llama 影响资助 计划,支持 Meta 的 Llama 模型在教育、气候和开放创新三个领域的应用。
- 反馈机制:建立 输出报告机制 和 漏洞赏金计划,借助社区力量不断改进 Llama 技术。
伦理考虑和局限性
- 价值观:Llama 3.2 的核心价值观是开放性、包容性和有用性,旨在为所有人服务,适用于广泛的用例。尊重所有用户的尊严和自主权,特别是自由思想和表达的价值观。
- 测试:Llama 3.2 是新技术,测试无法覆盖所有场景,模型可能产生不准确、有偏见或其他令人反感的响应。开发者在部署应用前应进行针对特定应用的安全测试和调优,可参考 负责任使用指南、信任和安全 解决方案和其他 资源 了解负责任的开发方法。
许可证
使用 Llama 3.2 需遵循 Llama 3.2 社区许可协议(自定义商业许可协议)。协议详细规定了使用、复制、分发和修改 Llama 材料的条款和条件,包括许可证权利和再分发、额外商业条款、免责声明、责任限制、知识产权、期限和终止、适用法律和管辖权等内容。同时,还提供了 Llama 3.2 可接受使用政策,明确了禁止使用的情况。
反馈
有关如何提供模型反馈或评论的说明,请参考 Llama 模型 README。如需了解更多关于生成参数和在应用中使用 Llama 3.2 的技术信息,请访问 此处。
重要提示
⚠️ 重要提示
使用 Llama 3.2 必须遵守 Llama 3.2 社区许可协议 和 可接受使用政策,不得用于任何违反法律法规或有害的用途。
使用建议
💡 使用建议
在部署 Llama 3.2 模型的应用之前,开发者应进行针对特定应用的安全测试和调优,以确保模型的输出符合预期且安全可靠。同时,建议关注模型的更新和社区反馈,及时了解模型的性能和安全情况。



