← 返回题目列表

奖励模型(Reward Model)是怎么训练的?为什么用两两比较而非打分?

高频 困难 第 7 / 25 题 更新于 2026/09/25
奖励模型Bradley-Terry偏好数据pairwiseRLHF
学习 AI 实战项目

简化版

奖励模型(RM)输入(提示, 回答)并输出一个标量代理分数,用于预测特定标注规范下的相对偏好。常见数据让标注者比较同一提示的两个回答;相对判断通常比跨样本绝对打分更容易统一量尺,但仍会受顺序、维度冲突和标注人群影响。Bradley-Terry 形式把「A 优于 B 的概率」建模成 σ(r_A-r_B),用 −log σ(r_优-r_劣) 训练。RM 可从预训练或 SFT 模型初始化并增加标量头,但结构并非只有这一种。

详细版

RM 的输入输出

输入: (提示 x, 回答 y)
输出: 标量分数 r(x, y)   —— 越高表示人类越可能偏好

为什么用两两比较(pairwise)而非绝对打分

  • 更易共享局部参照:绝对分需要跨样本统一刻度;成对比较让两候选共享上下文,通常更容易判断,但不保证更一致。
  • 可校准:绝对分容易受标注者情绪、锚定效应影响;相对比较更稳。
  • 适配排序目标:大量连通的比较可拟合潜在分数;若偏好循环或比较图断开,单一一致排序并不一定存在。

Bradley-Terry 模型与损失

把「回答 y_优 被偏好于 y_劣」的概率建模为二者分差的 sigmoid:

P(y_优 ≻ y_劣) = σ( r(x, y_优) − r(x, y_劣) )

训练就是最大化这个概率,等价于最小化:

L = − E_(x, y_优, y_劣) [ log σ( r(x, y_优) − r(x, y_劣) ) ]

直觉:让被偏好回答的分数,比被拒绝回答的分数高出尽量多。

结构与初始化

  • 用 SFT 模型初始化(已具备语言理解),去掉生成用的 LM 头,接一个输出单个标量的线性头(常取最后一个 token 的表示映射成分数)。
  • 只需在偏好数据上微调,成本远小于 RL 阶段。

完整版教学

一、RM 存在的意义:给 RL 一个”自动人类”

在线策略优化需要可批量计算的奖励信号,而人类无法逐条评价海量 rollout。常见做法是用有限比较数据训练奖励模型,让它近似标注规范下的偏好,再批量给新回答评分。它是可扩展代理,不是不会犯错的“自动人类”。

所以 RM 的本质是偏好数据的可微、可批量查询代理。RM 的偏差可能被策略利用,是 reward hacking 的来源之一;最终效果还受策略起点、KL、采样和独立门禁共同影响。

二、为什么”比较”比”打分”靠谱:人类判断的特性

这是本题的核心洞察。让我们对比两种标注方式:

  • 绝对打分:给一个回答打 1~10 分。问题是没有统一标尺——你的 7 分可能是我的 5 分;同一个人不同时间、不同心情打分也会漂移;还容易受前一个样本的锚定影响。噪声大、跨标注者难对齐。
  • 两两比较:给两个回答问「哪个更好」。两候选共享上下文和局部参照,通常比跨样本绝对评分更容易;但当 A 更准确、B 更简洁时仍会分歧,顺序与呈现也会造成偏差。

所以 RLHF 普遍采用成对偏好(有时是对多个回答排序,再拆成成对)。这一选择极大提升了标注质量和奖励模型的可靠性。记住:RM 不学”打多少分”,而学”谁比谁好”,分数是从大量比较里自洽地涌现出来的。

三、Bradley-Terry:把”比较”变成”分数”的桥梁

怎么从「A 比 B 好」这种相对信号,训出一个能给绝对分数的模型?靠 Bradley-Terry 模型——一个经典的成对比较概率模型(源自体育排名、心理测量)。

它假设每个对象有一个潜在「实力分」r,「A 胜过 B」的概率由二者分差决定:

P(A ≻ B) = σ( r_A − r_B ) = 1 / (1 + e^{-(r_A − r_B)})
  • 分差越大,A 被偏好的概率越接近 1;分差为 0 时概率 0.5(势均力敌)。

把它套到 RM 上,训练目标就是让模型给出的分数,能最好地解释人类的比较结果——最大化所有比较对的似然,即最小化:

L = − log σ( r(x, y_优) − r(x, y_劣) )

