1. 引言
本文基于 Llama 3 报告,整理现代大语言模型(LLM)的关键技术。内容涵盖预训练、后训练、推理优化等核心环节,包括 RM、DPO、KV Cache、GQA、PagedAttention、Data Parallelism 等技术细节。
2. 基础模型训练阶段
2.1 主要阶段
- 预训练阶段(pre-training stage):使用大量数据进行下一个词的预测(next-word prediction)。
- 后训练阶段(post-training stage):算法丰富,包括 SFT、RLHF、DPO 等。任务包括指令跟随、人类偏好对齐及特定能力提升(如代码、数学)。
2.2 关键要素
Meta 认为高质量基础模型发展的三个关键杠杆是:数据(data)、规模(scale)和复杂度管理(managing complexity)。
- 数据:Llama 系列注重数据堆叠,Llama 3 预训练语料达 15T multilingual tokens。公网上文本数据存在上限,调整现有数据质量比寻找增量数据更重要。
- 规模:Llama 3.1 提供 8B、70B、405B 三种规模,性能差异显著。
- 复杂度管理:Llama 3 采用标准稠密 Transformer 架构,仅少量调整,未选择 MOE。后训练采用 SFT、RS 和 DPO,相比 RLHF 更稳定且易扩展。
2.3 Benchmark 表现
- MMLU 系列:考察知识面。MMLU-Pro 显示参数规模与内化知识量高度相关。
- IFEval:考察指令遵循能力。8B 与 70B 差距明显,70B 与 405B 差距缩小。
- 其他:包含 Code、Math、Reasoning、Tool use 等垂直领域评估。
总体来看,70B 模型在性价比与性能间取得较好平衡,接近部分闭源模型水准。
3. 预训练(Pre-Training)
3.1 数据构建
- Web Data Curation:包括去重(URL、document、line level)、清洗(移除 PII、成人内容)、启发式过滤(n-gram、危险词、KL 散度)及基于模型的分类。
- 数据混合(Data Mix):最终配比约为 50% 通用知识、25% 数学与推理、17% 代码、8% 多语言。
- 退火数据(Annealing Data):在高质量特定领域数据上降低学习率,可提升 benchmark 表现。
3.2 模型架构
Llama 3 相较于 Llama 2 的改动包括:GQA、针对序列内部不同文档的 attention mask、128K tokens 词表、RoPE 调整。
- 推理过程与 KV Cache:自回归生成中,中间结果(KV Cache)可复用。分为 Prefill(并行计算 Prompt)和 Decode(自回归生成)阶段。长上下文下 KV Cache 占用显存较大。
- GQA(Grouped Query Attention):通过分组 Query 共享 KV,平衡 MHA 与 MQA,减少内存占用并加速推理。
- RoPE(旋转位置编码):解决正弦编码对相对位置表示较弱的问题。
3.3 Scaling Laws
Scaling Law 表明模型性能与计算量、参数量、数据大小相关。Llama 3 采用两阶段方法:先预测下游任务 NLL loss,再关联 task accuracy,以验证 Scaling Law 的有效性。
3.4 训练配方
包括初始预训练、长上下文预训练(逐步增加 context length 至 128K)及退火策略。
4. 后训练(Post-Training)
后训练策略包括 Reward Model(RM)、SFT、Rejection Sampling(RS)、DPO。训练是迭代式的,共进行 6 轮循环。


