Chapter 04

偏好优化与对齐

上一章用 SFT 把模型调成"会回答",但没解决"怎样算回答得好"。这一章是后训练第二步——用人类偏好把模型推向更有用、无害的回答;并一路走到 2025 年推理模型把"训练"重心搬到后训练的前沿。

本章你将建立的 schema

  • 怎么把"哪个回答更好"这种模糊偏好,变成一个标量奖励、再变成梯度
  • RLHF/PPO 为什么要 4 个模型、KL 惩罚为什么不能省,以及 DPO 如何把这套 RL 消成一个分类 loss
  • 2025 前沿 RLVR + GRPO + 推理模型,以及它们如何动摇了"后训练不增加能力"这条 §1.3 的分界

4.1把"偏好"变成"奖励"

对齐的第一步:把无法求导的人类判断,经由成对比较→奖励模型,变成一个标量分数。

为什么需要它

SFT 教会了模型回答问题,却没有教模型"哪种回答更好"。"有用、无害、真实"这三个目标,任何一个都无法直接写成 loss——它们不是可以对着词表做交叉熵的东西。对齐阶段的工程本质,就是把这些模糊判断翻译成标量,再接回梯度下降的轨道。

为什么用成对比较而非绝对打分

最直观的想法是让标注员给每个回答打分(1–10 分)。现实中这个方案的信噪比很低:不同标注员对"8 分"的标准各不相同,同一个标注员在不同时间对同一条回答也会打出不同分数。成对比较("A 和 B 哪个更好")则稳定得多——人对相对优劣的判断远比绝对量化更一致,且标注速度更快,每条对比平均成本更低。

InstructGPT(OpenAI,2022)把这个方案系统化:给标注员看同一个 prompt 的 K 个回答,让他们两两排序,得到 C(K,2) 个偏好对。每个偏好对的形式是 (x, y_w, y_l)——同一个问题 x、被选中的 chosen 回答 y_w、被拒绝的 rejected 回答 y_l。

Bradley-Terry 模型:偏好的概率化

给定两个回答,Bradley-Terry 模型把"chosen 更好"这件事建模为:

P(yw ≻ yl | x) = σ(r(x, yw) − r(x, yl))

其中 r(x, y) 是奖励函数,σ 是 sigmoid。这个公式有一个关键结论:只有奖励的差值有意义。把所有回答的奖励同时加上一个常数 C,概率分布丝毫不变——奖励的绝对值没有语义,只有相对大小有语义。这一点在后面 DPO 的推导中会再次出现。

奖励模型(Reward Model,RM)的训练

奖励模型从上一章的 SFT checkpoint 出发(这是 RL 训练的起点,也是参考模型的来源)。把语言模型最后一层的"词表输出头"换成一个输出单个标量的线性层,其余参数继续作为特征提取器。训练目标是最大化 log-likelihood of Bradley-Terry:

LRM = −log σ(r(x, yw) − r(x, yl))

奖励模型只训练约 1 个 epoch。训得更久会过拟合偏好数据集——模型开始记住"这条数据里哪个答案被标注员喜欢"而非学到泛化的偏好规律。过拟合的后果在 §4.2 会直接成为一个系统性风险:后续 RL 优化时,策略模型会找到这些过拟合出的漏洞并加以利用(reward hacking)。

chosen 回答 y_w 标注员选中的 rejected 回答 y_l 标注员淘汰的 同一个 prompt x 奖励模型 RM (from SFT ckpt) r_w chosen 得分 r_l rejected 得分 σ(Δr) P(更好) loss = −log σ(r_w − r_l),驱使 r_w > r_l
图 4.1偏好对经同一个奖励模型得到两个标量,差值经 sigmoid 变为概率。注意:两条路径共用同一个 RM——奖励的绝对值无意义,只有差值驱动 loss,整体平移不改变任何梯度。
表 4.1 · 对齐信号的三种采集方式
方式怎么拿信号主要问题适用场景
写死规则 正则/关键词过滤,内容审核列表 规则覆盖不了细粒度风格与有用性;容易被绕过 安全硬限制(作为补充层)
绝对打分 标注员对单条回答打 1–10 分 标注员间方差大;同一人前后不一致;分数语义模糊 粗粒度质量筛选
成对偏好比较 标注员对两个回答选优劣 只捕捉相对偏好,无法直接量化"好多少" RLHF/DPO 主流信号,便宜且一致性高
洞察 · RLAIF 与 Constitutional AI