这样,模型会拟合一套能解释比较结果的潜在标量分数。这个分数只通过差值被识别,共同平移不改变概率;它不是可跨模型解释的绝对质量刻度。若偏好存在循环或多目标冲突,单标量 Bradley-Terry 也只是近似。

记忆钩子:Bradley-Terry 把”A 赢 B 的概率”写成分差的 sigmoid,于是从一堆两两胜负里,能反解出每个回答的实力分——RM 就是这么从比较里学会打分的。

四、训练细节与常见陷阱

  • 初始化:用 SFT 模型(甚至更大的模型)初始化 RM,复用其语言理解能力,只需学「评价」这层。
  • 分数头:去掉 LM 头,接一个输出标量的线性层,通常取序列最后一个 token 的隐状态映射成分数。
  • 过拟合风险:偏好数据有限、有噪声,RM 容易过拟合到标注者的表面偏好(如「更长的回答」「更多列表」),而非真正的质量——这会在 RL 阶段被策略利用(reward hacking)。缓解靠更多样的数据、正则、集成多个 RM。
  • 分布偏移:RM 在 SFT 模型的回答分布上训练,但 RL 中策略会不断变化、产出 RM 没见过的回答,导致 RM 打分越来越不准——这也是要 KL 约束、甚至周期性重训 RM 的原因。

五、奖励模型的可靠性决定 RLHF 上限

RM 是 RLHF 里最容易出问题、也最关键的一环:

  • RM 准 → RL 能把策略推向真正的高质量。
  • RM 有偏(如偏爱长回答、被格式带偏)→ 策略会专门迎合这些偏差刷高分,产出啰嗦、套路化甚至空洞的回答,看起来分高实则变差。

这就是为什么很多 RLHF 后的模型「爱说车轱辘话、爱列 123」——往往是 RM 的偏差被策略放大。改进 RM(更好的数据、更强的模型、多 RM 集成、过程奖励)是提升对齐质量的主战场之一。理解「RM 的偏差会被策略放大」,是这道题的高阶得分点。

六、手算 Bradley-Terry 排序损失

若奖励模型给 chosen 1.2 分、rejected 0.4 分,分差为 0.8,预测 chosen 更优的概率是 sigmoid(0.8)≈0.690,单对损失约为 -log(0.690)=0.371。若两者分数整体都加 10,概率不变,说明成对训练只约束相对次序,原始 reward 的绝对零点没有直接含义。

P(chosen > rejected) = sigmoid(r_c - r_r)
                     = sigmoid(1.2 - 0.4)
                     ≈ 0.690
loss ≈ 0.371
评估切片要排除的捷径
长短回答配对长度偏好
不同文风格式偏好
不同主题领域覆盖不足

因此验证不能只看总体 pair accuracy。还应按长度差、主题、安全等级和候选模型切片,检查模型是否依赖表面特征;上线给 PPO 前还要用当前策略新生成的数据测试,因为策略会主动搜索奖励模型最脆弱的区域。

七、常见误区与追问

  • 误区:让人给回答打绝对分来训 RM。 用两两比较,因人对相对好坏的判断更一致;绝对分噪声大。
  • 误区:RM 输出的是概率或分类。 输出的是一个标量分数,代表偏好程度。
  • 追问:Bradley-Terry 干什么用? 把「A 优于 B 的概率」建成 σ(r_A−r_B),让 RM 从成对比较里学出自洽的标量分数。
  • 追问:RM 损失长什么样? L = −log σ(r_优 − r_劣),拉大被偏好与被拒绝回答的分差。
  • 追问:RM 怎么初始化? 用 SFT 模型初始化,换标量奖励头。
  • 追问:RM 有什么典型偏差? 偏爱长回答、格式花哨等表面特征,会被策略利用(reward hacking)。
  • 追问:为什么 RM 会随 RL 变得不准? 策略分布偏移,产出 RM 训练时没见过的回答,打分失真,需 KL 约束或重训 RM。

八、加强记忆

奖励模型记「比较训分、Bradley-Terry」:RM 输入(提示,回答)输出标量分数,用两两比较的偏好数据训练(人对”谁比谁好”比”打几分”更一致),核心公式 P(A≻B)=σ(r_A−r_B)、损失 L=−logσ(r_优−r_劣)——从一堆胜负比较里反解出自洽的实力分(类比 Elo)。牢记两个深度点:RM 是”人类偏好的可微代理”,它的偏差(偏爱长/格式)会被策略放大成 reward hacking;策略分布偏移会让 RM 打分失真,故需 KL 约束/重训 RM。RM 好不好,直接封顶整个 RLHF 的效果。