模型训练技术速查:预训练 / SFT / RLHF / 蒸馏 / DPO / RFT
一句话总览:大模型不是一锤子练出来的,而是经过预训练 → 后训练的流水线打磨。本文把这条流水线上的关键技术——SFT、RLHF、DPO、蒸馏、RFT、RLAIF——用小白能懂的比喻一次性讲清楚。
目录
- 0. 总览:训练大模型的”流水线”
- 1. 预训练(Pre-training)
- 2. SFT(监督微调)
- 3. RLHF(人类反馈强化学习)
- 4. DPO(直接偏好优化)
- 5. 蒸馏(Distillation)
- 6. RFT(拒绝采样微调)
- 7. RLAIF(AI 反馈强化学习)
- 8. 速查对比表
- 9. 训练流水线全景图
- 10. 与数据飞轮的关系
- 11. 与本知识库其他章节的关联
0. 总览:训练大模型的”流水线”
0.1 一个直观的比喻
把大模型训练想象成培养一个员工:
| 阶段 | 类比 | 技术名称 |
|---|---|---|
| 0. 上学 | 读完小学到大学的所有教材,学会通用知识 | 预训练 Pre-training |
| 1. 入职培训 | 教他公司流程、对话格式:“你应该这样回答客户” | SFT 监督微调 |
| 2. 上岗实习 | 主管挑选他的回答好坏:A 比 B 好 → 让他学着像 A 一样答 | RLHF / DPO |
| 3. 自我精进 | 自己做 100 道题,挑做对的反复练 | RFT |
| 4. 老带新 | 让一个老员工把经验传给新人 | 蒸馏 |
| 5. AI 当主管 | 让另一个 AI 来给员工打分(代替人类主管) | RLAIF |
0.2 为什么需要这么多步?
只做预训练——模型懂很多,但不会”听话”,让它写邮件它能给你写出小说。 只做 SFT——模型听话了,但容易胡说八道,没有”分寸感”。 加上 RLHF——模型有分寸了,但训练贵到飞起。 用 DPO 替换——便宜了,但效果略差。 蒸馏小模型——为了上线时省钱。
每一步都解决前一步的某个具体痛点。
1. 预训练(Pre-training)
一句话:把全互联网的文本喂给模型,让它学会”猜下一个字”。
1.1 怎么训
输入:海量文本(数万亿 token,相当于把整个互联网读 N 遍)
任务:给定前 N 个字,预测下一个字是什么
目标:让"预测准确率"持续提升
1.2 类比
像一个孩子从小到大读完了人类有史以来所有的书、网页、代码、对话。读得多了,他自然学会了语法、知识、逻辑、推理、常识——但他没人教过他怎么”和人对话”。
1.3 特点
| 维度 | 数值 |
|---|---|
| 数据量 | 数万亿 token |
| 训练成本 | 数千万到数亿美元 |
| 训练时间 | 几个月 |
| 输出 | 基础模型 (Base Model),不会聊天,只会续写 |
1.4 真实例子
- GPT-4 base 是预训练产物,OpenAI 没把它直接放给你用——你看到的 ChatGPT 是后训练之后的版本
- Llama 3 base 是开源的,可以自己拿来后训练
2. SFT(监督微调)
一句话:用”问答对”教模型怎么”听话回答”。SFT = Supervised Fine-Tuning
2.1 怎么训
准备数据:成千上万条 (问题, 标准答案) 对
任务:让模型学会,遇到问题 → 给出和标准答案一样的回答
数据样例:
{
"question": "Python 怎么读取一个文件?",
"answer": "可以用 open() 函数,with 语句更安全:\nwith open('file.txt') as f:\n content = f.read()"
}2.2 类比
新员工入职第一周,HR 给他看一本《标准应答手册》:
- “客户问 X,你就答 Y”
- “客户问 A,你就答 B”
他照着手册学几千遍,就学会了”该怎么回答”。
2.3 解决了什么问题
| 痛点 | SFT 后 |
|---|---|
| 基础模型只会续写 | 学会 “问→答” 这种对话格式 |
| 不知道什么是”用户” | 学会区分用户消息 / 助手回答 |
| 输出风格随意 | 学会公司想要的语气、长度、结构 |
2.4 特点
| 维度 | 数值 |
|---|---|
| 数据量 | 几千到几十万条高质量样本 |
| 成本 | 比预训练便宜 100~1000 倍 |
| 时间 | 几小时到几天 |
2.5 痛点
SFT 学到的是”标准答案”,不是”什么样的答案更好”。
举例:
- 用户问”帮我写个简历”
- 标准答案 A:详细但啰嗦
- 标准答案 B:简洁有力
- SFT 不知道哪个更好——它只是盲目模仿
要解决”哪个答案更好”,就需要 RLHF。
3. RLHF(人类反馈强化学习)
一句话:让人类标注员对比两个答案”哪个更好”,模型学着生成”被人偏爱”的那种。RLHF = Reinforcement Learning from Human Feedback
3.1 怎么训(三步走)
Step 1:让模型生成 N 个不同回答
问题:"如何减肥?"
回答 A:"多运动少吃。"
回答 B:"建议每天 30 分钟有氧 + 控制碳水……(详细 200 字)"
Step 2:人类标注员选 → "B 比 A 好"
Step 3:训练一个 Reward Model(奖励模型)学习人类偏好
→ 然后用这个 Reward Model 当"裁判",反复让模型生成、打分、调整
3.2 类比
主管不教你怎么写报告(那是 SFT 干的事),而是看你写完后说:
- “这版比上版好”
- “这版太啰嗦”
- “这版风格我喜欢”
你被表扬几百次后,自然学会”老板喜欢什么样的报告”。
3.3 解决了什么
| 维度 | SFT | RLHF |
|---|---|---|
| 学的是 | 标准答案 | 人类偏好 |
| 风格 | 死板 | 灵活、贴近真实喜好 |
| 安全性 | 不可控 | 可拒答有害问题 |
| 个性 | 千篇一律 | 可调(友善 / 专业 / 幽默) |
3.4 特点
| 维度 | 数值 |
|---|---|
| 数据 | 几万到几十万条偏好对 |
| 成本 | 标注偏好数据贵到飞起(人工) |
| 复杂度 | 高,要训 reward model + PPO |
3.5 真实例子
- ChatGPT 之所以爆红,关键就是 OpenAI 用 RLHF 把 GPT-3.5 调成了”会聊天的 ChatGPT”
- Claude 用 RLHF 配合 Anthropic 自创的 Constitutional AI(严格说 Constitutional AI 属于 RLAIF 流派,详见 § 7.4)
- Llama 3 Instruct 也是 RLHF 训出来的
3.6 痛点
RLHF 又贵又难训——PPO 算法不稳定、reward model 容易被”黑”(模型学会骗 reward model)。
4. DPO(直接偏好优化)
一句话:跳过 reward model,直接用偏好数据训。DPO = Direct Preference Optimization(2023 年斯坦福提出)
4.1 RLHF 和 DPO 的区别
RLHF(旧):
偏好数据 → 训 Reward Model → 用 RL(PPO)训主模型
↑ ↑
一道工序 一道工序
DPO(新):
偏好数据 ─────────────────→ 直接训主模型
(一步到位的数学公式搞定)
4.2 类比
- RLHF = 先培训一个”主管”打分,再让主管去训员工
- DPO = 跳过主管,直接拿着偏好数据告诉员工”这个比那个好”
4.3 优势
| 维度 | RLHF | DPO |
|---|---|---|
| 复杂度 | 高 | 低 |
| 训练稳定性 | 差(PPO 难调) | 好 |
| 显存需求 | 高 | 低 |
| 效果 | 略胜 | 接近,部分场景反而更好 |
4.4 真实例子
- Llama 3 的 Instruct 版本同时用了 SFT + DPO
- 大量开源微调项目都换成了 DPO(因为便宜)
- 但 OpenAI / Anthropic 这种大厂还是更倾向 RLHF(更精细)
5. 蒸馏(Distillation)
一句话:让一个大模型当老师,把它的能力压缩进一个小模型。
5.1 名字的由来
化学里的”蒸馏”——把酒里的水分蒸发掉,留下高度浓缩的酒精。
AI 里的蒸馏——把大模型里”水分多的部分蒸发掉”,让小模型继承精华。
5.2 怎么训
┌──────────────────────┐
│ Teacher Model(大) │
│ GPT-4 / Opus │ ← 慢、贵、聪明
└─────────┬────────────┘
│
回答 1 万道题(带"思考过程")
│
↓
┌──────────────────────┐
│ Student Model(小) │
│ GPT-4o-mini / Haiku │ ← 快、便宜、变聪明
└──────────────────────┘
5.3 类比
老师傅带徒弟:
- 老师傅做菜不仅给”成品”,还给”刀工怎么练”、“火候怎么看”、“调料怎么放”
- 徒弟学了几个月,能做出 80% 的味道,但做菜速度快 10 倍、人工成本低 20 倍
5.4 几种蒸馏类型
| 类型 | 做法 | 类比 |
|---|---|---|
| 硬标签蒸馏 | 老师只给最终答案 | 抄作业,只抄结果 |
| 软标签蒸馏 | 老师给每个选项的概率 | 抄作业,连”为啥这么选”都抄 |
| 链式蒸馏(CoT) | 老师给完整推理过程 | 学霸不仅给答案,还给解题步骤 |
5.5 经济效益
| 模型 | 成本 / 1M tokens | 速度 |
|---|---|---|
| Claude Opus(老师) | $15-75 | 慢 |
| Claude Haiku(学生) | $0.25-1.25 | 快 10 倍 |
蒸馏后:用 Haiku 处理 80% 的简单任务,只在难问题上 fallback 到 Opus → 整体成本降低 90%+。
5.6 真实例子
- GPT-4o-mini 据 OpenAI 说部分能力来自 GPT-4 蒸馏
- Claude Haiku 类似套路,从 Opus 蒸馏
- DeepSeek 的”灰色蒸馏”争议:业界怀疑用了 GPT-4 / Claude 的输出做训练数据(违反 OpenAI 服务条款)
6. RFT(拒绝采样微调)
一句话:让模型自己做 100 题 → 挑做对的拿来再练。RFT = Rejection Fine-Tuning
6.1 怎么训
Step 1:让模型对一道题生成 N=10 个答案
Step 2:用某种方式判断哪些是对的(人工 / 测试用例 / 大模型当裁判)
Step 3:保留对的,丢掉错的
Step 4:用"对的答案"做 SFT 微调
Step 5:模型变强 → 回到 Step 1
6.2 类比
差生学习法:
- 自己刷 10 套数学题
- 老师批改:留对的,丢错的
- 拿对的题反复研究,下次刷题对的更多
每一轮迭代,模型自己产出训练数据,自己教会自己。
6.3 适用场景
- 能自动验证对错的任务:数学(结果可校验)、代码(跑测试用例)、形式逻辑
- 不适合主观任务(写作、对话——没有”对错”)
6.4 真实例子
- DeepSeek-Math / DeepSeek-Coder 大量用 RFT
- OpenAI o1 / o3 推理模型的训练核心思想之一
- Self-Rewarding Language Models(Meta 论文)让模型自己当裁判 + RFT
7. RLAIF(AI 反馈强化学习)
一句话:把 RLHF 里的”人类标注员”换成”AI 标注员”。RLAIF = RL from AI Feedback
7.1 怎么训
RLHF:
问题 → 模型生成 A、B → 人类选哪个好 → 训练
RLAIF:
问题 → 模型生成 A、B → 大模型(如 GPT-4)选哪个好 → 训练
↑
用 AI 替代人类标注员
7.2 类比
- RLHF:每个员工的报告都要老板亲自看(贵、慢)
- RLAIF:训练一个”虚拟老板”(用大模型扮演),让它代替人去打分
7.3 优势 / 风险
| ✅ 优势 | ⚠️ 风险 |
|---|---|
| 标注成本降低 100 倍 | ”AI 偏见”会被放大 |
| 可以 7×24 标注 | 可能学到 AI 的怪癖而不是真实偏好 |
| 一致性高 | 失去人类直觉(如审美、伦理边界) |
7.4 真实例子
- Anthropic Constitutional AI:先列出”宪法原则”(如”不要有害”),用大模型按宪法给答案打分 → 训主模型
- Claude 的训练大量用 RLAIF + Constitutional AI
8. 速查对比表
| 技术 | 全称 | 数据形式 | 主要解决 | 成本 | 复杂度 |
|---|---|---|---|---|---|
| 预训练 | Pre-training | 海量文本 | 让模型有基础能力 | 💰💰💰💰💰 | 极高 |
| SFT | Supervised Fine-Tuning | (问题, 答案) 对 | 学会对话格式 | 💰 | 低 |
| RLHF | RL from Human Feedback | 偏好对 + 人类标注 | 对齐人类偏好 | 💰💰💰💰 | 高 |
| DPO | Direct Preference Optimization | 偏好对(同 RLHF) | RLHF 的简化版 | 💰💰 | 中 |
| 蒸馏 | Distillation | 老师模型生成的数据 | 把大模型压成小模型 | 💰💰 | 中 |
| RFT | Rejection Fine-Tuning | 自生成 + 自筛选数据 | 自我精进 | 💰 | 低 |
| RLAIF | RL from AI Feedback | AI 标注的偏好对 | 替代人工标注 | 💰💰 | 高 |
9. 训练流水线全景图
一个现代大模型的完整训练流程(以 Llama 3 / Claude 为例):
┌──────────────────────────────────────────────────────┐
│ Stage 0: 预训练 Pre-training │
│ 数万亿 token + 几个月 + 几亿美元 │
│ 产出:Base Model(不会聊天) │
└────────────────────┬─────────────────────────────────┘
↓
┌──────────────────────────────────────────────────────┐
│ Stage 1: SFT 监督微调 │
│ 几十万条精选 (问题, 答案) 对 │
│ 产出:Instruct Model(会基本对话) │
└────────────────────┬─────────────────────────────────┘
↓
┌──────────────────────────────────────────────────────┐
│ Stage 2: 偏好对齐(任选其一或组合) │
│ ├─ RLHF:贵但精细 │
│ ├─ DPO:便宜接近 RLHF │
│ └─ RLAIF:用 AI 标注 + Constitutional AI │
│ 产出:Aligned Model(懂人类偏好、不胡说) │
└────────────────────┬─────────────────────────────────┘
↓
┌──────────────────────────────────────────────────────┐
│ Stage 3: 推理增强(可选) │
│ └─ RFT:自生成 + 自筛选 → 反复迭代 │
│ 产出:Reasoning Model(如 o1、DeepSeek-R1) │
└────────────────────┬─────────────────────────────────┘
↓
┌──────────────────────────────────────────────────────┐
│ Stage 4: 模型小型化(部署用) │
│ └─ 蒸馏:从大模型蒸到小模型 │
│ 产出:Small Model(如 Haiku、GPT-4o-mini) │
└──────────────────────────────────────────────────────┘
10. 与数据飞轮的关系
回到这篇文档的起点——这些训练技术怎么塞进 Agent 的数据飞轮?
Agent 数据飞轮(外圈)
┌───────────────────────────────────────┐
│ │
│ ① 用户使用 Agent │
│ ↓ │
│ ② 收集真实使用数据 │
│ ↓ │
│ ③ 数据加工 / 标注 │
│ ├─ 用大模型当老师 → 蒸馏材料 │
│ ├─ 用 AI 标注偏好 → RLAIF 材料 │
│ └─ 用测试用例筛选 → RFT 材料 │
│ ↓ │
│ ④ 选择训练技术回灌到模型 │
│ ├─ 改 system prompt(最快、最便宜) │
│ ├─ SFT(修复格式问题) │
│ ├─ DPO(修复偏好问题) │
│ ├─ 蒸馏(降本) │
│ └─ RFT(提升推理能力) │
│ ↓ │
│ ⑤ 上线新版本 → 飞轮加速 │
│ │
└───────────────────────────────────────┘
判断框架:飞轮里该用哪种技术?
| 痛点 | 该用什么 |
|---|---|
| 输出格式总错 | SFT |
| 用户老反馈”啰嗦 / 冷冰冰” | DPO 或 RLHF |
| 大模型太贵 | 蒸馏 |
| 数学 / 代码任务出错率高 | RFT |
| 标注成本顶不住 | RLAIF |
| 只是 prompt 没写好 | 别动模型,改 prompt 就行 |
💡 黄金原则:能改 prompt 解决的,绝不动模型;能 SFT 解决的,绝不上 RLHF。先改最便宜的那一层。
11. 与本知识库其他章节的关联
| 关联点 | 文档 | 关系 |
|---|---|---|
| 数据飞轮总览 | Agent发展轨迹四阶段 § 10.7.2 | 飞轮是这些训练技术的”应用场景” |
| Transformer 基础 | Transformer | 训练对象——所有这些技术都在调 Transformer |
| 上下文窗口 / Token 经济 | 上下文窗口与Token计费 | 蒸馏的经济动机就在这里 |
| Harness 工程 | Harness工程与Agent解剖 | 推理时的工程外壳,与训练时技术互补 |
| DeepSeek 的架构与训练创新 | DeepSeek | GRPO 算法 / R1 多阶段训练 / R1-Distill 家族——本文术语在 DeepSeek 上的实战案例 |
| 预训练为什么让模型”会归纳主题” | 大模型如何理解文本 | 把预训练阶段见过的”长内容 + 短总结”映射,串到任务能力视角 |
附:术语缩写速记表
| 缩写 | 全称 | 中文 |
|---|---|---|
| SFT | Supervised Fine-Tuning | 监督微调 |
| RLHF | Reinforcement Learning from Human Feedback | 人类反馈强化学习 |
| DPO | Direct Preference Optimization | 直接偏好优化 |
| RFT | Rejection Fine-Tuning | 拒绝采样微调 |
| RLAIF | Reinforcement Learning from AI Feedback | AI 反馈强化学习 |
| PPO | Proximal Policy Optimization | 近端策略优化(RLHF 用的算法) |
| CoT | Chain-of-Thought | 思维链 |
| LoRA | Low-Rank Adaptation | 低秩适配(一种省显存的微调方式) |