Anthropic 在 Constitutional AI(2022-12)中提出用 AI 模型替代人类标注员生成偏好信号:先让模型按一套"宪法"原则自行批评并修订回答,再用 AI 偏好反馈训练奖励模型(RLAIF)。截至 2026-06,合成偏好数据已成为主流配方的一部分,大幅降低了人工标注成本——但继承了 AI 生成器的长度偏置和风格偏置,§4.4 会再次讨论这个问题。

4.2RLHF / PPO:4 个模型一起转

PPO 把奖励模型的分数接入策略梯度,同时用 KL 惩罚把策略锚在 SFT 附近,防止它为高分钻空子。

优化目标

RLHF 的训练目标,写成数学形式是:

maxπθ Ex,y~πθ[ r(x, y) ] − β · KL( πθ ‖ πref )

逐项拆解:

  • r(x, y):奖励模型对策略当前回答的评分——越高越好。
  • KL(πθ ‖ πref):当前策略和参考模型(冻结的 SFT checkpoint)之间的 KL 散度——衡量策略偏离 SFT 基线有多远。
  • β:KL 惩罚系数,控制两个目标的权衡。β 大则策略保守,β 小则策略激进。

为什么 KL 惩罚不能省

去掉 KL 项,优化目标变成纯粹的"最大化 r(x, y)"。奖励模型是一个神经网络,在训练数据分布之外它的预测不可信。策略模型通过在线采样不断探索新的回答——一旦没有约束,它会迅速发现奖励模型的"漏洞":某些对人类毫无意义、甚至是乱码的输出,却能获得很高的 RM 分数。

Gao 等人(2023,"Scaling Laws for Reward Model Overoptimization")在受控实验中量化了这个过程:随着 KL 散度增大,代理奖励(RM 打分)持续上升,但黄金奖励(真实人类评估)先升后降,最终深入负区间。这个现象称为 reward hacking(奖励欺骗),也是 Goodhart 定律在 RL 中的具体表现:当一个测量指标变成了优化目标,它就不再是一个好的测量指标。KL 惩罚把策略锚在 SFT checkpoint 附近,本质上是用"别跑太远"来间接保证策略不会落入 RM 的盲区。

显存里的 4 个模型

PPO 训练需要同时维持 4 个模型(参见图 4.2):

  • 策略模型(actor/policy πθ):正在被训练的目标模型,每步产生回答、接收梯度更新。
  • 参考模型(reference πref):冻结的 SFT checkpoint,用于计算 KL 散度。不更新参数,只做前向推断。
  • 奖励模型(reward model r):冻结,对策略回答打分。不更新参数,只做前向推断。
  • 价值模型(critic/value V):估计当前状态的期望未来奖励(即 PPO 的基线/baseline),用于计算优势(advantage)。价值模型不等于奖励模型——奖励模型给出即时奖励 r(x, y),价值模型给出状态价值估计 V(s);二者功能不同,通常也是分开的网络。这是 PPO 中最常见的混淆之一。
洞察 · 为什么需要 critic

朴素的 REINFORCE 算法用"整条轨迹的总奖励"作为梯度权重,方差极大——同一条轨迹每次采样结果不同,梯度噪声大到难以收敛。PPO 用 critic 估出基线 V(s),只用"实际奖励 − 基线"(即 advantage)来加权梯度,大幅降低方差。这是 actor-critic 架构存在的根本理由。

策略模型 actor / policy π_θ (在训,接收梯度) 参考模型 frozen SFT ckpt · 算 KL 奖励模型 frozen · 打分 r(x,y) 价值模型 critic · 估基线 V(s) PPO 更新 梯度 → actor KL 散度 回答 y 奖励 r 状态 s 基线 V(s) advantage ∇θ 冻结 ×2
图 4.2PPO 四模型回路:策略模型居中,四根辐射分别连参考/奖励/价值/更新器。注意:奖励模型和参考模型都是冻结的(不更新参数),只有策略模型和价值模型(critic)接受梯度——但二者的 loss 来源不同,价值模型优化价值估计误差,策略模型优化 advantage 加权的策略梯度。

