SFT 与 RLHF
对应课程 Lecture 15:Mid/post-training (SFT/RLHF)(Tatsu)
预训练完成时,模型是个“超强的自动补全”:给它问题,它更可能续写更多问题,而不是回答。后训练(post-training) 把它变成助手,经典三步走:
预训练模型 → [SFT 指令微调] → 听指令的模型
→ [奖励建模] → 知道人类偏好的模型
→ [RLHF 强化学习] → 对齐后的助手SFT:监督微调
监督微调(Supervised Fine-Tuning,SFT) 用“指令 → 高质量回答”的成对数据继续做 next-token prediction,只是只对回答部分计算损失(prompt 部分屏蔽)。
数据格式与聊天模板
多轮对话被格式化为带角色标记的序列(即聊天模板,chat template):
<|user|>解释一下什么是熵<|assistant|>熵衡量的是……<|end|><|user|>再举个生活化的例子<|assistant|>……- 特殊 token 标记角色与轮次边界,模型由此学会“何时停止”;
- 系统提示(system prompt) 设定全局行为(身份、规则);
- 不同模型的模板不同,部署时用错模板是常见的“模型变笨”原因。
数据工程是 SFT 的核心
SFT 的质量主要由数据决定,数量反而次要:
- LIMA 的教训:约 1000 条精选样本就能教会强基座“服从指令”——基座已具备能力,SFT 只是“激发”它;
- 数据来源:人工标注(InstructGPT 初版)、更强模型蒸馏(Alpaca 用 GPT 生成)、自我改进(rejection sampling:模型自己生成多份,按质量挑选,再训自己);
- 多样性(任务类型、领域、难度、风格)比堆数量重要。
RLHF:从人类反馈中强化学习
SFT 只能模仿示范答案,无法表达“这个回答比那个好”。RLHF(Reinforcement Learning from Human Feedback) 直接优化偏好。
第一步:训练奖励模型
收集人类对同一提示下多个回答的偏好排序(A 比 B 好),训练奖励模型(Reward Model,RM) 输出标量分数:
即让“更好的回答”得分更高。RM 是一个同构的 LM(把语言头换成标量头)。
第二步:用 PPO 优化策略
把语言模型当作策略(policy):状态是已生成文本,动作是下一个 token。用 PPO(Proximal Policy Optimization) 最大化奖励模型给的分数:
关键部件:
- KL 惩罚:对偏离参考模型(SFT 版)太远的输出惩罚——防止“奖励黑客”(reward hacking),即模型找到 RM 的漏洞刷分(比如生成谄媚的套话、超长废话)而不真正变好;
- 价值模型/评论家(critic):PPO 需要估计每个状态的价值,又是一份全模型大小的副本——显存开销巨大;
- 一次 RLHF 训练同时在显存里放:策略、参考模型、RM、critic 四份大模型。工程复杂度是这项技术出了名难做的根本原因。
RLHF 改变了什么?
- 有用性:回答更符合指令、更完整、更“助手化”;
- 风险:奖励模型分数 ≠ 真实质量。过优化(over-optimization) 表现为迎合(sycophancy)、冗长化、信息密度下降——优化的是 RM 的看法,不是真理。
DPO:绕过强化学习的对齐
直接偏好优化(Direct Preference Optimization,DPO) 用一个数学观察把 RL 问题变成监督学习:最优策略与奖励函数之间存在解析关系,代入后可以直接从偏好数据优化策略:
直觉:提高好回答的相对概率,压低差回答的相对概率,以参考模型为锚点防漂移。
| 维度 | PPO(RLHF) | DPO |
|---|---|---|
| 显存 | 4 个大模型 | 策略 + 参考模型 |
| 需要 RM? | 是(在线采样用) | 否 |
| 在线探索 | 有,可发现新解法 | 无,只拉近/推远既有样本 |
| 实现难度 | 高 | 低(几十行) |
实践:离线偏好优化常用 DPO 及其变体(IPO、KTO、SimPO);在线 RL(RLVR 场景,下一讲)仍是 PPO/GRPO 的天下。
RLAIF 与宪法式对齐
人类标注贵且慢,Anthropic 提出 RLAIF:用 AI 反馈替代人类。宪法式 AI(Constitutional AI) 的流程:
- 给模型一份“宪法”(自然语言写成的原则清单);
- 模型按原则自我批评、修改自己的回答;
- 用修改前后作为偏好对,训 RM 或直接 DPO。
成本低、可大规模扩展、原则可审计——代价是继承评审模型的偏见。当前工业界是“人类 + AI 反馈”混合。
小结
- SFT 教格式与行为,数据质量 > 数量;聊天模板是工程上最容易出错的地方。
- RLHF = 奖励模型 + KL 约束的强化学习;奖励黑客和过优化是核心风险。
- DPO 把偏好对齐化简为监督学习,工程友好;两者在工业管线中并存。
- 用 AI 替代人类反馈(RLAIF/宪法式对齐)让对齐数据可以规模化。