过程奖励 vs 结果奖励模型

T6
深入解析 · 训练智能体模型

过程奖励 vs 结果奖励:为步骤付费,还是为答案付费。

结果奖励模型(ORM)只给最终结果打分:答案对不对、测试过没过。过程奖励模型(PRM)给每一个中间步骤打分。ORM 标注便宜、在结果维度难被博弈,但几乎不给长轨迹任何信用分配信号;PRM 给出稠密的逐步梯度,但标注代价高得多,还引入一个新的可被博弈的面。本文讲这个取舍,以及如何决定为哪一个付费。

STEP 1

两种奖励形状

ORM 只是终态的函数:r = orm(final)。每条轨迹一个标量,不论多长。PRM 给每一步赋值:r_t = prm(step_t),把一条轨迹变成一个稠密的信号向量。ORM 回答"它对吗?";PRM 回答"这一步是否走在一条好路径上?"——一个信息量大得多、也昂贵得多的问题。

# ORM: one terminal scalar      PRM: signal at every step
orm_r = orm(traj.final)
prm_r = [prm(s) for s in traj.steps]   # dense, per-step
STEP 2

为何结果奖励让长轨迹挨饿

回忆信用分配问题(T3):一个被 20 步轨迹共享的单一终端标量,告诉策略它确实失败了,而非在哪里。对那精彩的第三步与那致命的第十七步,每步梯度是同一个微小数字。随着程长增长,ORM 的逐步信号缩向噪声,样本效率坍塌。当轨迹短,或结果是唯一能被干净核验的东西时,ORM 极好——而随着步数倍增,它越来越不够用。

STEP 3

为何过程奖励有帮助——以及它的代价

PRM 把错误定位。策略学到的是"第 17 步是错误",而非"那 20 步里有点东西错了",这在长程推理和多步工具任务上样本效率高得多。经验模式是:恰当程长长且失败可定位时,稠密过程奖励胜过稀疏结果奖励——多步数学、多跳工具使用、智能体编码。

代价陡峭。PRM 标注需要人类或一个强模型去评判每一步——比每条轨迹一个结果标注多几个数量级。更糟,PRM 本身是个习得模型,所以它是一个新的可被博弈的面:策略能学会发出在 PRM 看来好看、而轨迹仍然失败的步骤。你把一个代理问题换成了一个更稠密、更昂贵的代理问题。

STEP 4

标注成本账本

  • ORM 标注——每条轨迹一个判断;当存在可执行核验器(测试、证明检查器)时往往免费。便宜、客观,在它衡量的维度上稳健。
  • PRM 标注——每步一个判断,需要能评估中间推理的评分者。昂贵、更慢,且除非步骤本身可核验,否则主观。
  • 自动 PRM——从 rollout 自举步骤标注(若从某步往后续写多倾向于成功,则该步"好")。比人类便宜,但更带噪,并继承底座策略的盲点。

决策通常归结为:你的结果是否便宜且客观可核验,你的程长是否短到 ORM 的信用分配仍然奏效?是,则 ORM 是有纪律的默认。PRM 是当程长击败 ORM 且你负担得起标注时才买的东西。

STEP 5

务实的中间地带:没有完整 PRM 也能拿到便宜的稠密信号

你很少需要一个完全人工标注的 PRM 才能逃出稀疏奖励的饥饿。更便宜的稠密化往往捕捉到大部分好处:

  • 可核验子目标——带程序化检查的里程碑(能编译、中间测试通过),免费给出近似步级信号。
  • 结果监督的过程标注——从每步采样的多条续写(蒙特卡洛 rollout)推导步级信用,无需逐步人工评分。
  • 仅推理期用 PRM——把 PRM 用于解码期重排序/搜索,而非作为训练奖励;拿到大部分增益,又不让策略学会博弈它。

正确答案往往是训练奖励用 ORM 加上几个可核验子目标检查——而非一个完整的手标 PRM。

STEP 6

何时不要造 PRM

若程长短(ORM 的信号够用)、若结果核验器已经便宜可信(别在上面叠一个可被博弈的模型)、或若你负担不起好到使 PRM 比它所监督的策略更准的标注——别造 PRM;一个糟糕的 PRM 比诚实的稀疏奖励更坏,因为策略会学会去满足一个错误的步骤评判者。用仍能分配信用的最稀疏奖励;只在程长让结果奖励失声、且你负担得起一个你信任的步骤评判者时,才为过程监督付费。