RLHF 与对齐:大语言模型的价值观塑造
从强化学习基础到 DPO 的范式革新,从 Reward Model 的构建到 Constitutional AI 的探索,本文系统梳理了 RLHF 对齐技术的完整知识图谱与前沿方向。
一、对齐问题:AI 行为的价值观塑造
大语言模型的强大能力带来了一个根本性的问题:如何确保这些模型的行为符合人类的意图和价值观?这就是"对齐问题"(Alignment Problem)——AI 研究中最深刻且最具现实意义的挑战之一。
1.1 什么是对齐?
对齐(Alignment)指的是使 AI 系统的行为与人类期望一致的过程。一个对齐良好的模型不仅应该"有能力"完成指定任务,更应该"有意愿"以符合人类价值观的方式完成这些任务。在 LLM 的语境下,对齐问题具体表现为:模型在预训练阶段学习的是"预测下一个 token",但人类真正需要的是一个"有帮助(Helpful)、无害(Harmless)、诚实(Honest)"的助手。预训练目标与人类意图之间存在结构性错配。
1.2 Helpful / Harmless / Honest 三元组
Anthropic 提出的 HHH(Helpful, Harmless, Honest)框架为对齐问题提供了清晰的目标分解:
- Helpful(有帮助):模型应积极理解用户意图,提供真正有价值的回答,主动帮助用户解决问题。
- Harmless(无害):模型应拒绝参与任何有害活动,不生成暴力、色情、歧视性内容。
- Honest(诚实):模型应承认自身局限,不编造虚假信息,对不确定的问题如实表达。
这三个目标之间存在内在张力:追求极致的 Helpful 可能导致编造信息(牺牲 Honest);过度保守的安全策略可能损害 Helpful。这要求在三者之间找到微妙的平衡。
1.3 Specification Gap vs Performance Gap
对齐失败可以来自两个层面。Specification Gap 指的是目标定义本身不够精确,例如要求"有帮助"但无法精确定义什么是"帮助"。Performance Gap 则指目标定义清楚但模型没有正确优化,例如 reward model 和 policy model 之间的分布漂移。这两种差距都需要解决:Spec Gap 不解决则即使完美优化也可能南辕北辙;Perf Gap 不解决则好目标也无法正确执行。
对齐失败的两种类型:
Specification Gap(规范差距):
目标定义本身就不够精确
例:要求"有帮助"但无法精确定义什么是"帮助"
解决路径:更好的 reward specification
Performance Gap(性能差距):
目标定义清楚但模型没有正确优化
例:reward model 和 policy model 之间的分布漂移
解决路径:更好的 RL 算法
两种差距都需要解决:
- Spec Gap 不解决 → 即使完美优化也可能南辕北辙
- Perf Gap 不解决 → 好目标也无法正确执行
1.4 "Who Watches the Watchers" 问题
即使我们用 Reward Model 来指导 Policy Model,谁来确保 Reward Model 本身是正确的?这构成了一个递归的监督问题。人类反馈(RLHF)是目前的主流解决方案,但人类标注者的价值观存在个体差异和文化差异,标注者的注意力有限,可能被精心构造的输入所欺骗。随着模型能力的提升,模型可能学会"欺骗"标注者而非真正满足用户需求。这是 Anthropic 超级对齐(Superalignment)研究的根本动机——如何监督比人类更聪明的 AI 系统。
二、Reward Modeling:从偏好到标量奖励
Reward Model 是 RLHF 的第一步:训练一个能够预测人类偏好的模型。这个模型将人类的主观判断转化为可优化的标量信号。
2.1 Bradley-Terry 模型
Reward Model 的理论基础来自 Bradley 和 Terry(1952)提出的配对比较概率模型。在 LLM 对齐场景中,该模型预测人类对两条回复的偏好概率:给定输入 x 和两条候选回复 y_1、y_2,人类偏好 y_w over y_l 的概率可以通过 sigmoid 函数计算,即 P(y_w ≻ y_l | x) = σ(r(x, y_w) − r(x, y_l)),其中 r(x, y) 是 reward model 对 (x, y) 的标量评分。
Bradley-Terry 模型:
给定输入 x,两条候选回复 y_1, y_2
人类偏好 y_w over y_l 的概率:
P(y_w ≻ y_l | x) = σ(r(x, y_w) − r(x, y_l))
= 1 / (1 + exp(−(r_w − r_l)))
其中:
σ() 是 sigmoid 函数
r(x, y) 是 reward model 对 (x, y) 的标量评分
训练目标(负对数似然):
L = −E_{(x,y_w,y_l) ~ D}[log σ(r(x,y_w) − r(x,y_l))]
这是一个标准的二分类问题(pairwise comparison)
标签为 1 表示 y_w 优于 y_l
2.2 Reward Model 的训练细节
典型的 Reward Model 训练流程包括:从 SFT 模型初始化以确保有基础的语言能力,使用配对偏好数据(每次输入包含 prompt、chosen_response、rejected_response),学习率通常为预训练的 1/10 到 1/5 以避免 reward model 过度自信,训练一个 epoch 以防止过拟合。
Reward Model 架构:
与基础 LLM 共享 backbone(通常是 SFT 模型)
顶层替换为线性头:reward_head(W)
r(x, y) = W · h(x, y)
其中 h(x, y) 是模型对 (prompt, response) 的最终 hidden state
关键设计:
- 共享 backbone 确保 reward model 理解语言
- 独立的 reward head 学习将理解转化为偏好判断
- 输出为标量(无 sigmoid,直接回归到奖励值)
训练数据构造:
从 SFT 模型采样多个 response(温度采样)
人类标注者选择偏好 response
每个 prompt 通常构造 1-5 个偏好对
2.3 Reward Model 的 Scaling
Reward Model 的规模与性能之间的关系较为微妙。更大的 Reward Model 能更好地捕捉人类偏好的细微差别,Reward Model 的质量对最终 RLHF 效果有显著影响。InstructGPT 的实验表明,Reward Model 的 scaling 与 Policy Model 的 scaling 同样重要。实践中最常用的 Reward Model 规模是 Policy Model 的 1/10 到 1/2。
2.4 Reward Model 的局限性
Reward Model 存在固有的局限性。首先是标注噪声:人类标注者之间的一致性有限(通常 65-75%),reward model 无法超越人类的共识。其次是分布偏移:reward model 只能评价训练数据覆盖的响应类型,对 novel 响应泛化能力有限。第三是奖励黑客(Reward Hacking):policy model 找到 reward model 打分高但实际不满足人类意图的响应。最后是单维度评分:Bradley-Terry 模型假设偏好是单一维度的,实际人类判断是多维度的。
三、PPO 算法在 RLHF 中的应用
Proximal Policy Optimization(PPO)是 RLHF 的核心算法,负责在 Reward Model 的引导下优化 Policy Model 的行为。
3.1 KL-约束的奖励最大化
RLHF 的优化目标不是简单的 reward 最大化,而是 KL-约束的 reward 最大化。具体形式为:最大化 E_{x~p_data, y~π_θ}[r(x, y)],同时约束 KL(π_θ || π_ref) ≤ δ,其中 π_θ 是当前 policy model,π_ref 是 SFT 模型(参考模型),r(x,y) 是 reward model 的评分,δ 是 KL 预算上限。通过拉格朗日对偶后转化为无约束优化:obj = E[r(x,y)] − β · KL(π_θ || π_ref),其中 β 控制 KL 惩罚的强度。KL 约束防止 policy 偏离 SFT 太远,β 太大会限制探索,太小会导致 reward hacking,典型的 β 值在 0.01 到 0.3 之间(按 token 计)。
RLHF 优化目标:
最大化:E_{x~p_data, y~π_θ}[r(x, y)]
约束条件:KL(π_θ || π_ref) ≤ δ
其中:
π_θ 是当前 policy model
π_ref 是 SFT 模型(参考模型)
r(x,y) 是 reward model 的评分
δ 是 KL 预算上限
拉格朗日对偶后转化为无约束优化:
obj = E[r(x,y)] − β · KL(π_θ || π_ref)
其中 β 控制 KL 惩罚的强度
重要洞察:
- KL 约束防止 policy 偏离 SFT 太远
- β 太大会限制探索,太小会导致 reward hacking
- 典型的 β 值在 0.01 到 0.3 之间(按 token 计)
3.2 PPO Clipping 机制
PPO 的核心创新是引入 clipping 机制来限制策略更新的幅度,防止灾难性的策略变化。PPO-Clip 目标函数为 L^CLIP(θ) = E_t [ min(r_t(θ) · A_t, clip(r_t(θ), 1−ε, 1+ε) · A_t) ],其中 r_t(θ) = π_θ(a_t|s_t) / π_ref(a_t|s_t) 是重要性采样比率,A_t 是优势函数估计,ε 是裁剪超参数(通常 ε = 0.2)。Clip 机制的作用是当 r_t 超出 [1−ε, 1+ε] 区间时,梯度被置零,从而限制单次更新中策略变化的幅度。
PPO-Clip 目标函数:
L^CLIP(θ) = E_t [ min(
r_t(θ) · A_t,
clip(r_t(θ), 1−ε, 1+ε) · A_t
)]
其中:
r_t(θ) = π_θ(a_t|s_t) / π_ref(a_t|s_t)
是重要性采样比率(importance sampling ratio)
A_t = 优势函数估计(advantage estimation)
ε = 裁剪超参数(通常 ε = 0.2)
Clip 机制的作用:
当 r_t 超出 [1−ε, 1+ε] 区间时,梯度被置零
这限制了单次更新中策略变化的幅度
优势函数 A_t 使用 Generalized Advantage Estimation (GAE):
A_t = δ_t + (γλ)δ_{t+1} + ... + (γλ)^{T-t}δ_T
其中 δ_t = r_t + γV(s_{t+1}) − V(s_t)
3.3 Reward Function 到 PPO 的完整 Pipeline
从 Reward Model 到 PPO 训练的完整流程包含五个步骤。首先是预训练语言模型,使用大规模无标注文本进行语言建模产出基础 LLM。其次是有监督微调(SFT),使用人类标注的 (prompt, response) 对进行行为克隆,产出 SFT Model = π_ref。第三步是奖励模型训练,使用人类偏好对 (x, y_w, y_l) 进行 Bradley-Terry 偏好预测,产出 r_φ(x, y)。第四步是 PPO 强化学习,使用来自 π_ref 的 prompts,优化目标为 PPO-Clip + KL penalty,奖励函数为 r(x, y) = r_φ(x, y) − β·KL(π_θ(y|x)||π_ref(y|x))。最后是可选的 reward model 迭代更新,定期用最新 π_θ 重新采集偏好数据并重新训练 reward model。
RLHF Pipeline(InstructGPT 风格):
Step 1: 预训练语言模型 (Pretrained LM)
数据:大规模无标注文本
目标:语言建模
产出:基础 LLM
Step 2: 有监督微调 (SFT)
数据:人类标注的 (prompt, response) 对
目标:行为克隆人类示范
产出:SFT Model = π_ref
Step 3: 奖励模型训练 (Reward Model)
数据:人类偏好对 (x, y_w, y_l)
目标:Bradley-Terry 偏好预测
产出:r_φ(x, y)
Step 4: PPO 强化学习
数据:来自 π_ref 的 prompts
目标函数:PPO-Clip + KL penalty
奖励函数:r(x, y) = r_φ(x, y) − β·KL(π_θ(y|x)||π_ref(y|x))
对每个 prompt:
1. 用 π_ref 生成响应 y
2. 用 r_φ 计算奖励
3. 用 PPO 更新 π_θ
4. 周期性用 π_θ 重新生成响应(on-policy)
Step 5: (可选) reward model 迭代更新
定期用最新 π_θ 重新采集偏好数据
重新训练 reward model(缓解 reward hacking)
3.4 Value Function 与 Value Head
PPO 需要同时训练一个 Value Function 来估计状态价值,辅助优势估计。在 LLM 的语境中,这对应于在模型顶部添加一个 value head。Value Head 设计中,LLM backbone 输出 hidden states h_t,Reward head 输出 r_φ(x, y) = W_r · h_final(标量奖励),Value head 输出 V_ψ(x, y_{<t}) = W_v · h_t(每个 token 位置的价值)。训练策略中,Reward head 和 Value head 可以共享 backbone,Value head 的权重通常与 Reward head 独立,Value loss 与 Policy loss 加权求和。在 LLM 场景中,这是一个序列决策问题——每个 token 是 action,Value 在每个 token 位置估计"从当前点到序列结束的累积奖励"。
四、RLHF 训练的实战细节
将 PPO 应用于 LLM 对齐涉及大量工程细节。理解这些细节对于成功训练至关重要。
4.1 Reward Hacking 的早期预警
Reward hacking 是 RLHF 训练中最常见也最危险的失败模式。典型表现包括:训练初期 reward 快速上升,但质量实际下降;模型学会生成冗长、讨好但空洞的回复;模型学会"作弊"——响应看起来很好但实质上没有解决问题。
Reward Hacking 的典型症状与应对:
症状:
- Reward 快速上升但人类评估下降
- 响应长度持续增加(冗长 = 高 reward?)
- 特定关键词或模式被过度利用
- KL divergence 超出预算
应对策略:
1. 早停(Early Stopping):
当验证集 reward 不再上升时停止训练
保存 checkpoint 并人工评估
2. KL 惩罚系数动态调整:
当 KL 超出阈值时自动增大 β
当 reward 改善过慢时减小 β
3. 周期性人类评估:
不依赖纯 reward model 分数
每 N 步进行一次人工抽样评估
4. 响应多样性监控:
追踪 unique n-grams ratio
检测模式崩溃(mode collapse)
4.2 优势估计(Advantage Estimation)
GAE(Generalized Advantage Estimation)是 RLHF 中优势函数的标准方法,它在偏差(bias)和方差(variance)之间取得平衡。GAE(λ) 优势的递归形式为 A_t^(GAE) = (1 − λ) · Σ_{l=0}^{T−t} λ^l · A_t^{(l)},其中 A_t^{(0)} = δ_t = r_t + γ·V(s_{t+1}) − V(s_t) 是 TD(0) 优势,λ ∈ [0, 1] 控制偏差-方差权衡(λ = 0 时低偏差高方差,λ = 1 时高偏差低方差)。LLM 场景中通常设置 λ = 0.95 ~ 0.99,γ = 1.0(每个 token 视为一步,无折扣),并进行优势归一化 A_normalized = (A − mean(A)) / (std(A) + ε) 以提升训练稳定性。
4.3 学习率调度
RLHF 的学习率调度比预训练更敏感。Warm-up 阶段通常需要 1-10% 的 steps 进行 warm-up,避免早期参数剧烈波动。Cosine decay 在剩余训练中余弦退火,有助于收敛到更稳定的最优点。KL 相关的动态学习率中,某些实现会在 KL 超出预算时临时降低学习率。
4.4 常见失败模式
RLHF 训练中存在多种常见失败模式。Reward hacking 表现为 Reward 上升但质量下降,根本原因是 Reward model 泛化不足,解决方案是增大 KL 系数、早停、周期人工评估。Mode collapse 表现为输出高度重复单调,根本原因是 KL 约束过强或熵奖励过低,解决方案是降低 KL 系数、增加熵奖励。训练不收敛表现为 Loss/reward 剧烈震荡,根本原因是学习率过高或 batch size 过小,解决方案是降低学习率、增大 PPO buffer。KL 爆炸表现为 Policy 偏离参考模型太快,根本原因是 KL 系数过低或策略更新过大,解决方案是增大 β、减小 PPO clip ratio。遗忘预训练能力表现为语言流畅性下降、事实性降低,根本原因是 SFT 阶段不够充分,解决方案是延长 SFT、增加预训练数据混合。
| 失败模式 | 症状 | 根本原因 | 解决方案 |
|---|---|---|---|
| Reward hacking | Reward 上升但质量下降 | Reward model 泛化不足 | 增大 KL 系数,早停,周期人工评估 |
| Mode collapse | 输出高度重复单调 | KL 约束过强或熵奖励过低 | 降低 KL 系数,增加熵奖励 |
| 训练不收敛 | Loss/reward 剧烈震荡 | 学习率过高,batch size 过小 | 降低学习率,增大 PPO buffer |
| KL 爆炸 | Policy 偏离参考模型太快 | KL 系数过低或策略更新过大 | 增大 β,减小 PPO clip ratio |
| 遗忘预训练能力 | 语言流畅性下降,事实性降低 | SFT 阶段不够充分 | 延长 SFT,增加预训练数据混合 |
五、Direct Preference Optimization (DPO)
2023 年,Rafailov et al. 提出了 Direct Preference Optimization(DPO),从根本上简化了 RLHF 的训练流程,消除了对 PPO 和 Reward Model 显式优化的需求。
5.1 核心洞察:策略重参数化
DPO 的关键创新在于对策略的直接重参数化。传统 RLHF 需要单独的 reward model 和 PPO 优化循环,而 DPO 将 reward 隐式地编码在策略中。通过对 KL 约束优化问题求闭式解,可以得到最优策略的表达式 π*(y|x) ∝ π_ref(y|x) · exp(r(x,y)/β)。重新排列后得到 reward 的隐式表达式:r(x,y) = β · log(π(y|x) / π_ref(y|x)) + const。这个隐式的 reward 可以直接代入 Bradley-Terry 模型,从而完全消除对显式 reward model 的需求。
DPO 的核心推导:
传统 RLHF 目标(含 KL 约束):
max_π E_{x,y~π}[r(x,y)] − β·KL(π || π_ref)
闭式求解(参考模型的最优策略):
π*(y|x) ∝ π_ref(y|x) · exp(r(x,y)/β)
重新排列得到 reward 的隐式表达式:
r(x,y) = β · log(π(y|x) / π_ref(y|x)) + const
代入 Bradley-Terry 模型:
P(y_w ≻ y_l | x) = σ(r(x,y_w) − r(x,y_l))
= σ(β · log( (π(y_w|x)/π_ref(y_w|x))
/ (π(y_l|x)/π_ref(y_l|x)) ))
这完全消除了对显式 reward model 的需求!
5.2 DPO 的损失函数
DPO 的训练目标直接作用于策略模型:L_DPO(θ) = −E_{(x,y_w,y_l)} [ log σ(β · [log(π_θ(y_w|x)/π_ref(y_w|x)) − log(π_θ(y_l|x)/π_ref(y_l|x))]) ]。这等价于二元交叉熵,其中 label = 1 表示 y_w 优于 y_l。实践中通常还会加入一个额外项 L_full = L_DPO + λ · E_x[KL(π_θ(·|x) || π_ref(·|x))] 来直接限制 policy 与参考模型的偏离程度,防止过拟合。
DPO 损失函数:
L_DPO(θ) = −E_{(x,y_w,y_l)~D} [
log σ(
β · log( π_θ(y_w|x) / π_ref(y_w|x) )
− β · log( π_θ(y_l|x) / π_ref(y_l|x) )
)
]
简化形式:
L_DPO(θ) = −E_{(x,y_w,y_l)} [
log σ( β · [log(π_θ(y_w|x)/π_ref(y_w|x))
− log(π_θ(y_l|x)/π_ref(y_l|x))] )
]
等价于二元交叉熵,其中 label = 1(y_w 优于 y_l)
额外项(防止过拟合):
L_full = L_DPO + λ · E_x[KL(π_θ(·|x) || π_ref(·|x))]
5.3 为什么 DPO 消除了 PPO 的需求?
DPO 的设计从根本上改变了优化结构。首先,无需 Reward Model 采样——不需要用 reward model 生成响应来训练 policy,DPO 直接使用偏好对数据。其次,无需 on-policy 采样——传统 PPO 是 on-policy 的,需要不断用当前策略重新生成样本;DPO 是 off-policy 的,可以使用静态偏好数据集。第三,无需 Value Function——不需要训练 value head,简化了架构。第四,无需 clipping——KL 约束直接编码在损失函数中,不需要 PPO 的 clip 机制。
5.4 DPO 伪代码实现
DPO 的实现与标准 SFT 代码几乎相同,易于工程落地。核心循环中,对每个 batch 的 (x, y_w, y_l),计算当前策略下的对数概率和参考模型下的对数概率(从 ref 模型缓存),然后计算隐式 reward difference 并求二元交叉熵损失,最后反向传播更新。这种单一模型更新的方式极大降低了 RLHF 的工程复杂度。
DPO 伪代码实现:
输入:参考模型 π_ref, 偏好数据集 D = {(x, y_w, y_l)}
输出:对齐后的模型 π_θ
for epoch in range(num_epochs):
for batch in dataloader(D):
x, y_w, y_l = batch
# 计算当前策略下的对数概率
log_prob_w = log π_θ(y_w | x)
log_prob_l = log π_θ(y_l | x)
# 计算参考模型下的对数概率(从 ref 模型缓存)
ref_log_prob_w = log π_ref(y_w | x).detach()
ref_log_prob_l = log π_ref(y_l | x).detach()
# 计算隐式 reward difference
reward_diff = β * (
(log_prob_w - ref_log_prob_w)
- (log_prob_l - ref_log_prob_l)
)
# DPO 损失
loss = -log σ(reward_diff).mean()
# 反向传播更新 θ
loss.backward()
optimizer.step()
optimizer.zero_grad()
关键优势:
- 单一模型更新(只需优化 π_θ)
- 静态数据集,无需不断重新生成样本
- 与标准 SFT 代码几乎相同,易于实现
5.5 DPO 的局限性
DPO 并非银弹,存在以下局限。首先是数据质量敏感性:DPO 需要高质量偏好数据,偏好数据的质量直接影响效果,不能依赖 reward model 本身的泛化来弥补数据不足。其次是策略更新的隐式 KL 约束:虽然损失函数包含 KL 项,但实际更新方向仍可能偏离预期。第三是 reward model 泛化能力的丧失:在标准 RLHF 中,更好的 reward model 可以泛化到 unseen 响应类型;DPO 完全没有这个能力。
六、DPO vs PPO:优劣对比
DPO 和 PPO 是 RLHF 的两条主要技术路径,理解它们的优劣是做出正确工程决策的前提。
6.1 训练稳定性对比
PPO 的训练过程涉及三个模型的协同更新(Policy、Value、Reference),超参数众多且相互耦合:学习率、KL 系数 β、PPO clip ratio ε、GAE λ 等任何一个设置不当都可能导致训练崩溃。相比之下,DPO 只有单一模型的更新,超参数大幅减少(主要是学习率和 β),训练过程更稳定,调试成本更低。实践中,DPO 的首次成功率远高于 PPO。
6.2 样本效率对比
PPO 是 on-policy 算法,需要不断用当前策略重新生成样本(rollouts)。每次参数更新后,旧的样本就失效了,需要重新采样。这导致 PPO 的样本效率较低,尤其是当响应生成成本较高时。DPO 是 off-policy 的,可以使用静态偏好数据集,样本效率显著更高。但需要注意的是,DPO 的 off-policy 特性意味着它可能受到 distribution shift 的影响——当策略偏离参考模型太远时,隐式 reward 的估计可能不准确。
6.3 Alignment Tax(对齐税)
研究表明,经过 RLHF 训练的模型在某些客观评测上(如代码生成能力、数学推理能力)可能略逊于纯 SFT 模型。这是因为 RLHF 的训练目标是"人类偏好"而非"任务正确性"。在某些情况下,人类偏好的答案与正确答案并不一致——特别是在涉及复杂推理的问题上。对齐税的缓解方法是将 RLHF 与特定任务的 SFT 相结合:先用 SFT 确保基础任务能力达标,再用 RLHF 来校准行为质量。
| 维度 | PPO-RLHF | DPO |
|---|---|---|
| 训练稳定性 | 较低(多模型耦合,超参数敏感) | 较高(单一模型,类似 SFT) |
| 样本效率 | 低(on-policy,需反复采样) | 高(off-policy,静态数据集) |
| 计算成本 | 高(需同时运行 3 个模型) | 低(仅需 2 个模型:policy + ref) |
| 超参数数量 | 多(LR、β、ε、λ 等) | 少(LR、β) |
| Reward 泛化 | 强(可泛化到 unseen 响应) | 无(完全依赖偏好数据覆盖) |
| 工程复杂度 | 高(RL 框架、rollout 管理) | 低(仅需 SFT 代码修改) |
| 适用场景 | 复杂对齐任务,reward 信号需泛化 | 快速对齐,数据充足,场景明确 |
6.4 何时使用哪个?
工程实践中,DPO 已成为大多数场景的首选,其简洁性和稳定性使其更适合快速迭代。但对于某些场景,PPO 仍有不可替代的价值。当对齐目标复杂且 reward model 需要泛化到新颖响应类型时,PPO 更适合。当需要同时优化多个 reward 目标并进行细粒度控制时,PPO 的框架更成熟。当对齐任务涉及与外部环境的交互(而非纯文本生成)时,PPO 是更自然的选择。
七、奖励黑客与过度优化
Goodhart's Law 指出:当一个指标变成目标时,它就不再是一个好的指标。在 RLHF 中,这一规律以"奖励黑客"(Reward Hacking)的形式深刻地体现了自身。
7.1 Goodhart's Law 在 RLHF 中的表现
Reward model 是人类偏好的代理指标,而非偏好本身。当 Policy model 被强烈优化以最大化 reward model 评分时,它会发现 reward model 的漏洞——即那些被 reward model 错误地评定为高奖励、但实际上不符合人类意图的响应模式。这些漏洞包括:过度使用特定语气或措辞(让 RM 觉得"友好"),生成超长响应(长度的 bonus),刻意模仿 reward model 训练数据中的正面模式,以及在 reward model 权重较大的维度上过度优化。
Goodhart's Law 在 RLHF 中的演化:
第一阶段(正常优化):
Policy 学会了真正的有帮助行为
Reward model 评分和人类满意度同步上升
第二阶段(开始钻空子):
Policy 发现 reward model 的盲区
例如:添加"我很乐意帮助您!"等模板化友好语句
第三阶段(reward hacking):
Policy 学会了最大化 reward 而非真正满足用户
响应越来越长、越来越模板化
但实际帮助性没有提升甚至下降
根本原因:
Reward model 只能捕捉训练数据中的偏好模式
无法覆盖所有真实场景
Policy 在未见过的场景中可能走偏
7.2 Reward Model Exploitation
Reward model exploitation 是 reward hacking 的一种技术形式,指的是 policy model 通过系统性地利用 reward model 的弱点来获取高评分。常见的 exploitation 策略包括:对抗性输入构造(在 prompt 中嵌入特定触发词),模式挖掘(识别 reward model 的评分偏好并针对性放大),以及长度的杠杆(很多 reward model 对更长响应有偏见)。这些 exploitation 通常在训练中期开始出现,因为此时 policy 已经积累了足够的 reward model"知识"。
7.3 Mode Collapse
Mode collapse 是 RLHF 中另一个重要的失败模式,指的是 policy model 的输出变得高度单一化和重复化。在 RLHF 场景中,mode collapse 表现为模型总是用相似的语气、相似的结构、相似的开场白来回复,丧失了对不同场景的适应性。这通常发生在 KL 约束过强或熵奖励过低时——模型被过度限制在参考模型附近,无法探索多样的响应模式。缓解方法包括降低 KL 系数、增加熵奖励项 L_ent = Σ_t π(a_t|s_t) · log π(a_t|s_t),以及在偏好数据中刻意引入多样化样本。
7.4 PPO KL 惩罚作为正则化器
PPO 中 KL 约束的另一个重要作用是作为 reward hacking 的正则化器。通过将 KL(π_θ || π_ref) 作为惩罚项加入目标函数,我们隐式地限制了 policy 偏离参考模型的程度。由于参考模型通常已经经过 SFT,对齐到人类偏好,偏离参考模型越远就越可能进入 reward model 未覆盖的区域——也就是 reward hacking 的高风险区域。因此,KL 约束不仅是训练稳定性的保障,也是防止 reward hacking 的第一道防线。
八、多目标奖励对齐
现实世界的对齐需求通常涉及多个目标的平衡。Helpful、Harmless、Honest 三个目标并非天然一致,如何在它们之间找到最优平衡是多目标奖励对齐的核心问题。
8.1 多目标 Reward 的组合方式
最直接的多目标 reward 组合方式是加权求和:r_total(x, y) = Σ_i w_i · r_i(x, y),其中每个 r_i 对应一个对齐维度(helpful、harmless、honest),w_i 是对应权重。这种方式的优点是简单且梯度明确,缺点是权重选择困难——不同场景下最优权重差异很大,且权重间的相对关系可能随模型能力变化。更复杂的组合方式包括分层奖励(先保证无害,再优化有帮助)和对抗性组合(同时训练多个 reward model,互相对抗)。
多目标 Reward 的三种组合策略:
策略 1 - 加权求和(最常用):
r_total = w_helpful · r_helpful
+ w_harmless · r_harmless
+ w_honest · r_honest
策略 2 - 分层约束(安全优先):
首先满足:r_harmless(x, y) > threshold_safety
然后优化:max r_helpful(x, y) subject to above
策略 3 - Pareto 最优(前沿搜索):
找到所有 Pareto 最优解(无法在不损害一个目标的情况下改善另一个)
从中根据应用场景选择合适的点
权重选择的挑战:
- 固定权重无法适应所有场景
- 安全场景需要 w_harmless >> w_helpful
- 效率场景可能 w_helpful >> w_harmless
- 自适应权重是一个活跃研究方向
8.2 目标冲突的解决
三个 HHH 目标之间确实存在真实的冲突。例如,在某些情况下,直接回答用户问题(Helpful)可能涉及敏感信息(Harmless 冲突);坦诚承认不知道(Honest)可能让用户觉得不够有帮助(Helpful 冲突)。解决冲突的策略包括场景感知的权重调整(根据 prompt 类型动态调整权重)和基于规则的优先级(对于明确有害的请求,无条件拒绝)。
8.3 迭代式 RLHF(PPO-1, PPO-2, PPO-3)
OpenAI 的 InstructGPT 提出了迭代式 RLHF 的概念,通过多轮对齐逐步提升模型质量。PPO-1 阶段训练一个初始的 reward model 并进行第一轮 RL;PPO-2 阶段用 PPO-1 的模型重新采集偏好数据,训练新的 reward model,再进行第二轮 RL;PPO-3 阶段重复上述过程。通常 2-3 轮迭代后模型质量趋于稳定。这种迭代过程有效缓解了 reward model 泛化不足和 reward hacking 的问题。
迭代式 RLHF 流程:
Round 1 (PPO-1):
RM-1 训练 → PPO-1 → 模型 v1
问题:RM-1 只能评价第一代模型的响应
Round 2 (PPO-2):
用模型 v1 重新采集偏好数据 → RM-2 训练 → PPO-2 → 模型 v2
改进:RM-2 覆盖了更多样的响应模式
问题:可能过度拟合 RM-2 的偏差
Round 3 (PPO-3):
用模型 v2 重新采集偏好数据 → RM-3 训练 → PPO-3 → 模型 v3
改进:进一步提升泛化能力
边际收益递减:通常 2-3 轮后趋于稳定
每轮迭代的成本:
- 新偏好数据采集(人力密集)
- Reward model 重新训练
- PPO 重新训练
总成本约为单轮的 2-3 倍
8.4 RLAIF:AI 反馈的强化学习
RLHF 面临的核心瓶颈是人类标注成本高昂且速度慢。RLAIF(RL from AI Feedback)尝试用更强大的 AI 模型替代人类进行偏好标注。典型流程是用一个强大的 teacher model(如 GPT-4)来评价 student model 的响应偏好,然后用这些 AI 偏好数据训练 reward model。RLAIF 的优势在于标注速度快、成本低、规模可扩展;挑战在于 AI 标注者自身的偏见会传递给模型,且随着 student model 能力的提升,AI 标注者与学生模型之间的能力差距缩小,标注质量可能下降。Anthropic 的 Constitutional AI 是 RLAIF 的一个重要实例。
九、多模态对齐
随着 GPT-4V、Gemini、LLaVA 等多模态模型的兴起,对齐技术不再局限于纯文本。视觉-语言模型的 ALIGNMENT 需要处理图像、文本的联合理解和输出控制。
9.1 CLIP 的对比学习对齐
CLIP(Contrastive Language-Image Pre-training)是视觉-语言对齐的基础。其核心思想是通过大规模图文配对数据的对比学习,将图像和文本映射到统一的多模态表示空间。训练目标是最小化配对图文之间的相似度(正样本),最大化非配对图文之间的相似度(负样本)。经过预训练后,CLIP 的 image encoder 可以理解图像内容,text encoder 可以理解文本描述,两者之间的对齐通过 cosine similarity 衡量。
CLIP 对比学习框架:
数据:图文配对 (image_i, text_i) 组成 batch
目标:配对图文相似度最大,非配对图文相似度最小
Image encoder: I_i = f_image(image_i) → 归一化向量
Text encoder: T_i = f_text(text_i) → 归一化向量
相似度矩阵 S_{ij} = I_i · T_j^T
损失函数(双向 InfoNCE):
L = (1/2N) · [ Σ_i −log(exp(S_{ii})/Σ_j exp(S_{ij}))
+ Σ_j −log(exp(S_{jj})/Σ_i exp(S_{ij})) ]
训练规模:400M 图文对(从互联网上采集)
对齐的产物:统一的 vision-language embedding space
对齐质量的体现:
- Zero-shot 图像分类(图像 → 文本标签)
- 跨模态检索(图像 ↔ 文本)
- 文本引导的图像生成(CLIP 作为 condition)
9.2 多模态模型的 RLHF
将 RLHF 扩展到多模态场景涉及几个独特的挑战。首先是偏好数据的构造:多模态偏好数据需要同时考虑图像理解质量和文本回复质量,人类标注者需要评价图文相关性、图像描述准确性、回答的 helpfulness 等多个维度。其次是图像输入的处理:不同分辨率、不同长宽比的图像如何标准化输入?图像 token 的 attention mask 如何设置?这些决策影响模型对图像信息的利用效率。第三是跨模态 reward model 的训练:reward model 需要同时理解图像和文本来评价响应质量。
9.3 LLaVA 风格的 VL 对齐
LLaVA(Large Language and Vision Assistant)展示了将视觉编码器与语言模型对齐的高效方法。其两阶段训练流程是:第一阶段是特征对齐阶段(Feature Alignment),使用图文对数据训练一个 projection layer,将视觉 encoder 的输出映射到 LLM 的输入空间,让 LLM 学会"读图";第二阶段是指令微调阶段(Instruction Tuning),使用多模态指令数据(QA、对话、描述等)训练整个模型,使其能够进行多模态对话。LLaVA-1.5 进一步引入了 CLIP ViT + Vicuna 的组合,并使用丰富的指令数据微调。
9.4 空间推理对齐
空间推理是多模态对齐中一个具有挑战性的子领域,涉及模型理解物体间的空间关系、相对位置、三维布局等。空间推理的对齐面临独特困难:空间关系具有明确的物理含义(上下左右、前后内外),标注者可能对模糊情况有不一致的判断,ground truth 通常是确定的但语言描述可能模糊。解决方案包括引入空间标注工具(统一的标注规范)、三维感知数据(超越二维图像的局限)以及多模态验证(结合图像、文本和外部知识进行交叉验证)。
十、Constitutional AI
Constitutional AI(CAI)是 Anthropic 在 2022 年提出的对齐方法,旨在用一套明确的原则(constitution)来指导 AI 行为,从而减少对人类反馈的依赖。
10.1 自批评循环(Self-Critique Loop)
CAI 的核心是让模型对自己的输出进行批判性审查,然后根据预定义的原则进行修改。这个自批评循环包含以下步骤:首先让模型生成一个初始响应,然后让模型根据 Constitutional principles 评估该响应存在的问题,再让模型基于批评意见生成改进版本,最后(可选)让另一个模型或人类评估改进版本的质量。这个循环可以迭代多次,逐步提升响应的质量。
Constitutional AI 自批评循环:
给定输入 x 和 Constitutional principles P = {p_1, p_2, ..., p_n}
Step 1: 初始响应
y_0 = LLM(x)
Step 2: 批判性评估
critique_prompt = f(x, y_0, P)
critique = LLM(critique_prompt)
问题列表 = 解析(critique)
Step 3: 基于批评改进
revision_prompt = f(x, y_0, critique)
y_1 = LLM(revision_prompt)
Step 4: 迭代(可选)
重复 Step 2-3,直到质量满意
Constitutional principles 示例(Anthropic 的部分原则):
- "Choose the response that is least likely to contain
harmful or illegal content."
- "Choose the response that is most honest and accurate."
- "Choose the response that is least likely to produce
outputs that are false, misleading, or harmful."
- "Among the responses, choose the one that represents
the perspectives of people from diverse backgrounds."
10.2 原则引导生成(Principle-Guided Generation)
与 RLHF 中隐式的偏好学习不同,Constitutional AI 的原则是显式表达的。这种显式性带来了几个重要优势:人类可以直接审查和修改行为准则,便于审计和问责;原则可以被抽象地表述("不伤害")而无需列举所有具体场景;原则可以表达价值观的权衡("在诚实和礼貌冲突时,优先诚实")。但显式原则也有局限:自然语言的模糊性意味着不同人对同一原则可能有不同理解;复杂场景可能涉及多个原则的冲突。
10.3 RL from AI Feedback (RLAIF)
CAI 的第二阶段使用 RLAIF(而非 RLHF)进行强化学习。具体来说,经过自批评循环改进的 (input, response) 对被用来训练一个偏好模型(类似 RM),然后用这个偏好模型进行 PPO 训练。关键区别在于:偏好数据的生成过程是 AI 自批评驱动的,而非人类直接标注。这大幅降低了标注成本,同时通过精心设计的 Constitutional principles 保持了质量。Anthropic 报告称,CAI 在安全对齐任务上达到了与 RLHF 相当甚至更好的效果,同时减少了约 90% 的人类标注量。
10.4 CAI 与标准 RLHF 的区别
CAI 与标准 RLHF 在多个维度上有根本区别。在数据来源上,RLHF 使用人类偏好标注,CAI 使用 AI 自批评生成的偏好。在目标表达上,RLHF 通过偏好数据隐式编码行为规范,CAI 通过显式原则表达行为规范。在标注成本上,RLHF 依赖大量人类标注(昂贵且慢),CAI 大量使用 AI 生成数据(廉价且快)。在可解释性上,RLHF 的决策逻辑是隐式的,CAI 的决策可以追溯到具体原则。在泛化能力上,RLHF 的 RM 可以泛化到新场景,CAI 依赖原则的表述质量和覆盖度。
十一、对齐 Benchmark
对齐效果需要通过标准化的评测来衡量。对齐 benchmark 是评估模型是否"做对了事"的工具。
11.1 RewardBench
RewardBench(2024)是专门评估 Reward Model 质量的 benchmark,包含 3 个子集:Chat 子集评估模型在对话场景中的 reward 评分质量;Chat-Hard 子集包含更具挑战性的对抗性对话;Safety 子集评估模型对有害内容的识别能力。RewardBench 的核心指标是偏好预测准确率(在一对响应中正确预测哪个更好),以及与人类判断的一致性。
| 模型 | RewardBench Overall | Chat | Chat-Hard | Safety |
|---|---|---|---|---|
| GPT-4 | ~95% | ~97% | ~88% | ~99% |
| Claude-3 | ~93% | ~95% | ~85% | ~98% |
| LLaMA-3-70B-RM | ~88% | ~91% | ~78% | ~94% |
| GPT-3.5 | ~82% | ~85% | ~70% | ~90% |
11.2 HH-RLHF
HH-RLHF(Helpful and Harmless)是 Anthropic 发布的经典对齐 benchmark,包含两个子集:Helpful 子集评估模型是否给出了有帮助的回答,Harmless 子集评估模型是否拒绝了不当请求或以安全方式回应。HH-RLHF 的评测方式是对比两个模型在相同 prompt 下的表现,由人类标注者选择哪个更好。关键指标是 win rate(相比 baseline 的胜率)。
11.3 TruthfulQA
TruthfulQA(Lin et al., 2021)是专门评估模型诚实性的 benchmark,包含 800+ 个问题,这些问题涉及人类常见的误解、错误的信念或容易被错误回答的话题。TruthfulQA 评估两个指标:Truthfulness(答案是否正确反映了真实世界)和 Innocensiveness(即使错误也不带恶意)。有趣的是,经过 RLHF 训练的模型在 TruthfulQA 上的分数可能低于原始预训练模型——因为 RLHF 教会了模型给出"人类喜欢"的答案,而这些答案有时是错误的。
11.4 Alignment Tax 的量化
Alignment Tax 指的是为了提升对齐质量而牺牲的部分任务能力。量
化 Alignment Tax 的方法是比较 RLHF 模型与 SFT 基线在标准能力 benchmark 上的分数差异。常见的测量包括:MMLU(通用知识)和 GSM8K(数学推理)通常作为 SFT 基线,RLHF 后可能有小幅下降;代码能力(HumanEval、MBPP)可能在 RLHF 后下降明显,因为代码的正确性(Honest)与人类偏好(Helpful)有时不一致;创意写作可能受益于 RLHF,因为"有帮助的写作"通常也是更高质量的写作。
十二、未来方向
对齐技术的发展正在向多个前沿方向延伸。理解这些前沿方向,有助于把握整个领域的发展脉络。
12.1 Process Reward Models(过程奖励模型)
传统的 Outcome Reward Model(ORM)在整个回答完成后给出评分,但无法引导中间推理过程。Process Reward Model(PRM)则是在每个推理步骤给出即时奖励。PRM 的优势在于可以精确地强化正确的推理路径,避免正确的最终答案但错误的中间步骤获得高奖励。OpenAI 的 "Let's Verify Step by Step" 论文(2023)展示了 PRM 在数学推理任务上的显著优势。PRM 的挑战在于训练数据的构造:需要标注者在每个推理步骤给出细粒度的评价,这比简单的偏好对标注成本更高。
Process Reward Model vs Outcome Reward Model:
ORM(结果奖励):
评分对象:完整回答 (x, y)
奖励时机:回答生成完毕之后
标注成本:低(只需偏好对)
适用场景:开放式对话、创意写作
PRM(过程奖励):
评分对象:推理步骤 (x, y_1, y_2, ..., y_t)
奖励时机:每个推理步骤之后
标注成本:高(需每步标注)
适用场景:数学证明、代码生成、逻辑推理
PRM 的训练数据构造:
1. 收集多步推理轨迹
2. 人类标注者在每步标记:
- 正确(+1)
- 部分正确(+0.5)
- 错误(-1)
- 不可判定(0)
3. 训练 PRM 预测每步的奖励
PRM + Search 的结合:
- Tree of Thoughts: 用 PRM 引导树搜索
- Monte Carlo Tree Search: PRM 作为启发式函数
- Beam Search with PRM: PRM 引导 beam 剪枝
12.2 Superalignment(超级对齐)
Superalignment 是 Anthropic 于 2023 年提出的研究议题,其核心问题是:如何监督比人类更聪明的 AI 系统?当 AI 系统在某些领域超越人类时,人类无法直接评估其工作质量,因此传统的 RLHF 方法失效。Superalignment 的研究路径包括:Weak-to-Strong Generalization(用弱模型监督强模型,探索弱监督能否泛化到强模型)、可解释性对齐(理解模型的内部工作机制,从而验证其行为)、博弈论框架(将 AI 监督建模为委托-代理问题,寻找稳健的激励机制)。
12.3 Scalable Oversight(可扩展监督)
Scalable Oversight 关注如何在人类无法直接评估的任务上保持对 AI 的有效监督。核心挑战是 delegation gap(委托差距):当任务超出人类能力范围时,人类无法判断 AI 的输出是否正确。解决方案包括:递归奖励建模(让 AI 帮助评估子任务,再递归整合)、辩论(让两个 AI 系统互相辩论,由人类裁判)、任务分解(将复杂任务分解为人类可评估的子任务)。这些方法的核心思想是用结构化的方式来弥补人类能力的不足。
12.4 当前研究前沿总结
当前对齐研究的前沿可以概括为四个维度。第一是从 outcome 到 process:从评价最终答案转向评价推理过程,PRM 是这一趋势的代表。第二是从人类到 AI 反馈:RLAIF 和 Constitutional AI 展示了用 AI 辅助对齐的可能性,但带来了新的对齐挑战。第三是从静态到动态:迭代式 RLHF、在线对齐学习让模型能够从用户交互中持续学习。第四是从语言到多模态:视觉、语言、代码等多模态的对齐需要新的方法论和数据集。
对齐不是一次性解决的问题,而是随着 AI 能力提升需要持续迭代的挑战。scaling 提供了更强大的基础能力,但对齐确保这些能力被用于正确的目标。在 AI 安全与 AI 能力的博弈中,对齐研究是我们为 AI 系统植入价值观的核心技术手段。