第十周:强化学习 – 小测验答案


第 1 题

在 RLHF 的 LLM 框架中,“状态”(State)对应的是 提示词(prompt)加上已经生成的 token 序列,即 $s_t = (x, y_{<t})$。每生成一个新 token,状态就会更新。


第 2 题

KL 散度在 RLHF 中的作用是 约束训练后的策略模型不要偏离原始 SFT 模型(参考模型)太远。如果不加 KL 惩罚,模型可能会出现 reward hacking 现象——为了追求高奖励分数而生成不自然、重复或无意义的文本,虽然能获得高奖励,但对人类来说质量很差。


第 3 题

RLHF 的三个阶段依次是:

  1. SFT(Supervised Fine-Tuning):监督微调,让模型学会指令遵循
  2. Reward Model 训练:用人类偏好数据训练一个能给回复打分的奖励模型
  3. PPO 策略优化:用 PPO 算法,以 Reward Model 的分数为奖励信号,优化策略模型

第 4 题

Bradley-Terry 模型的核心假设是:人类偏好选择(chosen)优于被拒绝选择(rejected)的概率,等于两者奖励差经过 sigmoid 函数的值:

$$P(\text{chosen} \succ \text{rejected}) = \sigma(r(x, y_w) - r(x, y_l))$$

对应的损失函数为:

$$\mathcal{L}_{\text{RM}} = -\log \sigma(r_\theta(x, y_w) - r_\theta(x, y_l))$$

其中 $y_w$ 是 chosen 回答,$y_l$ 是 rejected 回答。


第 5 题

PPO 中 clip 范围 $\varepsilon$ 的典型值为 0.1 或 0.2。clip 的目的是 限制策略更新的幅度,当概率比率 $\rho_t$ 超出 $[1-\varepsilon, 1+\varepsilon]$ 范围时,梯度被截断,防止单次更新过大导致策略崩溃(即"自举"问题)。


第 6 题

在 PPO 的奖励设计中,每个 token $t$ 的奖励为 $r_t = -\beta[\log\pi_\theta(y_t|s_t) - \log\pi_{\text{ref}}(y_t|s_t)]$,即每一步都有 KL 惩罚。最后一个 token($t=T$)的特殊之处在于,它额外叠加了 Reward Model 对整条序列的打分 $R_{\text{RM}}(x,y)$,因为 RM 的奖励是 sequence-level 的,只在序列结束时给出。


第 7 题

DPO 相对于 PPO 的最大优势是 不需要训练 Reward Model 和 Value Model,将 RL 问题转化为一个简单的分类损失,大幅降低训练复杂度和计算成本。DPO 只需要 2 个模型:当前策略模型和冻结的参考模型。


第 8 题

DPO 是 off-policy。这意味着 DPO 的训练数据(偏好对:chosen 和 rejected)是预先收集好的,不需要在训练过程中用当前模型在线生成采样数据。训练效果完全取决于事先准备的偏好数据集的质量和多样性。


第 9 题

DPO 的隐式奖励函数为:

$$r(x, y) = \beta \log \frac{\pi_\theta(y|x)}{\pi_{\text{ref}}(y|x)} + \beta \log Z(x)$$

其中 $\beta$ 是 KL 系数,$Z(x)$ 是与 $y$ 无关的配分函数。这意味着 DPO 不需要显式训练一个奖励模型,策略模型本身隐式定义了奖励。


第 10 题

GRPO 与 PPO 的两个核心区别:

  1. Reward Model 不用训练,而是基于规则:传统 PPO 需要训练一个神经网络奖励模型,GRPO 直接使用人工设定的规则(如答案匹配、格式检查)来判定奖励
  2. 不用训练 Value Model 去估计优势:PPO 需要一个 Critic 网络估计状态价值来计算 GAE 优势函数,GRPO 通过组内回答的奖励做标准化来计算优势

第 11 题

GRPO 的优势函数公式为:

$$\hat{A}_{i,t} = \frac{r_i - \text{mean}(r)}{\text{std}(r)}$$

其中 $r = {r_1, r_2, …, r_G}$ 是组内所有回答的奖励。同一回答内每个 token 的优势值相同,是因为规则奖励是 sequence-level 的(对整条回答打分),而非 token-level 的,所以同一回答的所有 token 共享同一个优势值。


第 12 题

当组内回答全部正确或全部错误时,$\text{std}(r) = 0$,优势函数中的除法会出现 除零或数值不稳定 的问题,所有优势值趋近于 0,导致梯度无效。正确的处理方式是 跳过(skip)该批次,不进行参数更新。实际代码中通常会加一个小的 epsilon 防止除零。


第 13 题

GRPO 使用的 k3 KL 估计器公式为:

$$D_{KL} = (r - 1) - \log r, \quad r = \frac{\pi_{\text{ref}}}{\pi_\theta}$$

相比朴素估计器 k1($\log \frac{p(x)}{q(x)}$),k3 的优势是:

  • 同样无偏
  • 方差显著更低:k1 对一半样本产生负值,导致估计值波动大;k3 通过增加 $(r-1)$ 项保证值非负,减少方差

第 14 题

GRPO 的 GSM8K 实战中,奖励函数包含五个维度:

奖励维度分数说明
XML 标签结构 (xmlcount_reward_func)0 ~ 0.5 分根据 <reasoning><answer> 标签的出现和位置打分
宽松格式 (soft_format_reward_func)0.5 分标签之间有任意空白字符即可
严格格式 (strict_format_reward_func)0.5 分标签之间必须有正确的换行符
整数格式 (int_reward_func)0.5 分提取的答案是整数
答案正确 (correctness_reward_func)2.0 分提取的答案与标准答案完全匹配

总计最高可得 3.5 分(当答案正确且格式完美时)。


第 15 题

维度PPODPOGRPO
所需模型数量4 个(Actor + Critic + Reward + Reference)2 个(Policy + Reference)2 个(Policy + Reference)
采样方式On-policy:训练过程中用当前模型在线生成回复Off-policy:使用预先收集的静态偏好数据On-policy:训练过程中对每个问题采样多条回答(组采样)
适用场景通用对齐(对话安全性、有用性),数据充足时效果最好有高质量偏好数据(chosen/rejected 对)的场景有客观正确答案的任务(数学推理、代码生成、选择题)