Skip to content

RLHF 与人类反馈对齐

本页速览 让语言模型"懂人话"的关键技术:行为克隆的局限、奖励模型训练、PPO 微调三阶段;对齐税、奖励过度优化、DPO 与直接偏好优化的简化;RLHF 与经典 RL 的异同。

RLHF 与人类反馈对齐 ​

一句话定位:这一页讲清楚 RLHF(Reinforcement Learning from Human Feedback,基于人类反馈的强化学习)——它是让大语言模型从"会接话"变成"懂人话"的关键技术:SFT → 奖励模型 → PPO 的三阶段流水线,KL 约束为什么必要,reward overoptimization(奖励过度优化)怎么发生,以及 DPO 如何把它简化成一步;读完后你能画出 RLHF 的完整数据流、讲清每个组件的角色,并理解它与经典 RL 的同与异。

一、对齐问题的提出:为什么"预训练 + SFT"不够 ​

1. 问题:模型"有能力"不等于"会对话" ​

预训练大模型的任务是"预测下一个 token"——它知道"怎么把话接下去",但不知道"什么样的回答是好的"。指令微调(SFT,supervised fine-tuning)用人工撰写的 (指令, 期望回答) 对教模型"跟着指令走"。

但 SFT 有三个硬伤:

SFT 的局限说明
模仿天花板只会模仿 SFT 数据里的回答,永远超不过示例质量
数据贵高质量人工撰写的指令-回答对成本极高
无法表达"偏好"数据里只有"这个回答是好的",没有"这两个回答哪个更好、好多少"

尤其最后一点:人类的真实偏好是相对的、多维的、难以用单条样本表达的。"写一篇论文摘要"——两个 AI 的回答都不错,但一个明显更好。SFT 无法编码这种"相对更好"。

2. RLHF 的核心洞察 ​

与其给模型"正确回答",不如给它一个**"比较信号"**:两个回答哪个更好。比较数据比撰写数据便宜得多,且天然编码了人类偏好。

RLHF(InstructGPT/ChatGPT 路线,Ouyang et al., 2022)把"用强化学习优化一个从人类偏好学来的奖励"作为对齐手段。这也是为什么它在 RL 手册里占一席:RLHF 就是"奖励由人类偏好定义"的经典 RL 实例,环境=token 生成过程,奖励=奖励模型打分。

二、三阶段流水线:SFT → 奖励模型 → PPO ​

text
RLHF 三阶段(InstructGPT 路线)
┌────────────────────────────────────────────────────┐
│ 阶段1: SFT(监督微调)                               │
│   数据: (指令, 人工撰写的期望回答)                     │
│   产出: π_SFT —— 会"接指令"的模型                    │
│                                                     │
│ 阶段2: 奖励模型(Reward Model, RM)                   │
│   数据: (指令, 回答A, 回答B, 人类标注"哪个更好")       │
│   产出: r_φ(x, y) —— 给回答打分的奖励模型             │
│                                                     │
│ 阶段3: PPO 微调                                      │
│   模型: 策略 π_θ(从 π_SFT 初始化)                   │
│         价值网络 V_ψ + 奖励模型 r_φ + 参考模型 π_ref  │
│   目标: max E[r_φ] - β·KL(π_θ ‖ π_ref)             │
│   产出: 对齐后的模型 π_θ                             │
└────────────────────────────────────────────────────┘

1. 阶段一:SFT(行为克隆的起点) ​

用几千到几万条人工撰写的 (指令, 高质量回答) 对做监督微调。这阶段的作用是"把模型拉回指令跟随的轨道",是后续所有阶段的行为基础。SFT 数据质量直接决定上限——它同时也是策略梯度方法里讲过的"行为克隆"的大规模应用,局限如前所述。

2. 阶段二:奖励模型(把偏好变成分数) ​

奖励模型 $r_\phi(x, y)$ 输入 (指令 x, 回答 y),输出一个标量分数。训练数据是偏好对:

指令 x:"用一句话解释量子纠缠"
回答 A:"量子纠缠是……"  ← 人类标注者选 A 更好
回答 B:"纠缠就是纠缠"

用 Bradley-Terry 模型把"偏好概率"建模为奖励之差的 sigmoid:

$$ P(A \succ B \mid x) = \frac{\exp(r_\phi(x, A))}{\exp(r_\phi(x, A)) + \exp(r_\phi(x, B))} = \sigma\big(r_\phi(x,A) - r_\phi(x,B)\big) $$

