17.4 Llama3
2024年4月18日,Meta发布了其新一代大规模语言模型——Llama3,正式开启了Llama系列模型的第三代演进。Llama3首次发布了两个版本:Llama3-8B 和 Llama3-70B,旨在提供能够媲美最强商业模型的开源替代品。更高规模的版本如400B模型,以及具备多语言与多模态能力的模型也已在研发中。
17.4.1 性能突破
Llama3在多个公开基准测试中取得了显著进展,尤其是Llama3-8B的性能已经超越了Llama2-70B。Llama3-70B在与GPT-4的五项关键任务对比中表现出色,三项指标超过了GPT-4,而Llama3-400B更是全面领先。
测试集 | Llama2 7B | Llama2 13B | Llama2 70B | Llama3 8B | Llama3 70B | Llama3 400B | GPT-3.5 | GPT-4 |
---|---|---|---|---|---|---|---|---|
MMLU | 34.1 | 47.8 | 52.9 | 68.4 | 82.0 | 86.1 | 70.0 | 86.4 |
GPQA | 21.7 | 22.3 | 21.0 | 34.2 | 39.5 | 48.0 | 28.1 | 35.7 |
HumanEval | 7.9 | 14.0 | 25.6 | 62.2 | 81.7 | 84.1 | 48.1 | 67.0 |
GSM8K | 25.7 | 77.4 | 57.5 | 79.6 | 93.0 | 94.1 | 57.1 | 92.0 |
MATH | 3.8 | 6.7 | 11.6 | 30.0 | 50.4 | 57.8 | 34.1 | 52.9 |
17.4.2 关键架构改进
Llama3在架构上做出了多项重要升级:
- 词表扩展:token数量由32K扩展到128K,大幅提升了非英语文本,特别是中文的编码效率。
- GQA技术全面应用:从Llama2仅限70B使用GQA,到Llama3全系采用该技术,增强了推理效率。
- 最大序列长度提升:从4096扩展至8192 token,支持更长文本处理。
- 数据集规模扩展:Llama3使用了15万亿token进行训练,是Llama2的七倍。
- 数据多样性增强:引入了更多高质量代码数据(增加四倍),5%的多语言数据,覆盖超过30种语言。
- 高效数据清洗:使用Llama2生成的数据辅助训练文本质量分类器,确保语料质量。
17.4.3 训练与优化策略
Llama3使用了包括24,000个H100 GPU的训练集群进行训练,训练效率超过95%,是Llama2时代的三倍。
模型 | GPU小时数 | 使用GPU |
---|---|---|
Llama1 65B | 1.0M | A100 80G |
Llama2 70B | 1.7M | A100 80G |
Llama3 70B | 7.7M | H100 80G |
Meta还强调了两个核心原则: 1. 缩放定律:小模型的训练效果可预测大模型的表现; 2. 数据优先:增加数据比扩展模型参数更有效。
17.4.4 模型微调与指令跟随
Llama3不再使用“Chat”命名后缀,而是采用 Llama3-Instruct,强调其在指令跟随、多任务和智能应用执行上的能力。
微调阶段包括:
- 监督微调(SFT)
- 拒绝采样(Rejection Sampling)
- 直接偏好优化(DPO)
DPO在对齐人类偏好方面表现更优,且所需计算资源更少。
17.4.5 Llama3.1:更强上下文与多语言能力
2024年7月发布的 Llama3.1 引入了如下重要升级:
- 上下文长度提升至128K tokens
- 更强多语言能力与工具调用能力
- 使用多种模型分类器清洗和筛选训练数据
数据清洗采用如下策略:
- 去除Markdown内容;
- 针对HTML、代码、数学公式进行特殊处理;
- 利用FastText、RoBERTa等模型进行质量过滤;
- 使用多语言Llama2分类器进行多语言排序。
此外,训练数据组合也进行了优化:50%通识知识、25%数学/推理、17%代码、8%多语言数据。
17.4.6 预训练三阶段机制
以Llama3-405B为例,完整预训练包含三阶段:
- 初始预训练:标准序列长度,使用线性预热与余弦退火,共训练120万步。
- 长上下文训练:分六阶段逐步提升上下文长度至128K,总共使用约800B tokens。
- 退火训练:使用高质量数据,线性降学习率至0,增强对复杂任务的泛化能力。
训练过程中采用特殊注意力掩码,防止token访问拼接文档中的跨文段信息。
17.4.7 Llama3.2:多模态时代的到来
2024年9月,Meta发布 Llama3.2,其中首次引入多模态模型,包括:
- 轻量文本模型:Llama3.2-1B 与 Llama3.2-3B,适用于移动端;
- 多模态大模型:11B 与 90B 版本,支持图像理解与图文推理。
在多模态模型中,Meta使用图像编码器 + 权重适配器方式,将图像输入映射到语言模型空间。语言模型参数完全冻结,仅训练图像部分,使模型在保留语言能力的同时具备图像理解能力。
多模态训练过程分阶段:
- 使用图像-文本配对数据进行预训练;
- 使用领域内高质量图文数据进行精调;
- 执行SFT、拒绝采样与DPO完成对齐。
Llama3.2使开源大模型生态具备了处理图像、图表和视觉语言交互的能力,为多模态智能应用打开了广阔空间。