模型信息
Llama 3.2多语言大语言模型(LLM)系列包含1B和3B规模的预训练及指令调优生成模型(文本输入/输出)。经过指令调优的纯文本模型针对多语言对话场景进行了优化,包括代理检索和摘要任务。在常见行业基准测试中,其表现优于许多开源和闭源聊天模型。
模型开发者: Meta
模型架构: Llama 3.2采用优化Transformer架构的自回归语言模型。调优版本使用监督微调(SFT)和基于人类反馈的强化学习(RLHF)来对齐人类对实用性和安全性的偏好。
|
训练数据 |
参数量 |
输入模态 |
输出模态 |
上下文长度 |
GQA |
共享嵌入 |
令牌数量 |
知识截止 |
Llama 3.2(纯文本) |
公开网络数据新组合 |
1B(1.23B) |
多语言文本 |
多语言文本与代码 |
128k |
是 |
是 |
最高9T令牌 |
2023年12月 |
|
|
3B(3.21B) |
多语言文本 |
多语言文本与代码 |
|
|
|
|
|
Llama 3.2量化版(纯文本) |
公开网络数据新组合 |
1B(1.23B) |
多语言文本 |
多语言文本与代码 |
8k |
是 |
是 |
最高9T令牌 |
2023年12月 |
|
|
3B(3.21B) |
多语言文本 |
多语言文本与代码 |
|
|
|
|
|
支持语言: 官方支持英语、德语、法语、意大利语、葡萄牙语、印地语、西班牙语和泰语。Llama 3.2的训练语言范围超出这8种。开发者可针对更多语言微调Llama 3.2模型,但需遵守Llama 3.2社区许可和可接受使用政策,并确保部署安全可靠。
Llama 3.2模型家族: 令牌计数仅指预训练数据。所有版本均采用分组查询注意力(GQA)提升推理扩展性。
模型发布日期: 2024年9月25日
状态: 基于离线数据训练的静态模型。未来可能发布改进模型能力与安全性的版本。
许可协议: 使用Llama 3.2需遵守Llama 3.2社区许可(定制商业许可协议)。
反馈: 提供模型反馈的说明详见Llama模型README。技术参数和使用方法请参考此处。
预期用途
适用场景: Llama 3.2适用于多语言商业和研究用途。指令调优纯文本模型适用于类助手聊天、知识检索、摘要、移动端AI写作助手及查询改写等代理应用。预训练模型可适配多种自然语言生成任务,量化模型适合计算资源有限的端侧场景。
非适用场景: 任何违反适用法律法规(包括贸易合规法律)的使用;违反可接受使用政策和Llama 3.2社区许可的使用;超出本模型卡明确支持语言范围的使用。
使用方法
本仓库包含两个Llama-3.2-3B版本,分别适配transformers和原版llama
代码库。
使用transformers
需安装transformers >= 4.43.0,可通过pipeline抽象或Auto类配合generate()函数进行对话推理:
import torch
from transformers import pipeline
model_id = "meta-llama/Llama-3.2-3B"
pipe = pipeline(
"text-generation",
model=model_id,
torch_dtype=torch.bfloat16,
device_map="auto"
)
pipe("生命的意义在于")
使用llama
请遵循仓库说明。下载原始检查点示例:
huggingface-cli download meta-llama/Llama-3.2-3B --include "original/*" --local-dir Llama-3.2-3B
硬件与软件
训练要素: 使用定制训练库、Meta自建GPU集群和生产基础设施进行预训练。微调、量化、标注和评估同样在生产基础设施完成。
训练能耗: 如下表所示,H100-80GB硬件(热设计功耗700W)累计消耗916k GPU小时。训练时间为各模型总GPU耗时,功耗按GPU设备峰值功率结合使用效率调整。
训练碳排放: 基于位置的碳排放总量估计为240吨CO2当量。自2020年起Meta全球运营保持净零排放并100%匹配可再生能源用电,因此市场基准碳排放为0吨CO2当量。
|
训练时间(GPU小时) |
逻辑生成时间(GPU小时) |
训练功耗(W) |
基于位置碳排放(吨CO2当量) |
市场基准碳排放(吨CO2当量) |
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 1B/3B SpinQuant基于位置的CO2排放均低于0.001公吨(因所需训练GPU时极少)
能耗与碳排放计算方法详见此处。由于模型开源,他人无需重复产生这些能耗。
训练数据
概述: Llama 3.2预训练使用高达9万亿令牌的公开数据。对于1B/3B模型,我们在预训练阶段整合了Llama 3.1 8B/70B模型的逻辑输出作为令牌级目标,并通过知识蒸馏恢复剪枝后的性能。后训练采用与Llama 3.1相似的方案,通过多轮对齐(包括SFT、拒绝采样和直接偏好优化)生成最终聊天模型。
数据时效: 预训练数据截止于2023年12月。
量化方案
量化设计
当前方案针对PyTorch ExecuTorch推理框架和ARM CPU后端设计,平衡模型质量、预填充/解码速度和内存占用:
- 所有Transformer块的线性层采用4位分组权重量化(组大小32)和8位动态令牌激活量化
- 分类层使用8位每通道权重量化和8位动态令牌激活量化
- 嵌入层同样采用8位每通道量化
量化感知训练与LoRA
量化感知训练(QAT)与低秩适配(LoRA)模型仅经历后训练阶段,使用与全精度模型相同的数据。QAT初始化采用SFT后的BF16检查点,进行额外完整轮次的QAT-SFT训练。随后冻结QAT模型主干,对Transformer块内所有层应用LoRA适配器进行SFT(适配器权重和激活保持BF16)。该方法类似QLoRA,最终通过直接偏好优化(DPO)微调模型。
SpinQuant
结合生成式后训练量化(GPTQ)应用SpinQuant。旋转变矩阵微调使用WikiText 2数据集的800个样本(序列长度2048)优化100次迭代,GPTQ采用同数据集128个样本。
基准测试 - 英文文本
本节报告Llama 3.2模型在标准自动化基准的表现(使用内部评估库)。
基础预训练模型
类别 |
基准 |
样本数 |
指标 |
Llama 3.2 1B |
Llama 3.2 3B |
Llama 3.1 8B |
通用 |
MMLU |
5 |
宏平均/acc_char |
32.2 |
58 |
66.7 |
|
AGIEval英文 |
3-5 |
平均/acc_char |
23.3 |
39.2 |
47.8 |
|
ARC挑战赛 |
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 |
长上下文 |
大海捞针 |
0 |
em |
96.8 |
1 |
1 |
指令调优模型
能力 |
|
基准 |
样本数 |
指标 |
Llama 3.2 1B bf16 |
Llama 3.2 1B常规PTQ** |
Llama 3.2 1B SpinQuant |
Llama 3.2 1B QLoRA |
Llama 3.2 3B bf16 |
Llama 3.2 3B常规PTQ** |
Llama 3.2 3B SpinQuant |
Llama 3.2 3B QLoRA |
Llama 3.1 8B |
通用 |
|
MMLU |
5 |
宏平均/acc |
49.3 |
43.3 |
47.3 |
49.0 |
63.4 |
60.5 |
62 |
62.4 |
69.4 |
改写 |
|
开放改写评估 |
0 |
微平均/rougeL |
41.6 |
39.2 |
40.9 |
41.2 |
40.1 |
40.3 |
40.8 |
40.7 |
40.9 |
摘要 |
|
TLDR9+(测试) |
1 |
rougeL |
16.8 |
14.9 |
16.7 |
16.8 |
19.0 |
19.1 |
19.2 |
19.1 |
17.2 |
指令跟随 |
|
IFEval |
0 |
平均(提示/指令acc宽松/严格) |
59.5 |
51.5 |
58.4 |
55.6 |
77.4 |
73.9 |
73.5 |
75.9 |
80.4 |
数学 |
|
GSM8K(思维链) |
8 |
em_maj1@1 |
44.4 |
33.1 |
40.6 |
46.5 |
77.7 |
72.9 |
75.7 |
77.9 |
84.5 |
|
|
MATH(思维链) |
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 |
|
|
|
|
|
|
|
|