PPO 为什么难

PPO 在实践中以"难调"著称,根源有三:

  • 超参多且相互纠缠:β(KL 系数)、clip ratio(PPO 的 ε)、GAE λ、mini-batch 大小、rollout 长度、critic 学习率……前后端约 10 个超参,改一个其余的最优值都会随之漂移。
  • 在线采样导致数据分布持续变化:每步策略更新后,下一步的采样分布就变了,无法像 SFT 那样对静态数据集多次迭代。
  • 训练容易不稳/崩溃:奖励塌缩(所有回答得分趋同)、KL 爆炸(策略迅速偏离参考模型)、critic 发散——三种失败模式各不相同,诊断困难。
想一想

PPO 训练中,如果把 β 设成 0(去掉 KL 惩罚),同时奖励模型已经轻度过拟合,最终策略会收敛到什么状态?奖励模型打出的分数和真实人类评分会呈现什么走势?

展开答案(先停 10 秒再点)

策略会迅速发现奖励模型的"盲区":某些重复特定 token 的输出、或语法奇异的乱码序列,可能恰好在过拟合的 RM 上得到极高分。代理奖励(RM 打分)持续攀升,真实人类评分却急剧下降。Gao 2023 的实验直接量化了这条曲线的分叉——KL 散度超过某个阈值后,代理与黄金之间的相关性几乎归零。

4.3DPO:把 RL 消成一个分类 loss

DPO(Direct Preference Optimization,2023)发现带 KL 约束的 RLHF 存在闭式解——奖励函数可以用策略本身表示,从而绕过奖励模型和 RL 回路。

为什么需要它

PPO 的四模型框架工程复杂、训练不稳。如果"同一个偏好数据"能直接训策略模型、不需要先训一个奖励模型、不需要 RL 采样循环,整个流程就简化成普通的监督学习。DPO 的贡献在于证明:在 Bradley-Terry 偏好模型和 KL 约束的前提下,这个简化确实成立。

闭式解的推导思路

带 KL 约束的 RLHF 优化问题(最大化 r − β·KL)有一个已知的最优策略形式:

π*(y | x) ∝ πref(y | x) · exp( r(x, y) / β )

对两边取对数,解出 r(x, y):

r(x, y) = β · log( π(y | x) / πref(y | x) ) + β · log Z(x)

其中 Z(x) 是归一化常数(partition function),只与 prompt x 有关,与 y 无关。把这个 r 代入 Bradley-Terry 公式,计算偏好对的概率:

P(yw ≻ yl | x) = σ( r(x,yw) − r(x,yl) )

因为 r 中含有 β · log Z(x),而 Z(x) 与 y 无关,在"偏好差"里它恰好抵消。最终得到只依赖策略和参考模型的 DPO loss:

DPO Loss(Python 伪代码)

dpo_loss.py Python
import torch
import torch.nn.functional as F

def dpo_loss(
    policy_logprobs_chosen,    # log π_θ(y_w | x) — scalar per example
    policy_logprobs_rejected,  # log π_θ(y_l | x) — scalar per example
    ref_logprobs_chosen,       # log π_ref(y_w | x) — frozen, no grad
    ref_logprobs_rejected,     # log π_ref(y_l | x) — frozen, no grad
    beta: float = 0.1,
):
    """
    L_DPO = -E[ log σ( β·log(π_θ(y_w)/π_ref(y_w))
                      - β·log(π_θ(y_l)/π_ref(y_l)) ) ]

    HTML note: < > avoided — all comparisons use variable names only.
    """
    # Implicit reward for chosen and rejected
    # r_implicit(x, y) = β * (log π_θ(y|x) - log π_ref(y|x))
    reward_chosen   = beta * (policy_logprobs_chosen   - ref_logprobs_chosen)
    reward_rejected = beta * (policy_logprobs_rejected - ref_logprobs_rejected)

    # Bradley-Terry log-likelihood: log σ(r_w - r_l)
    logits = reward_chosen - reward_rejected          # shape: [batch]
    loss   = -F.logsigmoid(logits).mean()            # scalar

    return loss

