SFT · RLHF · DPO 对齐篇
预训练之后,你得到的是一个"读遍全人类文字、但不懂对话礼仪"的怪物基座。对齐(alignment)就是把这个怪物调教成有用、诚实、无害的助手——它是 ChatGPT、Claude、DeepSeek 之所以"好用"的最后一公里,也是过去两年 AI 领域最活跃的战场。
公司招了一个天才实习生——他博览群书、什么都懂,但完全没接受过职场训练:
你问他"帮我起草一封邮件",他可能反问你"起草是什么意思";
你请他推荐一本书,他可能给你一本涉及暴力的书;
你让他解释一个概念,他给你写了篇 5000 字论文——你只想要 3 句话。
于是 HR 分三步培训他:
Step 1 — 给他看 1000 份"标准回答",模仿着写(SFT);
Step 2 — 让他写两个版本,员工投票选更好的,训一个"品味打分器"(Reward Model);
Step 3 — 让他反复写、打分器反复打分,他一次比一次说得更得体(RLHF)。
三步走完,天才怪物就变成了顺手的助理。
一、SFT:监督微调,学"对话的样子"
SFT(Supervised Fine-Tuning,监督微调)是对齐的第一步。做法很简单:准备几万到几十万条"高质量对话"——问题 + 理想的回答——让基座模型模仿着学。技术上还是预测下一个 token 的目标函数,只不过数据从"网页文本"换成了"人写的标准问答"。
SFT 的关键在数据质量。这些"标准回答"通常由高薪标注员或专家撰写:一个医学问题的回答,可能请医生写;一个法律问题的回答,可能请律师写。一条 SFT 数据可能价值 5 到 50 美元,但只有几万条就能显著改变模型的"说话风格"和"回答格式"。
SFT 之后,模型学会了:
- 对话格式"用户问 → 助理答"这种模式,而不是漫无边际地续写。
- 拒绝有害请求面对"如何制毒"这样的问题,学会礼貌拒绝。
- 遵循指令"用列表"、"用韩语"、"200字以内"——学会照做。
- 工具使用如果 SFT 数据里包含函数调用示例,模型也能学会调用工具。
但 SFT 有个天花板——模型只会模仿"人写过的答案",而人写的答案数量有限、风格也有限。要突破这个瓶颈,就需要下一步——RLHF。
二、RLHF:让模型"讨人喜欢"
RLHF(Reinforcement Learning from Human Feedback,基于人类反馈的强化学习)是 ChatGPT 之所以成为 ChatGPT 的关键技术。它的思路很聪明:让人给答案"打分"比"写答案"容易得多——从两个回答中选一个更好的,只需要几秒钟;从头写一个好回答,可能要几分钟。
RLHF 分三步走:
| 步骤 | 做什么 | 产物 |
|---|---|---|
| ① 收集偏好数据 | 让 SFT 模型对同一问题生成 2-4 个回答;人工标注哪一个更好 | 偏好数据集(几十万条) |
| ② 训练奖励模型 | 用偏好数据训练一个"品味打分器"——输入问题+回答,输出一个分数 | Reward Model(RM) |
| ③ PPO 强化学习 | 让 SFT 模型生成回答,用 RM 打分,用 PPO 算法调整模型参数——分数越高越好 | 对齐后的模型 |
PPO(Proximal Policy Optimization,近端策略优化)是 OpenAI 提出的强化学习算法。它有一个精妙的机制:不让模型偏离原来的 SFT 版本太远——因为强化学习容易"跑偏",为了拿高分模型可能生成一些奇怪但骗过 RM 的答案,PPO 用一个 KL 散度惩罚项,把新模型"拴"在 SFT 模型附近。
RLHF 之后,模型变得圆滑、得体、有礼貌、会道歉、会解释——这就是你感觉到 ChatGPT "会聊天"的原因。它并不是变聪明了(知识量没增加),而是学会了"怎么把已经知道的东西说得让人喜欢听"。
SFT 阶段就像给学生看标准答案——他学会了"答题的样子"。RLHF 阶段就像请一位品味老师坐旁边——学生每写一个答案,老师点评"这个更好、那个太啰嗦、这段有礼貌加分、那段冷冰冰扣分"。学生反复试、老师反复评——一年下来,学生的"品味"就跟老师同步了。RLHF 的本质,是把"打分器"里的品味,蒸馏进大模型的参数里。
三、DPO:把 RLHF 变简单
RLHF 虽然好用,但工程复杂:要维护三个模型(SFT、RM、当前策略),要跑 PPO 这种 tricky 的强化学习算法,训练不稳定、超参多。2023 年斯坦福提出的 DPO(Direct Preference Optimization,直接偏好优化),把 RLHF 大幅简化了。
DPO 的核心洞察是:既然目标是让模型对齐偏好数据,为什么要绕道 RM+PPO?——它用数学推导出一个损失函数,可以直接在偏好数据上做监督式训练,跳过奖励模型这一步。工程上,DPO 只需要偏好数据 + 一次微调——训练稳定、代码简单、效果与 RLHF 相当或更好。
2024 年之后,DPO 成为开源模型的默认选择:Llama 3、Mistral、Qwen 系列都用了 DPO 或其变体(IPO、KTO、SimPO 等)。OpenAI 和 Anthropic 内部据说仍在用 RLHF+PPO——因为在超大规模下 RLHF 依然有其优势——但对于 90% 的团队,DPO 已经够用。
四、RL 推理训练:o1 / R1 的新范式
2024 年下半年,OpenAI 发布 o1、DeepSeek 发布 R1,让 AI 界震动的是——他们用强化学习让模型学会了"一步步深度思考"。这跟 RLHF 有本质区别:RLHF 是让模型"讨人喜欢",RL 推理训练则是让模型"真正会推理"。
做法大体是:给模型出难题(数学、代码、逻辑),让它生成很长的思维链(chain-of-thought);如果最终答案对,就给奖励;如果错,就给惩罚。DeepSeek-R1 的关键发现是:只用规则奖励(答案对就给分),不用人写偏好数据,模型也能自己"想出"越来越长、越来越复杂的推理链——这被称为"啊哈时刻",因为它像是模型自己学会了反思。
- 奖励类型规则奖励(答案对错)+ 格式奖励(是否用了 <think> 标签)——非常简单。
- 算法DeepSeek 用的是 GRPO——PPO 的简化变体,去掉 Critic 网络省显存。
- 效果数学、代码、逻辑推理能力暴涨,超越 GPT-4 的直接回答版本。
- 代价推理时消耗大量 token(一次回答可能几万字思考)——但值得。
五、对齐的三层地图
把 SFT、RLHF、DPO、RL 推理放到一张地图上:
| 阶段 | 目标 | 数据 | 典型算法 |
|---|---|---|---|
| SFT | 学对话样式与指令遵循 | 问答对(几万-几十万条) | 标准监督学习 |
| Reward Model | 学"什么答案更好" | 偏好对(几十万条) | Bradley-Terry 排序 |
| RLHF | 提升礼貌、有用性 | RM 给的分 | PPO / GRPO |
| DPO | RLHF 的简化替代 | 偏好对 | 直接损失优化 |
| RL 推理训练 | 学一步步深度思考 | 数学/代码答案对错 | 规则奖励 + GRPO/PPO |
六、对齐税:给模型"戴上礼貌手铐"的代价
对齐虽然让模型好用,但也有对齐税(alignment tax)——过度对齐会让模型变笨、变啰嗦、变胆小。你可能注意到:同一个模型的 Base 版有时反而比 Chat 版更聪明,因为 Chat 版为了礼貌、安全,牺牲了一部分原始能力。这是全行业都在权衡的问题——如何既让模型有礼貌又不损失聪明。
预训练给了模型"知识",对齐给了模型"教养"。SFT 教它对话的样子、RLHF/DPO 教它讨人喜欢、RL 推理教它一步步思考——这三层调教,把一个野生的语言模型,变成了今天你在用的 ChatGPT、Claude、DeepSeek。从此以后,训练一个 AI 不再只是"读书",还要"上礼仪课、学演讲、练思考"——AI 训练,正在越来越像"养一个人"。