训练目标:最大化人类标注偏好对的对数似然:

$$ \mathcal{L}{RM} = -\mathbb{E}{(x, A, B) \sim D}\left[ \log \sigma\big(r_\phi(x,A) - r_\phi(x,B)\big) \right] $$

直觉:奖励模型就是一个"学出来的打分器"——它把人类"哪个更好"的比较判断,蒸馏成一个可微的、给所有回答打分的函数。这个函数随后成为 RL 优化的奖励来源。

为什么偏好对而不是直接打分

直接让人给回答打 1-5 分,标注者尺度不一(有人给 4 有人给 3)、费脑。二选一更便宜、更一致(相对判断比绝对判断可靠得多)。这跟奖励工程里"偏好学习"一节是同一思想。

3. 阶段三:PPO 微调(在"提示词采样"里做 RL) ​

这一步把经典的 PPO 搬到语言模型上:

  • 环境 = 一个提示词(prompt)x,以及模型的 token 生成过程;
  • 动作 = 生成的回答 y(一串 token);
  • 奖励 = 奖励模型打分 $r_\phi(x,y)$(稀疏:一个回答一个分);
  • 策略 = LLM 本身 $\pi_\theta$。

优化目标(RLHF 的核心公式):

$$ \max_\theta \underbrace{\mathbb{E}{x \sim \mathcal{D}, y \sim \pi\theta}[r_\phi(x,y)]}{\text{让奖励高}} - \underbrace{\beta , D\big( \pi_\theta(y|x) ,|, \pi_{ref}(y|x) \big)}_{\text{别走太远}} $$

其中 $\pi_{ref}$ 是参考模型(通常是 π_SFT 或上一个版本),β 是 KL 惩罚系数。

4. 为什么必须有参考模型和 KL 惩罚 ​

一句话:奖励模型是"局部可信"的——它只在"正常回答"附近有判断力,一旦策略生成离训练分布很远的文本(乱码、病句、极端措辞),奖励模型的打分就完全不可信(这是 OOD 问题,见离线强化学习)。KL 惩罚的作用:

KL 的作用解释
限制探索半径不允许策略偏离参考模型太远(见探索与利用第八节)
防奖励模型幻觉防止策略优化到"奖励模型误认为高分"的区域
保持语言质量防止崩坏成堆砌关键词的"奖励刷子"
提供熵约束类似经典 RL 的熵正则,让输出保持多样

如果去掉 KL 会怎样

训练中你很快会看到"奖励飙升、语言崩坏"——策略发现了奖励模型的漏洞(比如不停地输出"量子纠缠量子纠缠量子纠缠……"骗高分)。KL 惩罚是 RLHF 工程上不可删的安全带。删掉 = 重现奖励工程的 Reward Hacking,只不过在超大模型上。

三、RLHF 训练的三个模型同台 ​

PPO 阶段实际有 4 个模型在跑(这是 RLHF 工程最重的部分):

模型角色是否需要梯度
策略模型 π_θ(Actor)生成回答、被优化是
价值模型 V_ψ(Critic)评估当前生成序列的状态价值(做 advantage)是
奖励模型 r_φ给回答打分否(冻结,推理)
参考模型 π_ref算 KL 惩罚的参照否(冻结,推理)

训练循环(InstructGPT 的 PPO-ptx 变体):

text
loop:
  1. 采样提示词 x ~ D
  2. 用 π_θ 生成回答 y(一次 rollout)
  3. 奖励 = r_φ(x,y) + KL 惩罚(与 π_ref 对比)
  4. 算 advantage(GAE,需要 V_ψ)
  5. 更新 π_θ(clip 目标 + 熵正则)
  6. 更新 V_ψ(TD 回归)
  7. 可选:混 10% 的 SFT 数据防止"灾难性遗忘"(PPO-ptx 技巧)

从 RL 工程师视角看 RLHF

RLHF 的 PPO 阶段就是标准 on-policy actor-critic,唯一特别处是:奖励来自学出来的奖励模型,且每回合只有一句回答 = 一个稀疏奖励。GAE 在这里几乎是空的(没有中间步奖励),advantage 基本靠"KL 惩罚的逐步累积"提供。所以 RLHF 的 PPO 实现往往裁剪得很轻。

