一份深入浅出的完整管线地图。覆盖预训练的五大支柱与后训练的对齐三部曲,基于斯坦福 CS 系列讲座内容扩展而成。
| 组件 | 学术界关注度 | 工业界实际重要度 | 说明 |
|---|---|---|---|
| 🏗️ 架构 | 🔴🔴🔴 | 🟡 | Transformer 变体,但改动主要影响截距 |
| 📉 训练损失/算法 | 🔴🔴🔴 | 🟡 | 交叉熵 → 最大似然,标准套路已稳定 |
| 📦 数据 | 🟡 | 🔴🔴🔴 | 爬取→清洗→混合,真正的护城河 |
| 📊 评估 | 🔴🔴 | 🔴🔴 | Perplexity + MMLU + HELM,但方式不统一 |
| ⚙️ 系统 | 🟡 | 🔴🔴🔴 | GPU 集群 + 并行策略 + 推理优化 |
💡 Bitter Lesson(Richard Sutton, 2019):算力持续增长,唯一重要的是能利用算力扩展的方法。架构的小改动只会改变"截距"——多训练 10 小时就能追上。数据和系统才是真正的护城河。
自回归语言模型的本质:将整个句子的概率分布,分解为"已知前面所有词,预测下一个词"的条件概率乘积。
损失函数:交叉熵损失 = 最大化真实 Token 的对数似然。在训练时只需计算"真实 Token 的概率"并与 one-hot 标签对比——不需要采样。推理时才需要采样。
序列长度暴增 → Transformer 复杂度 O(n²) 代价太高。
每个字符一个 Token
找出出现频率最高的 Token 对
将这对合并为新 Token(如 t + o → to)
重复直到达到目标词表大小(如 50K~250K)
实际案例:GPT Tokenizer 把 "tokenizer" 分成 ["token", "izer"]——因为 "token" 和 "izer" 都足够高频,而 "tokenizer" 不够高频所以不被合并。
| 基准 | 来源 | 内容 |
|---|---|---|
| MMLU | Berkeley | 57 个学科(医学、物理、天文、法律…)多选题 |
| HELM | Stanford | 多维度综合评估 |
| Open LLM Leaderboard | HuggingFace | 开源社区标准 |
这是工业界最不透明、最耗人力、也是竞争壁垒最高的环节。从 Common Crawl 到最终训练数据,过滤比例约 100:1 ~ 1000:1。
HTML → 纯文本。难点:数学公式提取、正文识别(排除导航/页脚/广告)
黑名单 URL、NSFW 分类器、PII(个人身份信息)去除
完全重复、模板重复(论坛页眉页脚)、近重复段落(经典书籍被引用 10000 次)
Token 分布异常?单词长度异常?只有 3 个词?超过 1000 万词?→ 过滤
巧妙技巧:用 Wikipedia 外部链接作为"高质量"标签,训练分类器区分
代码⬆️(提升推理)、书籍⬆️(高质量长文本)、娱乐⬇️
训练末尾用极高质量数据(Wikipedia + 人工标注)以极低学习率过拟合
| 时期 | 代表数据集 | Token 量 | 数据量 |
|---|---|---|---|
| 2018 | GPT-1 (BooksCorpus) | ~1B | ~5 GB |
| 2020 | The Pile | ~800B | ~800 GB |
| 2023 | RefinedWeb | ~5T | ~5 TB |
| 2024 | Llama 3 | 15T | ~80 TB |
在 log-log 尺度上,测试损失 与 算力/参数量/数据量 呈线性关系。这意味着:可以从小模型的实验结果,外推大模型的性能。
在最终规模上做超参搜索
→ 30 天训练 1 个模型
→ 效果不好也没时间调整
① 3 天:训练多个小型模型
② 拟合 Scaling Law → 外推
③ 27 天:训练预测最优的最终模型
能回答的问题:该用 Transformer 还是 LSTM?该加更多 GPU 还是收集更多数据?模型深一点还是宽一点?
| 项目 | 数值 |
|---|---|
| 参数量 | 405B |
| 训练 Token 数 | 15.6T |
| 总算力 | ~3.8 × 10²⁵ FLOPs |
| GPU 数量 | 16,000 × H100 |
| 训练时长 | ~70 天 |
| GPU 小时 | 2,600 万 ~ 3,000 万 |
| GPU 租金 ($2/h) | ~$5,200 万 |
| 人员成本 (50 人 × $500K) | ~$2,500 万 |
| 总估算 | ~$7,500 万 |
| 碳排放 | ~4,400 吨 CO₂(≈ 2,000 趟 JFK↔伦敦往返) |
每一代模型,算力需求约 10 倍增长。Llama 3 刻意控制在拜登行政令的 10²⁶ FLOPs 审查阈值以下。
GPT-3(纯语言模型)vs ChatGPT(对齐后):
问:"向 6 岁小孩解释登月"
答:"向 6 岁小孩解释万有引力
向 6 岁小孩解释黑洞
…"
(因为互联网上常见的是"问题列表",不是 Q&A)
问:"向 6 岁小孩解释登月"
答:"想象你在蹦床上跳……"
(真正的解释,像一个助手在回答)
互联网的文本分布 ≠ 你想要的助手行为分布。后训练的本质是用少量高质量数据"校准"模型的输出格式和价值观。
在人工标注的(指令,理想回答)数据上,用相同的语言建模损失继续训练。本质上和预训练是同一个任务——预测下一个 Token——只是数据换成了高质量的问答对。
| SFT 数据量 | 效果 |
|---|---|
| 2,000 条 | 🟢 已经很好 |
| 32,000 条 | 🟢 几乎没提升 |
💡 核心洞见:SFT 不教新知识,只教"格式"。预训练模型已经包含了所有知识——你只是在告诉它"请扮演回答问题的那个用户"。
这开启了蒸馏(Distillation)和合成数据(Synthetic Data)的大门。
人类鉴别好坏的能力 > 人类创作最优答案的能力。RLHF 的核心洞察:让人类只做擅长的事(比较),让模型自己探索最优策略。
预训练模型 → 在人工问答对上微调,学会基本对话格式
对每个指令生成 2 个回答,人类标注 A > B。训练分类器预测偏好 → 输出连续分数
使用 Bradley-Terry 模型:P(A>B) = σ(R(A) - R(B))
用奖励模型分数作为 reward + KL 惩罚(防止偏离 SFT 太远)→ PPO 优化生成策略
理论上优雅,但实践中极其脆弱:需要同时加载 4 个模型(Policy / Reference / Reward / Value)、超参敏感、奖励模型可能被"过优化"(找到高奖励但不真实的输出)。
Stanford, 2023。不需要显式训练奖励模型,直接用偏好数据做最大似然。
直觉翻译:最大化"好回答"相对于"坏回答"的概率比(以原始模型为基准)。就是把 RLHF 的三步流程压缩成一步:直接用偏好数据做监督学习。
| 维度 | PPO | DPO |
|---|---|---|
| 需要奖励模型? | ✅ 需要单独训练 RM | ❌ 不需要 |
| 训练方式 | 强化学习(采样 + 梯度) | 监督学习(直接计算损失) |
| 工程复杂度 | 🔴 高(4 个模型,多阶段) | 🟢 低(标准训练循环) |
| 稳定性 | 🔴 RL 固有不稳定 | 🟢 稳定收敛 |
| 理论基础 | Bradley-Terry + RL | 和 PPO 数学等价(一定假设下) |
DPO 在业界已逐渐成为主流选择,尤其适合算力和工程资源有限的团队。
🌐 Common Crawl(2500 亿网页,脏乱差)
│
├─ 文本提取 → 过滤 → 去重 → 启发式 → 模型过滤 → 领域加权
│
▼
📦 15T Tokens 高质量语料
│
├─ BPE Tokenization(词表 50K~250K)
│
▼
🏗️ 预训练(自回归语言建模 · 交叉熵损失)
│ 架构:Transformer Decoder-only
│ 规模:405B 参数,$7,500 万,70 天,16,000×H100
│
▼
🤖 Base Model(LLaMA-base / GPT-3)
│ 能力:会续写文本,但不会"回答问题"
│
├─ SFT(~2K-50K 条指令数据)
│ → 学会对话格式
│
├─ 偏好数据收集(人类标注 A > B)
│
├─ DPO(直接偏好优化)
│ → 对齐人类价值观和偏好
│
▼
✨ Aligned Model(ChatGPT / LLaMA-chat)
能力:遵循指令、拒绝有害请求、减少幻觉