1. 大模型训练全景
1.1 什么是大语言模型
大语言模型(Large Language Model, LLM)是基于 Transformer 架构、在大规模文本语料上训练的自回归语言模型。它的核心目标是预测下一个 token:
这个看似简单的目标,在足够大的数据和模型规模下,涌现出了翻译、推理、代码生成等令人惊叹的能力。
1.2 训练三阶段
现代 LLM 的训练分为三个阶段,每个阶段的目标、数据和方法截然不同:
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Pre-training│───→│ SFT │───→│ RL 对齐 │
│ (预训练) │ │ (监督微调) │ │ (RLHF等) │
└─────────────┘ └─────────────┘ └─────────────┘
↑ ↑ ↑
大规模无标注 指令-回复对 人类偏好数据
文本语料 (万~十万) (比较对)
(万亿 token)Stage 1: 预训练 (Pre-training)
目标:学习语言的统计规律和世界知识。
- 数据:互联网文本、书籍、代码、百科等,规模达万亿 token
- 方法:自回归语言建模,最小化负对数似然:
- 计算量:LLaMA-70B 需要约 1.7 万亿 token,使用 2048 个 A100 训练约 21 天
- 成本:数百万到数千万美元
Stage 2: 监督微调 (SFT)
目标:教会模型遵循指令、以对话格式回复。
- 数据:人工标注的 (指令, 回复) 对,规模通常在万到十万量级
- 方法:在指令数据上继续训练,只对回复部分计算损失:
- 关键发现:LIMA (2023) 证明仅 1000 条高质量数据即可获得不错效果
Stage 3: 强化学习对齐 (RL Alignment)
目标:使模型的输出符合人类偏好——有用、无害、诚实。
- 数据:人类偏好比较对
,其中 优于 - 方法:
- RLHF:训练奖励模型 → PPO 优化策略
- DPO:直接从偏好数据优化,无需奖励模型
- GRPO:组内相对优势,DeepSeek 使用
1.3 发展简史
| 年份 | 模型 | 参数量 | 关键创新 |
|---|---|---|---|
| 2017 | Transformer | - | 自注意力机制 |
| 2018 | GPT-1 | 117M | 预训练+微调范式 |
| 2019 | GPT-2 | 1.5B | 零样本学习 |
| 2020 | GPT-3 | 175B | In-context learning, Scaling Laws |
| 2022 | InstructGPT | 175B | RLHF 对齐 |
| 2022 | Chinchilla | 70B | 最优数据-模型配比 |
| 2023 | LLaMA | 7-65B | 开源 LLM 里程碑 |
| 2023 | LLaMA 2 | 7-70B | GQA, 开源 RLHF |
| 2023 | Mistral 7B | 7B | 滑动窗口注意力, GQA |
| 2024 | LLaMA 3 | 8-405B | 15T tokens, 多语言 |
| 2024 | Mixtral 8x7B | 46.7B | 开源 MoE |
| 2024 | DeepSeek-V2 | 236B | MLA, DeepSeek-MoE |
| 2025 | DeepSeek-R1 | 671B | GRPO, 推理能力 |
1.4 训练成本分析
计算量估算
训练一个 Transformer 模型的总 FLOPs 近似为:
其中
示例:LLaMA-70B, 2T tokens
GPU 小时换算
A100 (BF16): 312 TFLOPS 峰值,实际利用率约 40-50%
约 200 万 GPU 小时 = 2048 个 A100 训练 41 天。
成本估算
| 模型 | 参数量 | Token 数 | 估算成本 |
|---|---|---|---|
| LLaMA 7B | 7B | 1T | ~$200K |
| LLaMA 70B | 70B | 2T | ~$5M |
| GPT-4 (推测) | ~1.8T MoE | 13T+ | ~$100M |
| DeepSeek-V3 | 671B MoE | 14.8T | ~$5.6M |
DeepSeek-V3 的训练成本远低于同规模模型,得益于 MoE 架构和 FP8 训练。
1.5 Scaling Laws
Kaplan et al. (2020) 和 Chinchilla (Hoffmann et al., 2022) 揭示了模型性能与规模的幂律关系:
其中
Chinchilla 最优配比
在固定计算预算
即最优的 token/参数比约为 20:1。
| 模型参数 | Chinchilla 最优 token 数 |
|---|---|
| 1B | 20B |
| 7B | 140B |
| 70B | 1.4T |
| 400B | 8T |
实际训练中,许多团队选择"过训练"(使用更多数据),因为推理时更小的模型更经济。LLaMA 7B 使用了 1T tokens(~143:1),远超 Chinchilla 最优。
1.6 本教程路线图
本教程 覆盖内容
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Part 1: 预训练 (Ch.1-7)
├── 数据工程 清洗/去重/Tokenizer
├── 架构 Attention/RoPE/SwiGLU
├── FlashAttention v1/v2/v3 完整推导
├── MoE 路由/负载均衡/DeepSeek
├── 分布式训练 DP/TP/PP/ZeRO
└── 训练工程 混合精度/优化器/Scaling Laws
Part 2: SFT (Ch.8-11)
├── SFT 基础 指令微调/数据格式
├── 数据工程 Self-Instruct/合成数据
├── PEFT LoRA/QLoRA/DoRA 推导
└── 工程实战 多轮对话/长文本/分布式
Part 3: RL 对齐 (Ch.12-17)
├── RLHF Bradley-Terry/奖励模型
├── PPO 策略梯度/GAE/四模型
├── DPO 完整数学推导
├── GRPO 组内优势/DeepSeek-R1
├── 其他算法 KTO/ORPO/SimPO
└── 评估 MT-Bench/Arena/对齐税本章小结
- LLM 训练分为预训练→SFT→RL 三个阶段,目标逐步从"学语言"转向"对齐人类"
- 训练成本由
决定,Scaling Laws 指导最优配比 - 本教程将深入每个阶段的数学原理和工程实践
思考题
- 为什么 LLaMA 选择"过训练"策略(数据量远超 Chinchilla 最优)?从推理成本角度分析。
- MoE 模型(如 Mixtral 8x7B)如何影响
中的 定义?激活参数量 vs 总参数量有何区别? - 如果你有 1000 个 H100 GPU 和 $10M 预算,你会如何分配参数量和数据量?