代码中的核心结构直接对应公式:reward_chosen - reward_rejected 就是"偏好差",-F.logsigmoid(...) 就是负对数似然。整个训练没有奖励模型的前向传播,没有 rollout 采样,没有价值网络——只有两个模型的对数概率做减法再过一个 sigmoid。

洞察 · "语言模型本身就是隐式奖励模型"

DPO 的深层含义:一旦给定参考模型 πref,策略模型 πθ 就隐式地定义了一个奖励函数——r(x, y) = β · log(πθ/πref)。训练 DPO 等价于在偏好数据上训练这个隐式奖励模型,只是不需要把它显式实例化成一个单独的网络。

表 4.2 · PPO vs DPO 核心对比
维度RLHF / PPODPO
显存中模型数 4(策略/参考/奖励/价值) 2(策略/参考)
训练稳定性 容易不稳;需调 ~10 超参 稳定,接近普通分类训练
数据使用方式 在线(on-policy):策略自己采样 离线(off-policy):直接用静态偏好对
能力天花板 在线探索可发现训练分布外改进 受限于静态数据集覆盖范围
工程复杂度 高:需 RL 训练框架、rollout、critic 低:可直接在 SFT 框架上改
截至 2026-06 实践 前沿大厂保留(Llama 4) 多数团队默认对齐方法

两种方法没有绝对优劣,选择取决于场景:PPO 在线探索能发现静态数据集里没有的改进路径,在能力极限处更强;DPO 在工程资源受限、偏好数据充足时是更实用的默认选项。

4.4DPO 的陷阱:别只学优点

DPO 的简洁来自若干隐含假设——打破任何一个,失败模式就会出现。

概率漂移(Likelihood Displacement)

DPO 的优化目标是拉大 chosen 和 rejected 之间的"隐式奖励差"。一种满足这个目标但并不理想的解法是:同时压低 chosen 和 rejected 的概率,只要压 rejected 更多,差值就为正。

实证研究发现,DPO 训练后策略模型对 chosen 回答的绝对对数概率经常下降——chosen 的概率被压低了,只是被压得比 rejected 少一些。这产生一个副作用:策略的概率质量向训练数据覆盖之外漂移,分布外回答(有时是风格奇怪的回答)的相对概率意外上升。

离线天花板

DPO 是离线方法:它只能在已有的偏好对上优化,无法纠正偏好数据集里从未出现过的失败模式。PPO 的在线采样理论上能探索任意新回答。在数学/代码推理等需要"发现新解法"的场景,离线 DPO 的天花板明显低于在线方法。

对参考模型和 β 敏感

DPO 的隐式奖励是相对于 πref 定义的。如果参考模型选得不好(例如用质量较低的 SFT checkpoint),或者 β 设置不当(太小则策略漂移过快,太大则偏好信号过弱),训练结果都会大幅退化。

继承合成裁判偏置

当偏好数据由另一个 LLM 生成(RLAIF/合成裁判),DPO 会继承该模型的偏置:长度偏好(更长的回答被选中)、风格一致性偏好(和裁判模型风格相似的回答得分更高)。这些偏置在 PPO 中同样存在,但在 DPO 中因为无法用在线探索纠正而更难消除。

主要变体(一句话)

  • IPO(Identity Preference Optimization):在损失中加入正则项,抗噪更强,防止过拟合到噪声偏好标注。
  • SimPO:去掉参考模型,用输出长度归一化的平均对数概率作为隐式奖励,简化显存需求。
  • KTO:用二元反馈(好/坏,不需要配对),不要求偏好对,数据收集更容易。
  • ORPO:把 SFT loss 和偏好 loss 合并成一个,单次训练同时完成指令跟随和偏好对齐。
陷阱 · DPO 不是"免费的午餐"

DPO 消除了 RL 的工程复杂度,但没有消除偏好学习本身的困难。概率漂移、离线天花板、参考模型敏感性三个问题在每个严肃的对齐项目中都需要被显式处理。在数据量充足、场景不需要在线探索时,DPO 是高效的默认选项;在需要推进能力边界时,在线方法(PPO 或 §4.5 的 GRPO)仍是更强的选择。

