🧠 图解记忆:预训练学语言与知识,SFT 学指令,对齐学偏好;点击图片可查看原图。
主流 LLM 训练分三阶段:预训练(学知识)→ SFT(学对话)→ 对齐(学偏好)
三阶段对比(面试重点)
| 阶段 | 数据 | 训练目标 | 产物 | 成本 |
|---|---|---|---|---|
| 1. 预训练 | TB 级网页/书籍/代码 | 预测下一个 Token | Base 模型(博学但不会对话) | 千万美金级 |
| 2. SFT | 几万~几十万条(指令, 标准回答) | 监督学习"按指令回答" | 对话模型(会聊天但可能不听话) | 中等 |
| 3. 对齐 | (指令, 好回答, 差回答)偏好对 | 让回答符合人类偏好(有用/诚实/无害) | 最终产品模型 | 高 |
各阶段详解
阶段 1:预训练(Pre-training)
输入: "今天天气真" → 预测下一个词: "好"
数据: 全网文本(数万亿 Token)
目标: 学习语言规律和世界知识
产出: Base Model(GPT-3、LLaMA base)阶段 2:SFT(Supervised Fine-Tuning)
- 用人工撰写的"指令-回答"对教模型交互
- 模型学会:角色扮演、格式遵循、任务理解
- 产出:SFT 模型(能对话,但可能产生有害/无用内容)
阶段 3:对齐(RLHF / DPO)
- RLHF:先训练 Reward Model 给回答打分,再用 PPO 优化策略
- DPO:跳过奖励模型,直接在偏好对(好/坏回答)上优化(当前主流)
面试高频追问
- 为什么预训练后还要 SFT? Base 模型只会续写,不会"回答问题",SFT 教会它指令遵循
- 为什么 SFT 后还要对齐? SFT 学的是"怎么做",对齐学的是"什么该做、什么不该做"(安全、价值观)
- 三阶段数据量级差异? 预训练 1T+ tokens vs SFT 10 万级 vs 偏好对 10 万级——数据量递减,质量要求递增
面试话术:
"LLM 训练是'预训练→SFT→对齐'三阶段流水线:预训练在 TB 级数据上学 next-token 预测,得到博学的 Base 模型;SFT 用高质量指令对教会它对话和遵循指令;最后用 RLHF/DPO 做偏好对齐,决定模型的安全边界和价值观。三阶段数据量级递减、质量要求递增——这也是为什么对齐数据最贵。做应用开发时理解这点很重要:RAG 解决'知识不足',微调解决'能力不足',对齐解决'行为不合规'。"