四、对齐税与 Reward Overoptimization(Goodhart 定律) ​

1. 对齐税(alignment tax) ​

对齐税:对齐过程(RLHF)会让模型在标准能力基准上掉分(如 MMLU、代码评测)。因为"讨好人类偏好"和"通用能力"不完全一致——过度迎合会让模型更"礼貌但更平庸"。InstructGPT 的论文明确报告了这种能力回退,并用"混入 SFT 数据"缓解。

2. Reward overoptimization:奖励越高 ≠ 模型越好 ​

这是 RLHF 最关键的经验现象:训练时间越长,奖励模型分数越高,但人类对输出的真实评价先升后降。

text
  质量 ▲
       │        ╱‾‾‾‾╲
       │     ╱/       ╲        ← 人类评价(真实质量)
       │   ╱/
       │ /
       ├──────╲──────────────► 训练步数
       │        ╲  奖励模型分数(持续上升)
       │         ╲
       └──────────────────────────────►
           真实质量在某个点后开始下降,
           而奖励模型还在"觉得"越来越好。

这就是 Goodhart 定律:"当一个度量成为目标,它就不再是好的度量。"(When a measure becomes a target, it ceases to be a good measure.)奖励模型是"人类偏好的代理",优化它到极端 = 优化一个与真实目标背离的代理函数。

3. 工程对策 ​

手段机制
KL 约束限制探索半径,别让策略走出奖励模型的可信区
早停(early stopping)监控"奖励-真实质量"背离曲线,在拐点前停
奖励模型集成/校准多个 RM 投票、用人工抽检校准
混合目标PPO-ptx 混入 SFT 数据防遗忘
偏好标注抽检定期人工评估最终策略,别只看 RM 分数

五、DPO:把偏好直接当目标(绕开奖励模型) ​

1. 动机:RLHF 工程太重 ​

RLHF 要同时维护 4 个模型 + PPO 训练循环,工程复杂、训练不稳定(奖励模型、KL、GAE 都要调)。DPO(Direct Preference Optimization, Rafailov et al., 2023)证明:奖励模型这一步可以数学上消掉。

2. 核心思想:闭式地把"偏好"翻译成策略目标 ​

DPO 的关键洞察:RLHF 的优化问题(最大化奖励 − KL 惩罚)有闭式最优解:

$$ \pi^*(y|x) \propto \pi_{ref}(y|x) , \exp\left( \frac{1}{\beta} r_\phi(x,y) \right) $$

反解出奖励:$r(x,y) = \beta \log\frac{\pi^*(y|x)}{\pi_{ref}(y|x)} + \text{const}$。把"奖励 = 策略与参考模型的比值"代回 Bradley-Terry 偏好损失,奖励模型就消失了,得到 DPO 损失:

$$ \mathcal{L}{DPO}(\theta) = -\mathbb{E}{(x, A, B) \sim D}\left[ \log \sigma\left( \beta \log \frac{\pi_\theta(A|x)}{\pi_{ref}(A|x)} - \beta \log \frac{\pi_\theta(B|x)}{\pi_{ref}(B|x)} \right) \right] $$

直觉:DPO 直接用偏好对训练策略——让策略更可能选"被偏好的 A"、不选"被讨厌的 B",且用 KL 比值控制变化幅度(β 即 KL 强度)。不需要奖励模型、不需要 PPO。

3. RLHF vs DPO 对比 ​

维度RLHF(PPO 路线)DPO
组件SFT + RM + PPO(4 模型)SFT + 偏好对(2 模型)
训练稳定性差(PPO 敏感)好(简单分类式训练)
超参多(β、KL、clip…)少(β)
可扩展性重、贵轻、便宜
对奖励分布外鲁棒性有 KL 兜底同样有 β 比值约束
在线采样可以(强化学习风格)离线为主(需补充采样变体)
代表模型InstructGPT、ChatGPT、Llama2-chatZephyr、DPO 系列

现在怎么选

  • 有工程资源、要上限:RLHF(尤其在线 RLHF,见下节),效果好、可迭代;
  • 快速对齐、开源复刻:DPO 家族(Zephyr 等),一天内跑通;
  • 学术与工业共识:DPO 简化是大方向,但"要不要 PPO 级 RL"取决于预算与质量要求。前沿变体还有 IPO、KTO、ORPO 等(见前沿进展)。