4.5前沿:从"对齐"到"推理"(截至 2026-06)

RLVR 把奖励来源从"人类偏好"换成"可验证答案的正确性",开启了后训练推理能力激发的新范式。

范式转变:验证器替代偏好

经典 RLHF 的奖励来自人类偏好——主观、昂贵、难以扩展到高难度推理任务。RLVR(RL with Verifiable Rewards)的思路是:在数学、代码等存在客观正确答案的领域,直接用确定性验证器判断"答案对/错"作为奖励信号,不再学习一个偏好奖励模型。

两个关键时间节点:

  • OpenAI o1(2024-09):首次在产品层面展示长链思维(long CoT)+ test-time compute(推理时想更久 → 更准)的能力,但未公开技术细节。
  • DeepSeek-R1(2025-01,arxiv 2501.12948):完整公开 RLVR 训练流程,并报告了纯 RL 从 base 起(R1-Zero)无 SFT 冷启动即涌现自行纠错行为的实验。

R1-Zero 的"涌现"指:仅用可验证奖励 RL,未给任何链式思维示例,模型自发学会了在回答前先做推理、再自行纠正。这个行为在 base 模型上是不存在的——RLVR 把它激发了出来。

洞察 · 经典 RLHF vs RLVR 的方向差异

经典 RLHF 的目标是行为对齐:让模型更有用、更无害、格式更好。RLVR 的目标是能力激发:让模型在可验证域(数学/代码/逻辑)的推理成功率更高。二者用同一套 RL 框架,但奖励来源和优化方向根本不同——这也是为什么 RLVR 开始动摇 §1.3 的"后训练不增加能力"分界线。

GRPO:砍掉价值网络

GRPO(Group Relative Policy Optimization)由 DeepSeek 提出(DeepSeekMath,2024,arxiv 2402.03300),并用于 DeepSeek-V3(2024-12)和 DeepSeek-R1(2025-01)。核心设计:去掉 PPO 的 critic/价值网络,改用组内多次采样的相对奖励作为基线。

具体做法:对同一个 prompt x,采样 G 个回答 {y1, …, yG},分别打分 {r1, …, rG}。每个回答的优势(advantage)定义为:

Ai = ( ri − mean({rj}) ) / std({rj})

组内均值替代了 PPO 的 critic 估计,组内标准差做归一化。省去价值网络意味着:

  • 显存从 4 个模型降到 2–3 个(策略 + 参考,RLVR 有时无需 reference model)。
  • 省去 ~40–60% 的显存开销(价值网络通常与策略网络等大)。
  • 超参数量减少,训练更稳定。

GRPO 的后继是 DAPO(2025),针对长链思维训练中的熵塌缩问题(策略过早收敛到单一输出模式)做了修正。

PPO 策略模型 (actor) 接收梯度,在线采样 采样 y 价值模型 (critic) 估 V(s),减方差 基线 奖励模型 (frozen) r(x, y),单条打分 GRPO 策略模型 (actor) 接收梯度,在线采样 采样 G 个 y 组内采样 · 组均值基线 A_i = (r_i − mean) / std 优势 验证器 / 奖励模型 r_i,对 G 条同时打分 无 critic,省 40–60% 显存
图 4.3PPO 与 GRPO 的核心差异:价值模型(critic)被删除,组内多次采样的相对奖励充当基线。注意:左侧 PPO 有独立 critic 网络(通常与 actor 等大),右侧 GRPO 的"基线"由同一批采样的均值在线计算,无额外参数——这是 GRPO 省显存的来源。

蒸馏:把 RLVR 的成果传递给小模型

DeepSeek-R1 训练完成后,团队用 R1 生成约 80 万条推理轨迹(包含完整的思维链过程),再用纯 SFT 把这些轨迹蒸馏进更小的模型。结果:R1-Distill-Qwen-1.5B 在 MATH 基准上超过了 GPT-4o——一个 15 亿参数的蒸馏模型,没有自己做 RL,没有使用专有数据,只靠从 R1 那里学到的推理轨迹。

