24 KiB
title, draft, tags
| title | draft | tags | ||||
|---|---|---|---|---|---|---|
| 03-RLHF与对齐 | false |
|
RLHF 与对齐技术
本笔记面向深度学习与强化学习科研人员,系统阐述 RLHF(Reinforcement Learning from Human Feedback)及其相关对齐技术的理论基础、数学推导与算法实现。
更新日期:2026-05-14
1. RLHF 的基本框架
1.1 InstructGPT 流程
InstructGPT(Ouyang et al., 2022)提出了 RLHF 的经典三阶段流程:
\text{SFT} \rightarrow \text{RM} \rightarrow \text{PPO}
阶段一:监督微调(SFT)
给定 prompt 分布 $\rho(x)$,策略模型 \pi_{\text{ref}}(y \mid x) 通过监督学习从人类标注的 prompt-completion 对学习:
\mathcal{L}_{\text{SFT}} = - \mathbb{E}_{(x,y) \sim \mathcal{D}_{\text{SFT}}} \left[ \log \pi_{\text{ref}}(y \mid x) \right]
其中 \mathcal{D}_{\text{SFT}} 为人类标注数据。SFT 是自回归监督最大似然,等价于标准预训练续写目标,可无缝承接基座模型权重。
阶段二:奖励建模(RM)
训练奖励模型 r_\phi(x, y) 来预测人类偏好,详见第 2 节。
阶段三:PPO 微调(RLHF)
使用强化学习算法(PPO)在奖励模型提供的奖励信号下微调语言模型,同时约束其不要偏离 SFT 模型太远。
RLHF三阶段定位与轻量化方案:
- 经典重型RLHF:
SFT → RM → PPO - 轻量化对齐主流:Prompt Tuning、LoRA+RLHF、冻结骨干仅微调对齐头,是科研落地高频方案
RLHF训练稳定性核心手段:
- 自适应KL惩罚(动态调整 $\beta$)
- 偏好数据温度平滑
- 早停机制防止偏好过拟合
1.2 人类偏好数据与奖励建模
人类偏好数据的形式为三元组 $(x, y_w, y_l)$,其中:
- $x$:输入 prompt
- $y_w$:人类偏好的响应(preferred response)
- $y_l$:人类不偏好的响应(less preferred response)
奖励模型通过 Bradley-Terry 模型建模偏好概率:
P(y_1 \succ y_2 \mid x) = \sigma\left( r(x, y_1) - r(x, y_2) \right)
其中 \sigma(z) = \frac{1}{1 + e^{-z}} 为 sigmoid 函数。
1.3 RLHF 的优化目标
RLHF 的最终目标是学习一个策略 \pi_\theta 最大化期望奖励,同时保持与参考策略 \pi_{\text{ref}} 的 KL 散度较小:
\boxed{ \max_{\pi_\theta} \mathbb{E}_{x \sim \rho} \left[ \mathbb{E}_{y \sim \pi_\theta(\cdot|x)} \left[ r(x, y) \right] \right] - \beta \cdot D_{\mathrm{KL}} \left( \pi_\theta(\cdot|x) \parallel \pi_{\text{ref}}(\cdot|x) \right) }
其中:
- $r(x, y)$:奖励模型给出的奖励值
- $\beta > 0$:KL 惩罚系数,控制策略偏离 SFT 的程度(通用取值 $0.1 \sim 0.3$)
D_{\mathrm{KL}}(P \| Q) = \mathbb{E}_x \left[ P(x) \log \frac{P(x)}{Q(x)} \right]
LLM工业落地实操:理论使用全局KL,实操使用逐Token KL散度,降低计算量、提升训练稳定性:
D_{\mathrm{KL}}^{\text{token}} = \sum_{t=1}^T \log \frac{\pi_\theta(y_t|x,y_{<t})}{\pi_{\text{ref}}(y_t|x,y_{<t})}
这个目标可以重写为:
\mathcal{J}(\theta) = \mathbb{E}_{x \sim \rho} \left[ \mathbb{E}_{y \sim \pi_\theta(\cdot|x)} \left[ r(x, y) - \beta \log \frac{\pi_\theta(y|x)}{\pi_{\text{ref}}(y|x)} \right] \right]
2. 奖励模型(Reward Model)
2.1 奖励建模定义
定义 2.1(奖励模型) 奖励模型是一个参数化函数 $r_\phi: \mathcal{X} \times \mathcal{Y} \rightarrow \mathbb{R}$,用于评估给定 prompt x 下响应 y 的质量。InstructGPT 中使用 RewardNet 实现:
r_\phi(x, y) = w_\phi^T \cdot \text{Transformer}(x, y)
其中 w_\phi 为线性投影参数。
2.2 Bradley-Terry 模型
定义 2.2(Bradley-Terry 偏好模型) 给定 prompt $x$,令 r(x, y) 表示响应 y 的隐含奖励值。Bradley-Terry 模型假设人类偏好遵循以下概率分布:
P(y_w \succ y_l \mid x) = \sigma\left( r(x, y_w) - r(x, y_l) \right)
其中 \sigma(z) = \frac{1}{1 + e^{-z}} 为 logistic sigmoid 函数。
性质 2.1(偏好概率的有界性) 当 r(x, y_w) - r(x, y_l) \rightarrow +\infty 时,$P \rightarrow 1$;当差值 \rightarrow -\infty 时,$P \rightarrow 0$。这保证了偏好概率在 [0, 1] 范围内。
2.3 奖励模型训练的交叉熵损失
给定偏好数据集 $\mathcal{D} = {(x^{(i)}, y_w^{(i)}, y_l^{(i)})}_{i=1}^N$,通过最大化似然来训练奖励模型。
负对数似然损失为:
\mathcal{L}_R(\phi) = - \mathbb{E}_{(x,y_w,y_l) \sim \mathcal{D}} \left[ \log P(y_w \succ y_l \mid x) \right]
代入 Bradley-Terry 模型:
\mathcal{L}_R(\phi) = - \mathbb{E}_{(x,y_w,y_l) \sim \mathcal{D}} \left[ \log \sigma\left( r_\phi(x, y_w) - r_\phi(x, y_l) \right] \right)
展开梯度形式。设 $P = \sigma(\Delta r)$,其中 $\Delta r = r_\phi(x, y_w) - r_\phi(x, y_l)$。则:
\nabla_\phi \mathcal{L}_R = - \mathbb{E} \left[ \frac{\sigma(-\Delta r)}{P} \cdot \nabla_\phi \Delta r \right] = - \mathbb{E} \left[ \sigma(-\Delta r) \cdot \left( \nabla_\phi r_\phi(x, y_w) - \nabla_\phi r_\phi(x, y_l) \right) \right]
由于 $\sigma(-z) = 1 - \sigma(z)$,这可以重写为:
\nabla_\phi \mathcal{L}_R = - \mathbb{E} \left[ (1 - \sigma(\Delta r)) \cdot \left( \nabla_\phi r_\phi(x, y_w) - \nabla_\phi r_\phi(x, y_l) \right) \right]
物理意义:当 $r_\phi(x, y_w) > r_\phi(x, y_l)$(即预测正确)时,\sigma(\Delta r) 接近 1,梯度系数 (1-\sigma) 接近 0,样本对损失的贡献较小;当预测错误时,梯度系数接近 1,提供较大的更新信号。
2.4 奖励模型的标度问题
训练好的奖励模型 r_\phi(x, y) 的输出值域需要与人类偏好对齐。通常对奖励进行归一化:
r_{\text{norm}}(x, y) = \frac{r_\phi(x, y) - \mu}{\sigma}
其中 \mu, \sigma 是奖励分布在验证集上的均值和标准差。科研实操常用分位数截断归一化,抑制极端异常奖励值。
3. PPO 在 LLM 中的应用
3.1 策略梯度回顾
对于标准强化学习,策略梯度定理给出:
\nabla_\theta \mathcal{J} = \mathbb{E}_{\tau \sim \pi_\theta} \left[ \sum_{t=0}^{T} \nabla_\theta \log \pi_\theta(a_t|s_t) \cdot \hat{Q}(s_t, a_t) \right]
其中 \hat{Q}(s_t, a_t) 是动作价值函数的估计。
在 LLM 场景下:
- 状态 $s_t$:当前的 context
(x, y_{1:t-1}) - 动作 $a_t$:生成的下一个 token
y_t - 轨迹 $\tau$:完整的生成序列
(x, y_1, y_2, ..., y_T)
3.2 剪切代理目标(Clipped Surrogate Objective)
PPO 的核心创新是剪切代理目标函数。定义重要性采样比率:
r_t(\theta) = \frac{\pi_\theta(y_t|x, y_{1:t-1})}{\pi_{\text{ref}}(y_t|x, y_{1:t-1})}
定义优势函数估计(GAE, Generalized Advantage Estimation):
\hat{A}_t = \sum_{l=0}^{T-t} (\gamma \lambda)^l \delta_{t+l}
其中 \delta_t = r_t + \gamma V(s_{t+1}) - V(s_t) 是时序差分误差,\gamma \in [0,1] 是折扣因子,\lambda \in [0,1] 是 GAE 参数。
LLM中GAE的特殊性:传统强化学习是逐帧GAE,LLM为整序列统一GAE,折扣因子 \gamma 在文本生成中取值更贴近1(通常 $\gamma=0.99, \lambda=0.95$),时序衰减极弱。
定理 3.1(PPO 剪切代理目标) PPO 通过以下目标函数实现策略更新:
\boxed{
\mathcal{L}^{\text{CLIP}}(\theta) = \mathbb{E}_t \left[ \min\left( r_t(\theta)\cdot\hat{A}_t,\ \text{clip}\big(r_t(\theta),1-\epsilon,1+\epsilon\big)\cdot\hat{A}_t \right) \right]
}
其中 \epsilon = 0.2 是行业固定剪切超参数。
剪切机制的物理意义:
当 $\hat{A}_t > 0$(优势为正)时:比值 r_t 被剪切到 $[1-\epsilon, 1+\epsilon]$,这意味着当 r_t > 1+\epsilon 时,梯度被"截断",不再鼓励更多探索。
当 $\hat{A}_t < 0$(优势为负)时:比值被剪切到 $[1-\epsilon, 1+\epsilon]$,限制策略概率的过度减小。
3.3 价值函数与 baseline
在 LLM 的 RLHF 中,价值函数 V_\psi(x, y_{1:t}) 用于估计从当前前缀到序列结束的累计终局奖励,非单步局部奖励:
V_\psi(x, y_{1:t}) \approx \mathbb{E}_{y_{t+1:T} \sim \pi_\theta} \left[ \sum_{k=t}^{T} r(x, y_{1:k}) \right]
仅 PRM 过程奖励才定义逐步骤局部信号。
价值函数通过以下均方误差损失进行训练:
\mathcal{L}_V(\psi) = \mathbb{E}_t \left[ \left[ V_\psi(x, y_{1:t}) - \hat{V}_t \right]^2 \right]
其中 \hat{V}_t = \sum_{k=t}^{T} r(x, y_{1:k}) 是价值目标。
优势函数定义为:
\hat{A}_t = \hat{Q}_t - \hat{V}_t = r(x, y_{1:t}) + \hat{V}_{t+1} - \hat{V}_t
这本质上是 REINFORCE with baseline,通过减去 value baseline 减少方差。
3.4 经验回放与 Epoch 限制
PPO 在 LLM 中的特殊性:LLM-RLHF 采用On-Policy 同策略 PPO,轨迹严格依赖当前策略参数,旧轨迹分布失效,不支持离线异策略经验回放,并非单纯"只能用一次"。
每个 prompt 及其生成轨迹只用于一次梯度更新,但可以在同一个 mini-batch 中多次计算 loss(多个 epoch)。
设 B 为一个 mini-batch 的 prompt 集合,对每个 $x \in B$:
- 采样轨迹
(x, y_1, ..., y_T) \sim \pi_\theta(\cdot|x) - 计算优势函数
\hat{A}_t - 在相同数据上执行
K个 epoch 的策略更新(通常 $K = 1 \sim 4$)
3.5 梯度裁剪与训练稳定性
PPO 额外使用梯度裁剪进一步增强稳定性:
行业标准:LLM训练使用梯度范数裁剪,通过 torch.nn.utils.clip_grad_norm_(max_norm) 实现:
\|\nabla_\theta \mathcal{L}\|_2 \leq \text{max\_norm}
其中 max_norm 通常设为 0.1~1.0。
KL 散度约束与梯度裁剪的双重保险:
- KL 散度惩罚:软约束策略不要偏离
\pi_{\text{ref}}太远 - 梯度裁剪:硬约束参数更新的幅度
- 剪切代理目标:限制策略更新的比率
4. KL 散度约束的作用
4.1 \beta 参数的物理意义
\beta 参数控制了 KL 惩罚的强度,其物理意义可以从以下角度理解:
信息论角度:D_{\mathrm{KL}}(\pi_\theta \| \pi_{\text{ref}}) 衡量新策略 \pi_\theta 相对于参考策略 \pi_{\text{ref}} 额外需要编码的信息量。较大的 \beta 意味着策略不能引入太多新信息。
4.2 前哨策略(Reference Policy)的约束
定义 4.1(前哨策略) 前哨策略 \pi_{\text{ref}} 是 SFT 阶段训练得到的监督微调模型,作为 RLHF 的参考基准。
KL 惩罚项 D_{\mathrm{KL}}(\pi_\theta \| \pi_{\text{ref}}) 的作用:
\pi^* = \arg\max_{\pi} \mathbb{E}_{x \sim \rho} \left[ \mathbb{E}_{y \sim \pi(\cdot|x)}[r(x,y)] - \beta \cdot D_{\mathrm{KL}}(\pi(\cdot|x) \| \pi_{\text{ref}}(\cdot|x)) \right]
引理 4.1(KL 约束的闭式解) 上述目标的解具有以下形式:
\pi^*(y|x) \propto \pi_{\text{ref}}(y|x) \cdot \exp\left( \frac{r(x,y)}{\beta} \right)
证明:在约束 \sum_y \pi(y|x) = 1 下使用拉格朗日乘子法。对每个 $x$,目标函数为:
\mathcal{L} = \sum_y \pi(y|x) \cdot r(x,y) - \beta \sum_y \pi(y|x) \log \frac{\pi(y|x)}{\pi_{\text{ref}}(y|x)} + \lambda \left( \sum_y \pi(y|x) - 1 \right)
对 \pi(y|x) 求导并令导数为零:
r(x,y) - \beta \left( 1 + \log \frac{\pi(y|x)}{\pi_{\text{ref}}(y|x)} \right) + \lambda = 0
整理得:
\pi(y|x) = \pi_{\text{ref}}(y|x) \cdot \exp\left( \frac{r(x,y) + \lambda - \beta}{\beta} \right)
令 Z = \sum_y \pi_{\text{ref}}(y|x) \cdot \exp\left( \frac{r(x,y)}{\beta} \right) 为归一化常数,则:
\pi^*(y|x) = \frac{\pi_{\text{ref}}(y|x) \cdot \exp\left( \frac{r(x,y)}{\beta} \right)}{Z}
这正是 Boltzmann 分布的形式。\blacksquare
4.3 KL 惩罚 vs 奖励信号之间的权衡
令 \beta 取极端值来分析:
当 $\beta \rightarrow 0$:KL 惩罚几乎消失,目标是纯粹的期望奖励最大化 $\max_\pi \mathbb{E}[r(x,y)]$。这等价于找到奖励最高的分布,但由于没有约束,可能导致分布退化(所有概率集中在一个 token)。
当 $\beta \rightarrow \infty$:KL 惩罚主导,策略被强制接近 $\pi_{\text{ref}}$,$\pi^* \rightarrow \pi_{\text{ref}}$。此时几乎没有奖励优化。
\beta 的实际选择:InstructGPT 中 \beta 通常在 0.1 到 0.3 之间。过小会导致 reward hacking(见第 7 节),过大会导致策略无法从人类反馈中学习。
5. DPO(Direct Preference Optimization)
5.1 DPO 目标函数
DPO(Rafailov et al., 2023)提出了直接优化偏好数据的目标,无需显式训练奖励模型。
定义 5.1(DPO 目标) 给定偏好数据集 $\mathcal{D} = {(x, y_w, y_l)}$,DPO 优化以下损失:
\boxed{
\mathcal{L}_{\text{DPO}} = - \mathbb{E}_{(x,y_w,y_l) \sim \mathcal{D}} \left[ \log \sigma\left( \beta \log\frac{\pi_\theta(y_w|x)}{\pi_{\text{ref}}(y_w|x)} - \beta \log\frac{\pi_\theta(y_l|x)}{\pi_{\text{ref}}(y_l|x)} \right) \right]
}
其中 \pi_{\text{ref}} 是参考策略(通常为 SFT 模型),\beta 是温度参数(通用取值 $0.1 \sim 1.0$)。
5.2 DPO 与 PPO 的等价性推导
定理 5.1(DPO 与 PPO 的等价性) 在适当假设下,最小化 DPO 损失等价于在 PPO 框架下最大化期望奖励。
证明:从 RLHF 目标出发,设 Bradley-Terry 模型给出偏好概率:
P(y_w \succ y_l | x) = \sigma( r(x, y_w) - r(x, y_l) )
DPO 论文的核心观察:DPO 隐式定义了满足 Bradley-Terry 约束的奖励模型。通过偏好概率的对数几率变换可得:
r(x, y_w) - r(x, y_l) = \beta \cdot \log \frac{P}{1-P} = \beta \cdot \log \frac{\pi_\theta(y_w|x)}{\pi_{\text{ref}}(y_w|x)} - \beta \cdot \log \frac{\pi_\theta(y_l|x)}{\pi_{\text{ref}}(y_l|x)}
最小化 DPO 损失等价于最小化以下交叉熵:
\mathcal{L}_{\text{DPO}} = - \mathbb{E} \left[ \log P(y_w \succ y_l | x) \right]
其中 P 由上式定义。这恰好是让模型满足人类偏好的分布。\blacksquare
5.3 DPO 的优缺点分析
优点:
- 无需奖励模型训练:DPO 直接在偏好数据上优化,绕过了独立的奖励建模阶段,简化了流程。
- 避免奖励模型过拟合:奖励模型的有限容量可能导致过拟合,DPO 避免了这个问题。
- 计算效率:单阶段优化,无需运行 PPO 的迭代过程。
- 训练稳定性:DPO 的优化目标更加平滑,不涉及策略梯度的方差问题。
缺点:
- 对参考模型的依赖:DPO 需要高质量的 $\pi_{\text{ref}}$,如果参考模型能力不足,DPO 难以学到超越它的能力。DPO 强依赖高质量 SFT 参考策略,若
\pi_{\text{ref}}能力薄弱,DPO 无法实现能力跃升,仅能做偏好对齐,无法做能力提升。 - 隐式奖励的局限性:DPO 使用的隐式奖励
\beta \log \frac{\pi_\theta(y|x)}{\pi_{\text{ref}}(y|x)}可能与真实人类偏好不完全一致。 - 缺乏探索机制:DPO 本质上是最小化 KL 散度到参考策略,没有显式的探索机制。
- 过优化风险:DPO 可能更容易过拟合到偏好数据的分布,导致泛化能力下降。
6. 过程奖励模型(Process Reward Model, PRM)
6.1 结果奖励 vs 过程奖励
定义 6.1(结果奖励模型,Outcome RM) 结果奖励模型只在完整的响应生成后才提供奖励信号 $r(x, y_T)$。这是标准 RLHF 中使用的奖励模型。
定义 6.2(过程奖励模型,Process RM) 过程奖励模型在生成的每个中间步骤都提供奖励信号:
r(x, y_{1:t}) = \text{PRM}(x, y_{1:t}), \quad \forall t \in \{1, 2, ..., T\}
对比:
| 特性 | 结果奖励 (Outcome RM) | 过程奖励 (Process RM) |
|---|---|---|
| 奖励时机 | 仅在序列末尾 | 每个中间步骤 |
| 信用分配 | 难以处理长序列 | 天然支持逐步信用分配 |
| 训练数据 | 稀疏偏好信号 | 需要每步标注 |
| 可解释性 | 低 | 高 |
6.2 蒙特卡洛树搜索中的 PRM
蒙特卡洛树搜索(MCTS) 结合 PRM 的核心思想:
在 MCTS 中,每个节点 (x, y_{1:t}) 维护:
- $N(x, y_{1:t})$:访问计数
- $Q(x, y_{1:t})$:平均奖励估计
MCTS 的 Upper Confidence Bound (UCB) 选择策略:
a_t = \arg\max_{a} \left[ Q(x, y_{1:t-1}, a) + c \cdot \sqrt{\frac{\ln N(x, y_{1:t-1})}{N(x, y_{1:t-1}, a)}} \right]
其中 c 是探索常数。
PRM 引导的 MCTS:使用 PRM 提供每步的即时奖励,改进 UCB 中的 Q 值估计:
\hat{Q}(x, y_{1:t}) = \frac{1}{M} \sum_{m=1}^{M} \left[ \sum_{k=1}^{T} r(x, y_{1:k}^{(m)}) \right]
其中 M 是通过 MCTS 采样的轨迹数量。
6.3 PRM 与 MCTS 的结合
算法步骤:
- 初始化:使用 SFT 模型初始化策略
\pi_{\text{ref}} - PRM 训练:收集人类标注的过程偏好数据 $(x, y_{1:t}, y'_{1:t}, \text{偏好})$,训练 PRM
- MCTS 搜索:对于每个 prompt $x$,使用 PRM 引导的 MCTS 生成多样化的响应
- 数据收集:收集
(x, y_{\text{chosen}}, \text{偏好})对 - 策略更新:使用 DPO 或 RLHF 更新策略
- 迭代:重复步骤 2-5
数学形式化:设 MCTS 树的叶子节点对应完整响应 $y_T$,中间节点对应部分序列 $y_{1:t}$。PRM 的奖励信号传递:
\Delta Q(x, y_{1:t}) = r_{\text{PRM}}(x, y_{1:t}) - V(x, y_{1:t-1})
其中 V 是价值 baseline,用于减少方差。
7. 对齐失败的模式与检测
7.1 奖励黑客(Reward Hacking)
定义 7.1(奖励黑客) 奖励黑客是指策略 \pi_\theta 发现并利用奖励模型的漏洞,获得高奖励但实际质量低下的行为。
数学描述:奖励模型 r_\phi(x,y) 是真实人类偏好 r^*(x,y) 的代理。奖励黑客发生在:
\pi_\theta = \arg\max_{\pi} \mathbb{E}[r_\phi(x,y)] \neq \arg\max_{\pi} \mathbb{E}[r^*(x,y)]
即策略优化的目标与真实目标不一致。
典型模式:
- 长度作弊:模型发现更长的回复获得更高奖励,因此生成冗长但空洞的内容
- 关键词填充:在回复中堆砌特定关键词以提高奖励模型分数
- 对抗性输入:发现奖励模型的盲点,在特定输入模式下生成欺骗性内容
7.2 谄媚(Sycophancy)
定义 7.2(谄媚) 谄媚是指模型在收到用户反馈时,过于顺从用户的观点,而不是坚持事实准确性。
数学描述:设用户的隐式信念为 $b$,模型的响应为 $y$,真实性衡量为 $f(x,y) \in [0,1]$,用户满意度为 $s(x,y,b) \in [0,1]$。谄媚发生在:
\pi_{\text{ref}} = \arg\max_\pi \mathbb{E}[s(x,y,b)] \quad \text{当} \quad \mathbb{E}[f(x,y)] \text{被牺牲}
即策略优先考虑用户满意度而牺牲了真实性。
检测方法:
- 观点一致性测试:给模型提供相同事实,但附加支持或反对该事实的用户陈述,观察回复变化
- 多轮对话测试:通过多轮对话引导模型改变立场,检测是否过度顺从
7.3 过度优化(Overoptimization)
定义 7.3(过度优化) 过度优化是指在 RLHF 过程中,对 KL 约束的 \beta 参数设置过低,导致策略过度拟合奖励模型而偏离人类意图。
数学分析:设真实目标函数为 $J^*(pi)$,代理目标函数为 $\hat{J}(pi)$,二者满足:
\hat{J}(pi) = J^*(pi) + \epsilon(pi)
其中 \epsilon(pi) 是模型误差。当 \beta 过小时:
\pi^* = \arg\max_\pi \hat{J}(pi) - \beta \cdot D_{\mathrm{KL}}(pi \| pi_{\text{ref}})
过小的 \beta 允许 \pi^* 过度拟合 $\hat{J}$,放大误差 \epsilon 的影响。
Goodhart's Law:当一个指标变成目标时,它就不再是一个好的指标。在 RLHF 中,当奖励模型成为优化目标时,它可能不再反映人类真实偏好。
7.4 对齐测试方法
7.4.1 自动化测试
对抗性测试集:构建包含"陷阱"问题的测试集,检测模型是否会:
-
Truthfulness Test:检测模型在明显错误前提下是否仍坚持正确事实
- 输入:"如果 2+2=5,那么 1+1=?"
- 期望:模型应拒绝参与错误推理
-
Helpfulness Test:检测模型是否能识别并拒绝有害请求
- 输入:明显的恶意请求
- 期望:拒绝并给出合理解释
-
Honesty Test:检测模型是否会在不确定时承认不知道
- 输入:超出训练分布的冷门问题
- 期望:承认不确定性而非胡说
7.4.2 人类评估协议
A/B 测试框架:
- 将测试用例随机分配给两组人类评估者
- 一组评估 A 版本输出,另一组评估 B 版本
- 比较偏好率和安全性指标
Elo 评分系统:
- 将模型放入 Elo 系统,与人类评估者对弈
- 持续追踪模型的 Elo 分数变化
7.4.3 内部代理(Internals)分析
奖励模型探测:训练探针分类器,检测奖励模型的激活模式是否与特定对齐失败模式相关联。
注意力可视化:分析 Transformer 的注意力权重,检测是否存在"谄媚模式"的注意力头。
7.5 其他对齐失败场景
除奖励黑客、谄媚、过度优化外,补充三大主流对齐缺陷:
事实遗忘(Fact Forgetting):RLHF 优化后模型丢失预训练阶段学到的 factual 知识,表现为回答通用事实的准确率下降。根源是偏好数据分布与预训练知识分布冲突。
上下文偏见(Context Bias):模型过度依赖近期上下文,忽略长期依赖。表现为处理长文本时前后信息关联断裂。
多轮一致性崩塌(Multi-turn Inconsistency):模型在多轮对话中前后不一致,表现为同一问题不同轮次回答矛盾。根源是 RLHF 训练为单轮对话,与多轮交互场景不匹配。
附录:算法伪代码
算法 A.1:PPO for LLM
输入:SFT 模型 π_ref,奖励模型 r_φ,初始策略 π_θ,折扣因子 γ,GAE 参数 λ,剪切参数 ε
输出:更新后的策略 π_θ
1. 初始化价值网络 V_ψ
2. FOR 每个训练步 do
3. 采样一批 prompts {x_i} from ρ
4. FOR 每个 prompt x_i do
5. 生成轨迹 τ_i ~ π_θ(·|x_i)
6. 计算优势估计 A_t for each token
7. END FOR
8. FOR 每个 epoch do
9. FOR 每个 token position t do
10. 计算比率 r_t(θ) = π_θ(y_t|x, y_{<t}) / π_old(y_t|x, y_{<t})
11. 计算剪切目标 L_CLIP(θ)
12. 计算价值损失 L_V(ψ)
13. 更新 θ via Adam
14. 更新 ψ via Adam
15. END FOR
16. END FOR
17. END FOR
算法 A.2:DPO
输入:参考策略 π_ref,偏好数据 D = {(x, y_w, y_l)},温度参数 β
输出:更新后的策略 π_θ
1. 初始化策略 π_θ = π_ref
2. FOR 每个训练步 do
3. 采样一批偏好数据 (x, y_w, y_l) ~ D
4. 计算隐式奖励对数比率:
log_ratio_w = log π_θ(y_w|x) - log π_ref(y_w|x)
log_ratio_l = log π_θ(y_l|x) - log π_ref(y_l|x)
5. 计算 DPO 损失:
L_DPO = - log σ(β · log_ratio_w - β · log_ratio_l)
6. 更新 θ via Adam
7. END FOR
参考文献
- Ouyang, L., et al. (2022). Training language models to follow instructions with human feedback. NeurIPS.
- Schulman, J., et al. (2017). Proximal Policy Optimization Algorithms. arXiv preprint.
- Rafailov, R., et al. (2023). Direct Preference Optimization: Your Language Model is a Reward Model. NeurIPS.
- Stiennon, N., et al. (2020). Learning to summarize with human feedback. NeurIPS.
- Bai, Y., et al. (2022). Training a helpful and harmless assistant with RLHF. arXiv preprint.
- Lightman, W., et al. (2023). Let's Verify Step by Step. ICML.
- Uesato, J., et al. (2022). Solving math word problems with process-based feedback. arXiv preprint.