六、RLHF 与经典 RL 的对照 ​

维度经典 RLRLHF
环境网格/机器人/游戏token 生成过程
状态 s环境状态提示词 + 已生成的 token
动作 a关节力矩/方向下一个 token
转移 P物理/游戏规则模型自身的自回归采样
奖励 R手工设计(见奖励工程)学出来的奖励模型打分
稀疏性常稀疏极稀疏(一段回答一个分)
探索ε/熵/内在奖励KL 约束 + 采样温度
数据来源在线试错人类偏好标注 + 模型自采样
评估回报曲线人工评估 + RM 分数 + 能力基准

有趣的反转:经典 RL 里我们手工写奖励(因为任务可量化);RLHF 里我们学奖励(因为偏好不可言说)。两者最终汇合在"优化回报"这个统一框架下——RLHF 就是经典 RL 框架在语言生成上的直接实例。

七、局限与前沿 ​

1. RLHF 的固有局限 ​

局限说明
偏好标注偏差标注者主观、存在位置/顺序偏差
奖励过度优化Goodhart,需要早停 + KL(见第四节)
只对齐"人类平均偏好"多元用户、少数群体需求被平均掉
优化的是"看起来好"不保证事实正确性(hallucination 仍需检索增强等外部手段)
工程成本高4 模型 + PPO + 分布式 RL 训练

2. 前沿方向 ​

  • RLAIF(AI 反馈强化学习):用另一个 LLM 当"标注者"生成偏好对,替代人类标注,可扩展性大增(Bai et al., 2022, Constitutional AI);
  • 在线 RLHF:把 RM 与策略训练交替进行(如自我对弈式偏好采样),缓解离线偏好数据过时问题;
  • RLHF 用于推理(RLVR):用"可验证奖励"(代码能否通过测试、数学答案对错)代替偏好——规则可验证时,不需要人类反馈,直接 RL(DeepSeek-R1 路线),见前沿进展;
  • DPO 变体全家桶:IPO、KTO、SimPO、ORPO 等,简化与稳健性各有取舍。

3. 历史脉络 ​

RLHF 不是凭空出现的:它继承了价值学习的 actor-critic、策略梯度方法的 PPO、奖励工程的偏好学习。完整历史与经典论文见强化学习演进简史与经典论文精读(Ouyang InstructGPT 篇)。

八、给工程师的要点 ​

  1. SFT 是地基:奖励模型和 PPO 都救不了 SFT 语料太差的模型;
  2. 奖励模型质量决定上限:多花精力在偏好数据清洗、标注一致性上,比调 PPO 超参划算;
  3. KL 惩罚不可删、β 要调:β 大 → 变回 SFT(不更新);β 小 → 奖励 hacking;
  4. 监控背离曲线:奖励 vs 人类抽检质量,在拐点前早停;
  5. 先 DPO 后 RLHF:预算有限先 DPO 拿基线,有资源再上 RLHF 冲上限。

实战细节(开源复刻、三模型训练、成本账单)见LLM 对齐:RLHF 实战;概念上的奖励设计与 hacking 讨论见奖励工程。

延伸阅读 ​

参考资料 ​

  • Ouyang, L., Wu, J., Jiang, X., et al. (2022). Training language models to follow instructions with human feedback. NeurIPS. arXiv:2203.02155(InstructGPT,RLHF 的标准引用)
  • Rafailov, R., Sharma, A., Mitchell, E., et al. (2023). Direct Preference Optimization: Your Language Model is Secretly a Reward Model. NeurIPS. arXiv:2305.18290(DPO)
  • Bai, Y., Jones, A., Ndousse, K., et al. (2022). Training a Helpful and Harmless Assistant with Reinforcement Learning from Human Feedback. arXiv:2204.05862(Constitutional AI / RLAIF)
  • Stiennon, N., Ouyang, L., Wu, J., et al. (2020). Learning to summarize with human feedback. NeurIPS. arXiv:2009.01325(RLHF 的前身工作)
  • Ziegler, D. M., Stiennon, N., Wu, J., et al. (2019). Fine-Tuning Language Models from Human Preferences. arXiv:1909.08593(RLHF 的早期版本)
  • Christiano, P. F., Leike, J., Brown, T. B., et al. (2017). Deep Reinforcement Learning from Human Preferences. NeurIPS. arXiv:1706.03741(RLHF 概念提出)