这个结果说明:蒸馏在"引入真正新能力"上,比直接对小模型做 RLVR 更有效。RLVR 擅长激发模型已经具备但尚未被充分表达的能力;而蒸馏则是从更强的教师模型那里借来它本来没有的推理路径。

表 4.3 · 2026 后训练算法全景
算法何时用特点显存/信号
RLHF / PPO 需要在线探索、推进能力边界;前沿大厂有充足算力 在线采样,能探索分布外改进;4 模型,超参多,不稳 4 模型;偏好 RM 打分
DPO(及变体) 资源受限、偏好数据充足;工程团队需要稳定可复现 离线,稳定,接近普通分类训练;受限于静态数据覆盖 2 模型;静态偏好对
GRPO / RLVR 数学/代码等可验证域;无需大量人工偏好标注 无 critic,省显存;组内采样基线;可验证奖励信号稳定 2–3 模型;确定性验证器
蒸馏(SFT from strong model) 小模型想获得大模型推理能力;算力受限 无 RL;直接 SFT 训推理轨迹;效果常超过直接 RLVR 小模型 1 模型;教师模型生成数据

推荐栈(截至 2026-06):可验证域(数学/代码)→ SFT 冷启动 → GRPO/RLVR;一般指令跟随 → SFT → DPO;资源充足且需要推进边界 → SFT → PPO;小模型获取大模型推理能力 → 从强模型蒸馏。

4.6激发还是教会?回访 §1.3(截至 2026-06)

RLVR 让"后训练不增加能力"这条经典分界在 2025–26 被重新审视——但审视的结果是标注了日期,而非推翻。

在§1.3 能力 vs 对齐中,贯穿全书的分界线是:能力(知识、推理、语言)几乎全部来自预训练,后训练几乎不增加新能力,只是把已有能力对齐成人类想要的行为。第 3 章的 SFT checkpoint 正是这条"行为对齐"的起点,也是本章 RL 训练的起始状态。

RLVR 推理 RL(DeepSeek-R1,2025-01;OpenAI o1,2024-09)在基准上展示了预训练基座模型所没有的长链推理行为——这直接挑战了那条分界线。问题是:RLVR 是真的给模型"教会了新能力",还是把它本来就有的潜在能力"激发"出来了?

pass@k 证据

arxiv 2504.13837(NeurIPS 2025)通过 pass@k 实验系统回答了这个问题:

  • 小 k(pass@1):RLVR 微调后的模型明显优于同等大小的 base 模型。
  • 大 k(pass@k,k 足够大):base 模型的覆盖率(能给出正确答案的比例)反而更高或持平——base 模型的解题能力上限并没有被 RLVR 抬高。

这个模式的解读:RLVR 主要提升的是采样可靠性和效率(用更少的采样次数更稳定地命中正确答案),而非能力天花板。那些推理路径,base 模型本来就能走到——RLVR 做的是把这些路径的出现概率分布"磨锋利",让好路径的概率更高、差路径的概率更低。

诚实的边界标注

截至 2026-06,对这个问题最诚实的答案是:

  • 经典分界(后训练不增加能力)对 SFT 和 RLHF 行为对齐成立——几乎所有文献都一致。
  • RLVR 推理 RL 是一个有意义的例外,但当前方法仍更像"把已有能力的概率分布磨锋利",而不是真正的能力注入。
  • 真正引入新能力的手段更多靠蒸馏(从更强的教师模型借推理路径),而非 RLVR 本身。
  • §1.5 的地图表(RLHF/PPO/DPO/RLVR 各行)现在可以完整填写——每一行的 loss、信号来源、模型数,在本章都已经讲清楚了。
洞察 · 分界的价值在于"被标注了日期"

§1.3 的分界没有被推翻,而是被加上了时间戳:经典 RLHF/DPO 范围内,它完全成立;在 RLVR 的可验证推理域,它的边界开始松动但尚未崩溃;在蒸馏面前,它需要区分"能力的载体来自哪里"。一个清晰的框架被新证据划定了边界,这正是深度理解的标志——不是"经典结论错了",而是"经典结论在哪里适用、在哪里需要加注脚"。

§本章 self-check

