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 系统植入价值观的核心技术手段。