RLHF
三步流程(SFT → 训 RM → PPO)的原理、显存代价与 reward hacking 风险
核心要点:
- RLHF 三步:SFT → 训 reward model (RM) → PPO 用 RM 优化 policy
- RM loss = Bradley-Terry pairwise: $-\log \sigma(r(\text{chosen}) - r(\text{rejected}))$
- PPO clip $\epsilon=0.2$ 限制 policy 单步更新幅度防训练崩
- KL penalty $\beta=0.02$ 防 policy 偏离 SFT 太远导致 reward hacking
- InstructGPT 1.3B 击败 GPT-3 175B base, 100× 参数差距被 RLHF 抹平
- PPO 显存吃 4 个模型 (policy + ref + RM + value), SFT 的 4 倍
- Constitutional AI 用 16 条原则替代人工 harmlessness 标注
- 业界从 PPO 转 DPO 的根本动机:工程复杂度与训练稳定性
名词定义
本篇共享名词在 7.1 总览 已定义 (RLHF / PPO / Reward model / KL penalty / Bradley-Terry / Reward hacking)。本篇新引入:
| 名词 | 定义 |
|---|---|
| Helpful + Harmless (HH) | Anthropic 提出的双目标对齐,helpful 让回答有用,harmless 让回答不造成伤害 |
| Constitutional AI (CAI) | Anthropic 2022 路线,用一组自然语言原则 (constitution) 让 AI 自己 critique + revise 输出 |
| Verbosity bias | Reward hacking 典型表现,模型学会"加列表 / 加重复" 拿高分但实际不更有用 |
| Sycophancy (谄媚) | Reward hacking 另一种表现,模型优先输出"看起来对" 而非"实际正确" |
| Mode collapse | RL 训练崩溃:policy 输出分布退化,多样性消失,总是说同样几句话 |
| Value head | PPO 中的辅助模型,学习预测 advantage;与 policy 共享 backbone |
| Advantage ($\hat{A}_t$) | PPO 中"这一步比平均好多少" 的估计,用 GAE (Generalized Advantage Estimation) |
@tbl-rlhf-glossary 本篇新引入名词
为什么 SFT 之后还要 RLHF?
核心问题:02 篇说 SFT 已经让模型听指令,LIMA 甚至证明 1000 样本能达到 GPT-4 水平。为什么还要 RLHF?它解决什么 SFT 解决不了的问题?
SFT 教模型"按格式回答", RLHF 教模型"哪种回答更被人类偏好"——前者是模仿,后者是优化。
SFT 的根本局限:只能学示范,学不出偏好
SFT 用 (指令,回答) 对训练,模型学到的是"看到这个指令应该输出这个回答"。但人类偏好不是"唯一正确答案":
- 同一指令可以有多个合理回答,但"好回答" 和"差回答" 仍有区别
- SFT 数据可能"教错":标注者写的回答可能不是最佳,模型学到的是次优
- 多个回答的相对排序 SFT 表达不出来
RLHF 通过偏好对比直接学排序:给定 prompt,比较两个回答哪个好,让 policy 朝"被偏好的那种"方向优化。
三步流程:SFT → RM → PPO
InstructGPT (Ouyang et al. 2022)[1] 系统化了 RLHF 三步流程:
| Step | 输入 | 输出 | 算法 |
|---|---|---|---|
| 1. SFT | (prompt, demo) 13K | $\pi_{\text{SFT}}$ | CLM (见 02-SFT) |
| 2. RM | (prompt, $y_w, y_l$) 33K (人类偏好排名) | $r_\theta$ (6B 参数) | Bradley-Terry pairwise loss |
| 3. PPO | (prompt) 31K (无人工标注) + $r_\theta$ + $\pi_{\text{SFT}}$ | $\pi_{\text{RLHF}}$ | PPO + KL penalty |
@tbl-rlhf-three-steps InstructGPT 三步流程 + 各步数据规模
Step 2: Reward Model 怎么训?
核心问题:Reward model 给模型回答打分,但人类很难给"绝对分数"。RM 怎么从相对偏好学到打分?
Reward model 用 Bradley-Terry pairwise loss 训,仅学"chosen 比 rejected 高"的相对差,绝对分数没有意义。
RM 训练目标:Bradley-Terry
给定 (prompt $x$, chosen response $y_w$, rejected response $y_l$), RM 损失:
$$\begin{equation} \mathcal{L}_{\text{RM}} = -\mathbb{E}_{(x, y_w, y_l) \sim D}\left[\log \sigma\left(r_\theta(x, y_w) - r_\theta(x, y_l)\right)\right] \label{eq:rlhf-rm-loss} \end{equation}$$- $\sigma$ 是 sigmoid
- 让 $r_\theta(x, y_w) > r_\theta(x, y_l)$
- 只有差值有意义——给所有 $r_\theta$ 加常数不改变 loss,即 reward 是 shift-invariant 的
RM 架构与规模
- 一般是与 policy 同架构的 transformer,末尾加一个标量输出 head (替代 LM head)
- InstructGPT 用 6B 参数 RM 训 175B policy, RM 比 policy 小但仍需要足够容量
- Llama 2 RM: 70B (与 policy 同规模)
数据收集:偏好排名
InstructGPT 的偏好数据收集:
- 给标注员 prompt 和模型生成的 $K$ 个回答 ($K = 4$ 到 $9$)
- 标注员排序所有 $K$ 个回答
- 排序产生 $\binom{K}{2}$ 个 pairwise 对
- 33K 排名 → 数十万 pairwise 对
为什么用排名而非打分:标注员排序比打分一致性高得多 (打分受标注员主观影响大)。
Step 3: PPO 怎么用 RM 优化 policy?
核心问题:有了 RM 给信号,怎么训 policy 让它最大化 RM 分数?直接 max reward 行不行?
PPO 的核心思路:clip policy 更新幅度 + KL 锚定 SFT,既最大化 reward 又不让 policy 偏离 SFT 太远。
PPO 的 clip 目标
PPO (Schulman 2017)[2] 的损失:
$$\begin{equation} \mathcal{L}^{\text{CLIP}}(\theta) = \mathbb{E}_t\left[\min\left(r_t(\theta) \cdot \hat{A}_t, \mathrm{clip}(r_t(\theta), 1-\epsilon, 1+\epsilon) \cdot \hat{A}_t\right)\right] \label{eq:rlhf-ppo-clip} \end{equation}$$- $r_t(\theta) = \frac{\pi_\theta(a_t | s_t)}{\pi_{\text{old}}(a_t | s_t)}$: probability ratio (新 policy vs 旧 policy)
- $\hat{A}_t$: advantage (这一步比平均好多少,用 GAE 估计)
- $\mathrm{clip}(r_t, 1-\epsilon, 1+\epsilon)$ 限制 $r_t$ 不偏离 1 太远
- InstructGPT 用 $\epsilon = 0.2$
Clip 的直觉
PPO 是 on-policy RL:每轮用当前 policy 采样,优化,再采样,再优化。Clip 限制每步 policy 不能改太多,防止"一步走太远导致采样分布失真"。
- 当 advantage 为正 (这个动作好) + ratio > 1 (新 policy 更倾向这个动作):clip 上限 $1+\epsilon$ 防止"过度偏向"
- 当 advantage 为负 (这个动作差) + ratio < 1: clip 下限 $1-\epsilon$ 防止"过度抑制"
没有 clip → 训练崩:policy 一步偏离 sampling distribution 太远,off-policy 估计失效。
KL Penalty 防 reward hacking
完整的 RLHF reward 形式:
$$\begin{equation} r_{\text{eff}}(x, y) = r_\theta(x, y) - \beta \cdot \log \frac{\pi_\phi^{\text{RL}}(y | x)}{\pi^{\text{SFT}}(y | x)} \label{eq:rlhf-kl-penalty} \end{equation}$$- 第一项是 RM 给的奖励
- 第二项是 KL penalty,防 policy 偏离 SFT 太远
- InstructGPT $\beta = 0.02$
为什么需要 KL penalty: reward hacking 实例
RM 是真实人类偏好的近似——无约束 PPO 会让 policy 找到 RM 的漏洞但不真正 helpful。
Stiennon 2020[3] 实测对比:
- 训练步数增加,RM score 持续上升
- 但人类真实偏好在某个步数后开始下降
- 即 policy 学会"骗 RM" 而非"变得更 helpful"
Verbosity bias (典型 reward hacking):模型学会加列表 / 加重复内容 / 加冗余解释,这些在 RM 看来分高 (RM 可能在长回答上训练偏置),但人类觉得啰嗦。
KL penalty 把 SFT model 当锚,限制 policy 偏离,防止 policy 走向 RM 漏洞角落。
InstructGPT-ptx:防 alignment tax
InstructGPT 还用 PPO-ptx 变体,额外加预训练梯度:
$$\begin{equation} \mathcal{L} = \mathcal{L}^{\text{CLIP}} + \gamma \cdot \mathbb{E}_{x \sim D_{\text{pretrain}}}[\log \pi_\phi^{\text{RL}}(x)] \label{eq:rlhf-ppo-ptx} \end{equation}$$防止"alignment tax": RLHF 让模型在对齐目标上提升,但在预训练任务 (如 SuperGLUE / PIQA 等) 性能下降。加预训练梯度让模型同时维持基础能力。
InstructGPT 核心实证:1.3B 击败 175B
InstructGPT 论文最有力的实证:
- InstructGPT 1.3B 在人类评估中胜过 GPT-3 175B base
- 100× 参数差距被 RLHF 对齐完全逆转
这证明:RLHF 阶段虽然算力 < 1%,但决定模型实际可用性。
Anthropic 路线:HH + Constitutional AI
核心问题:InstructGPT 让模型"听指令",但还需要"无害"。Anthropic 推动的 helpful + harmless (HH) 怎么做?Constitutional AI 解决了什么?
Anthropic HH-RLHF 用两套偏好数据 (helpful + harmless) 训 RM; Constitutional AI 进一步用 AI 替代人类做 harmlessness 标注。
HH-RLHF (Bai 2022)
Anthropic Bai et al. 2022[4] 提出双目标:
- Helpful:回答有用,用 helpful preference data 训 helpful RM
- Harmless:不造成伤害 (拒绝违法 / 暴力 / 性内容请求),用 harmless preference data 训 harmless RM
两个 RM 各自学一种偏好,PPO 阶段联合优化。
Constitutional AI:用原则替代人工标注
Bai et al. 2022b Constitutional AI[5] 解决"harmlessness 数据成本高 + 人类标注者接触有害内容的伦理问题":
核心思路:给 AI 一个 constitution (约 16 条自然语言原则),让 AI 自己 critique + revise 输出。
两阶段:
-
SL-CAI (Supervised Learning CAI):
- 给模型生成的 (potentially harmful) 输出
- 用 constitution 让模型自己 critique (找出违反哪条原则)
- 用 critique 让模型 revise 输出
- 用 (原 prompt, revised output) 做 SFT
-
RL-CAI (RLAIF, RL from AI Feedback):
- 用独立 feedback 模型生成偏好标签 (替代人类)
- 训 Preference Model (PM)
- PPO 用 PM 微调
Helpfulness 仍用人工标注,harmlessness 完全由 AI 生成。
CAI 实证:"harmless but non-evasive"
CAI 模型的行为特征:
- 面对有害请求会解释理由而非简单拒绝
- 解决早期 RLHF "过度 evasive" (一律拒绝 + 不解释) 的问题
- 例如有人问"如何制造爆炸物", CAI 模型会解释为什么不能教,而不是"对不起,我不能回答"
RLAIF: AI 反馈替代人工
Lee et al. 2023 RLAIF[6] 系统对比 AI vs 人类反馈:
| 任务 | RLAIF | RLHF | 差异 |
|---|---|---|---|
| Summarization | 71% | 73% | 无显著 |
| Harmless dialogue | 88% | 76% | RLAIF 优 |
| Direct-RLAIF (跳过 RM,用 LLM token 概率作 reward) | 74% | — | 可行 |
@tbl-rlhf-rlaif-vs-rlhf RLAIF vs RLHF 实证对比
关键数字:
- AI 标注成本约人工的 1/10
- PaLM 2 Large 与人类偏好一致率 78%,已达人类标注者间一致率 (73-77%) 水平
这是 RLHF 走向 RLAIF 的根本依据:AI 已经能给出与人类相当的偏好信号。
RLHF 的工程难点
核心问题:既然 RLHF 这么 powerful,为什么 Llama 3 / Qwen 都转 DPO?它的具体痛点在哪?
RLHF (PPO) 在工程上有四个核心痛点:显存翻 4 倍 + 训练不稳 + reward hacking + 标注成本高。
痛点 1:显存翻 4 倍
PPO 阶段需同时在 GPU 维护 4 个模型:
- $\pi_\theta$:当前 policy (训练中)
- $\pi^{\text{SFT}}$: reference (用于 KL penalty,固定)
- $r_\theta$: reward model (前向,固定)
- $V_\phi$: value head (与 policy 共享 backbone,但额外 head)
70B 模型单份 fp16 约 140 GB, 4 份合计 ≥ 560 GB,实际需 8× A100-80GB——是 SFT 显存的 4 倍。
痛点 2:训练不稳
核心来源:
- KL 系数 $\beta$ 过小 → policy 偏离 SFT 初始化,出现"乱码得高分" 现象
- Mode collapse: policy 输出多样性崩塌,总是说同样几句话
- Reward hacking: policy 找到 RM 漏洞,RM score 高但实际差
- 超参敏感:$\epsilon, \beta, \gamma$ 等都需要精细调
痛点 3: Reward hacking 的具体表现
| 类型 | 描述 |
|---|---|
| Verbosity bias | 模型学会加列表 / 重复 / 冗长解释拿高分 |
| Sycophancy | 模型优先输出"看起来对"而非"实际正确" |
| Format hacking | 模型用特定格式 (Markdown / emoji 等) 触发 RM 偏置 |
| Refusal abuse | 模型过度拒绝,因为"拒绝" 比"说错" 在 RM 上扣分少 |
@tbl-rlhf-hacking Reward hacking 的常见表现
痛点 4: Casper 2023 系统化分析
Casper et al. 2023 "Open Problems and Fundamental Limitations of RLHF"[7] 列了 23 个开放问题,分三类:
| 类别 | 问题 |
|---|---|
| 人工反馈质量 | 标注者间一致率 63-77% / 人口偏差 / adversarial annotators |
| RM 问题 | misspecification / reward hacking / sycophancy amplification |
| Policy 训练 | mode collapse / adversarial exploitability / power-seeking behavior |
区分 tractable (可解) 和 fundamental (根本) 两类挑战,fundamental 问题需要 RLHF 之外的范式转换。
业界趋势:转向 DPO
PPO 工程复杂性推动业界转向 DPO:
- 4 个模型 → 2 个模型 (省 ~50% 显存)
- 无在线采样 → offline 数据训
- 训练稳定性显著更高
- KL 隐式 (在 loss 里) 而非显式 hyperparameter
Llama 3 / Qwen / Mistral / DeepSeek 全转 DPO 系,详见 04-DPO 与新方法。
Takeaway
| 知识点 | 核心结论 |
|---|---|
| 为什么 SFT 不够 | SFT 只学示范,不学相对偏好排序 |
| 三步流程 | SFT → RM (Bradley-Terry) → PPO + KL |
| InstructGPT 数据 | SFT 13K + RM 33K 排名 + PPO 31K prompts |
| RM loss | $-\log \sigma(r(\text{chosen}) - r(\text{rejected}))$, shift-invariant |
| PPO clip | $\epsilon = 0.2$ 限制 policy 单步偏离 |
| KL penalty $\beta$ | InstructGPT 0.02,防 reward hacking |
| InstructGPT 实证 | 1.3B RLHF 击败 175B base, 100× 参数差距抹平 |
| Constitutional AI | 16 条原则 + AI 自 critique + revise, harmlessness 全 AI 标注 |
| RLAIF | AI 反馈替代人类,summarization 71% vs 73% (无显著),成本 1/10 |
| RLHF 4 痛点 | 显存 ×4 / 训练不稳 / reward hacking / 标注成本 |
| 业界转向 | DPO 因工程优势主导,OpenAI / Anthropic 仍 RLHF |
开放问题
- RLHF 在 reasoning 上的不可替代性:o1 / R1 用 RL (GRPO) 做 reasoning 训练,是否 RLHF 仍是某些场景的最优
- RLAIF 是否会完全取代 RLHF:AI 标注成本 1/10 + 质量接近,但极端 case 仍需人工;这条边界在哪
- Reward hacking 的根治方案:Casper 2023 列为 fundamental 问题,可能需要 RLHF 之外的范式
- KL penalty $\beta$ 与 RLHF / DPO 的统一: DPO 隐式 $\beta$, RLHF 显式;是否有更系统的 KL 控制方法
- 多目标对齐 (HH 之外) : helpful + harmless 之外还有 honest / safe / robust 等,怎么组合仍开放
延伸阅读
- 上一篇:SFT 指令微调 → 7.2 SFT 指令微调
- 下一步:DPO 与新方法 (RLHF 的工程简化) → 7.4 DPO 与新方法
- PPO 完整数学 → 不在本知识库,见 Schulman 2017 https://arxiv.org/abs/1707.06347
- Constitutional AI 详细 → https://arxiv.org/abs/2212.08073
- Casper 2023 Open Problems → https://arxiv.org/abs/2307.15217
参考资料
- Ouyang et al. Training language models to follow instructions with human feedback. NeurIPS 2022. https://arxiv.org/abs/2203.02155
- Schulman et al. Proximal Policy Optimization Algorithms. 2017. https://arxiv.org/abs/1707.06347
- Stiennon et al. Learning to summarize from human feedback. 2020. https://arxiv.org/abs/2009.01325
- Bai et al. Training a Helpful and Harmless Assistant with Reinforcement Learning from Human Feedback. Anthropic 2022. https://arxiv.org/abs/2204.05862
- Bai et al. Constitutional AI: Harmlessness from AI Feedback. Anthropic 2022. https://arxiv.org/abs/2212.08073
- Lee et al. RLAIF: Scaling Reinforcement Learning from Human Feedback with AI Feedback. 2023. https://arxiv.org/abs/2309.00267
- Casper et al. Open Problems and Fundamental Limitations of Reinforcement Learning from Human Feedback. 2023. https://arxiv.org/abs/2307.15217