先合上答案,把能想到的写在纸上或编辑器里,再展开对照。

  1. RLHF 里 KL 惩罚(β·KL)为什么不能去掉?去掉后会发生什么?(提示:奖励模型是个有限神经网络,有盲区。)
  2. DPO 怎么做到不训奖励模型?用一句话说出闭式解的核心洞察。
  3. GRPO 相比 PPO 省掉了哪个模型?用什么来代替它的作用?省下的是什么量级的显存?
  4. (设计题)经典观点说"后训练不增加能力"。2025 年的 pass@k 实验是支持还是反对这个观点?它把 RLVR 的作用重新定义成了什么?如果你要给一个开源 7B 模型引入数学推理能力,RLVR 和蒸馏各自能做到什么、做不到什么?
答案(先做完再展开)
  1. 奖励模型是在有限偏好数据上训出的网络,训练集之外它的预测不可靠。去掉 KL 约束,策略在 RL 优化中会找到 RM 的盲区漏洞:某些对人类无意义的输出(重复 token、语法异常)能得到极高的 RM 分数。策略最终塌成"对 RM 高分、对人类无用"的状态(reward hacking)。Gao 2023 量化了这个过程:代理奖励(RM 分)持续上升,黄金奖励(真实人类评估)先升后深度下降。KL 惩罚把策略锚在 SFT checkpoint 附近,阻止它漂入 RM 的不可信区域。
  2. 带 KL 约束的 RLHF 最优策略存在闭式形式:π*(y|x) ∝ π_ref(y|x)·exp(r(x,y)/β)。解出奖励:r = β·log(π/π_ref) + β·logZ(x)。把这个 r 代入 Bradley-Terry,偏好差里 logZ(x) 抵消,得到只依赖策略和参考模型对数概率的 loss。核心洞察:语言模型本身就是隐式奖励模型,不需要把奖励函数单独实例化为一个网络。
  3. GRPO 省掉了价值模型(critic)。在 PPO 中 critic 用于估计基线 V(s) 来降低梯度方差;GRPO 改用同一个 prompt 的 G 次采样的组内均值作为基线,组内标准差做归一化,在线计算无需额外参数。价值网络通常与策略网络等大,省掉它意味着约 40–60% 的显存减少(从 4 个模型缩到 2–3 个)。
  4. pass@k 实验(arxiv 2504.13837,NeurIPS 2025)的结论:小 k 时 RLVR 明显优于 base;大 k 时 base 覆盖率持平或更高——RLVR 没有抬高能力天花板。这大体支持"后训练不增加能力"的经典观点,同时把 RLVR 的作用重新定义为"提升采样可靠性/把已有能力的分布磨锋利",而非引入新能力。对 7B 模型:RLVR 能把它已有的数学推理路径的出现概率磨高(pass@1 提升显著),但受限于 base 模型的能力天花板——RLVR 激发不了它本来不会的解题路径;蒸馏(从 R1 这类强模型取推理轨迹做 SFT)能把 base 模型本来没有的推理路径借过来,在能力上限上更有突破,但质量受限于教师模型生成数据的覆盖范围。
进阶挑战 · 刚好够不着

为"数学解题助手"选对齐方案

把一个开源 base 模型对齐成数学解题助手,手上有充足算力但人类偏好标注预算极少。PPO-RLHF / DPO / RLVR-GRPO 选哪条?为什么 RLVR 在这个场景特别合适,而在"写得更有共情"这种场景又会失灵?

提示(卡住再展开)

数学答案有确定性对错——验证器可以在无需人类标注的情况下给出奖励信号。这让 RLVR/GRPO 在这个场景几乎是"免标注成本"的选择:规则验证器判断答案是否正确,不需要偏好对、不需要奖励模型。PPO-RLHF 和 DPO 都需要偏好数据("A 和 B 哪个解法更好"),而数学题的好坏本可以直接由正确性决定,绕过偏好收集是 RLVR 的核心优势。

"写得更有共情"没有可验证的客观标准——没有一个函数能判断"这句话是否足够有共情"。RLVR 在这里失灵,因为它依赖的确定性验证器在这个场景不存在。只能退回偏好型信号(人类或 AI 裁判判断 A 比 B 更有共情),也就是 RLHF 或 DPO 的领域。这个场景的分界,正是"可验证域 vs 主观偏好域"的分界线。