先说结论
RLHF 是通过收集人类偏好数据、训练奖励模型、再用强化学习优化语言模型的三个阶段流程,使模型输出更符合人类期望。
为什么我会单独记这一篇
SFT 解决了「模型知道如何回答」,但无法解决「什么是好的回答」。SFT 本质是模仿学习,只能复制人类示范者的输出分布,但:
- 人类示范者的质量有上限
- 模型可能学到表面模式而非深层意图
- 无法区分「好」与「更好」之间的细微差异
RLHF 通过引入人类偏好信号作为奖励,让模型在「什么是好的」这个维度上进一步优化。
先把核心脉络捋清楚
InstructGPT:RLHF 的里程碑
InstructGPT(Ouyang et al., 2022)确立了「SFT → RM → PPO」三阶段管道。
阶段一:SFT
- 收集人类标注者编写的示范数据
- 在 GPT-3 上进行标准监督微调
- 产出 SFT 模型
阶段二:RM 训练
- 用 SFT 模型对每个 prompt 生成多个回复
- 人类标注者对这些回复进行排名
- 训练奖励模型 预测人类偏好
阶段三:PPO 强化学习
- 目标函数:
核心发现:1.3B 参数的 InstructGPT 在人类评估中优于 175B 的原始 GPT-3。
RLHF 完整流程
预训练模型
│
▼
[阶段1] SFT ─── 在人类示范数据上微调
│
├──────────────────────┐
▼ ▼
[阶段2] RM训练 [保留为参考模型]
│ π_ref
▼
[阶段3] PPO训练
│ └── 奖励 = r_φ(x,y) - β·KL(π_θ || π_ref)
▼
最终对齐模型
数据需求
| 阶段 | 数据类型 | 规模 |
|---|---|---|
| SFT | 指令-回复对 | ~13k 条 |
| RM | 偏好排序数据 | ~33k 对比组 |
| PPO | prompt 集 + 在线采样 | ~31k prompts |
原理拆开看
RLHF 的核心是一个受约束的优化问题:在不过度偏离参考模型的前提下,最大化奖励模型给出的分数。KL 散度惩罚确保策略不会退化为「奖励投机」。
放到工程里怎么落
迭代式 RLHF
工业实践中 RLHF 通常是迭代的:
- 用当前模型生成输出
- 收集新的人类偏好数据
- 重新训练 RM
- 用新的 RM 进行 PPO 训练
- 重复
与相邻概念的区别
| 维度 | SFT | RLHF (PPO) | DPO |
|---|---|---|---|
| 模型数量 | 1 | 4 | 2 |
| 需要在线采样 | 否 | 是 | 否 |
| 显存需求 | 低 | 极高 | 中 |
| 训练稳定性 | 高 | 低 | 高 |
| 效果上限 | 中 | 高 | 高 |
| 工业成熟度 | 极高 | 高 | 高 |
设计时真正要权衡什么
- RLHF vs DPO:DPO 更简单稳定,RLHF 上限可能更高但极难调参
- RM 数据量 vs 质量:少量高质量偏好对 > 大量低质量
- KL 惩罚系数 β:太小导致奖励投机,太大限制优化空间
容易踩的坑
- 奖励投机(Reward Hacking):模型利用 RM 漏洞获得高分但实际输出无意义
- 训练不稳定:PPO 超参数极其敏感,训练可能突然发散
- 显存爆炸:需要同时维护 4 个模型(策略/参考/奖励/价值函数)
- 冗长回复偏差:RM 可能偏好更长的回复
工程落地时我会怎么做
- 头部 AI 公司(OpenAI、Anthropic、Google)的标准做法
- 中小团队优先考虑 DPO
- 如需使用 PPO,用 HuggingFace TRL 或 OpenRLHF 等成熟框架
如果要对外讲,可以怎么概括
"RLHF 是当前最强效的对齐方法,分三步:先 SFT 建立基本能力,再训练 Reward Model 学习人类偏好,最后用 PPO 优化策略模型。关键创新是用 KL 惩罚防止奖励投机。InstructGPT 证明 1.3B 的 RLHF 模型可以超越 175B 的原始模型。但 PPO-RLHF 工程复杂度极高(需要 4 个模型同时运行),所以 DPO 正在成为更主流的选择。"
最后记几条
- RLHF = SFT → RM → PPO 三阶段
- InstructGPT:1.3B RLHF > 175B 原始 GPT-3
- KL 惩罚是防止奖励投机的核心机制
- 需要 4 个模型同时运行(策略/参考/奖励/价值函数)
- DPO 正在成为更实用的替代方案
延伸阅读
- 大模型总索引
- ML 基础视角的 Fine-tuning 概览 — RLHF 在完整训练链路中的位置
延伸阅读
- 监督微调SFT — RLHF 的第一阶段
- 奖励模型 — 奖励模型详解
- PPO训练细节 — PPO 训练的工程细节
- 偏好优化DPO_GRPO — DPO 等简化方案
参考资料
- InstructGPT (Ouyang et al., 2022) — arxiv.org/abs/2203.02155
- HuggingFace TRL 文档 — huggingface.co/docs/trl