奖励模型自己不生成内容,它在大模型对齐流程里的工作只有一个:打分。给定一个问题和一个回答,输出一个标量分数,分高说明这个回答更合人类偏好。这个打分器不是人写的规则,是从成对比较数据里学出来的,训练方式就是两两比较。
两两比较怎么变成分数
训练数据是成对样本:同一个问题下,回答 A 被人类选中,回答 B 被淘汰。进来的是这样的对子,发生的是对比学习:调整模型参数,让 A 的分数稳定高于 B。出去的是一个打分函数,任何新回答丢进去都能换成分数。
只学相对关系是这里的关键设计。人类标注员排的是高低,不是具体分值,强迫模型学固定分反而和标注形态对不上。学相对关系的另一个好处是泛化:见过足够多的对子后,模型对没见过的回答类型也能给出合理排序,标注规范决定这些对子的口径是否一致。
训练时的损失设计围绕这个目标:让选中回答的分数减去被淘汰回答的分数,这个差值越大越好,同时用正则项防止分数无上限膨胀。一次前向算两个回答的分数,一次反向更新参数,计算开销和普通分类任务相当。
数据从哪来
比较数据主要来自人工排序。给标注员同一问题和两三个候选回答,排出高低并可附一句理由。进来的是 prompts 加候选回答池,发生的是人工比较,出去的是成对偏好数据,交给奖励模型训练。
排序理由的文字也被记录下来。它不直接参与训练,但标注员写“这段更礼貌”和“这段信息更准”时,暴露了偏好的维度,这些维度反过来指导后续数据的补充方向。
候选回答的质量梯度要拉开。如果两个回答一样好,排序就没有信息量,模型学不到东西。众包标注常在这一步补人力,RLHF 流程的第一步产出的正是这批数据。
打分模型的结构
结构上通常是一个轻量的评分头,架在预训练语言模型之后。语言模型负责读懂问题和回答,评分头把末端的表示压成一个标量。进来的是文本对,发生的是编码加投影,出去的是单一分数。
训练时通常冻住语言模型主体,只训评分头,或者整体小学习率微调。这样做的考虑是保住理解能力,只学“怎么把理解换成偏好判断”,冻结与解冻的思路在这里同样适用。
准与不准怎么看
评估奖励模型,看它和人类排序的一致率。留一批人工标注没见过的对子,让模型排,看排对的比例。一致率高,说明它学到了可迁移的偏好判断;一致率低,可能是数据噪声大或覆盖不足。
一致率的计算还要分题型。开放问答和事实问答的人类共识度不同,混在一个数字里会掩盖问题。按题型分别报告一致率,才能定位是哪类偏好没学好,进而回补对应数据。
还要防一种隐性失败:打分虚高。模型学会给长回答、带客套话的回答无脑高分,因为数据里好回答恰好偏长。这种偏差会顺着DPO 或 RLHF 传进策略模型。讯飞星火和海螺AI在对齐上的稳,背后都有针对这类偏差的持续修正。
一致率掉下来,先分清是哪一种失准,再决定补什么数据。
| 现象 | 多半是什么问题 | 接着查哪里 |
|---|---|---|
| 留出对子上的一致率低 | 数据噪声大或覆盖不足 | 回补对应题型的数据 |
| 各题型混在一个数字里 | 开放问答和事实问答的人类共识度不同 | 按题型分别报告一致率 |
| 长回答、带客套话的回答总拿高分 | 打分虚高,数据里好回答恰好偏长 | 加约束项并持续人工抽检,防奖励黑客 |
速查表:奖励模型=从成对比较学相对排序;结构是语言模型加评分头;评估看与人类排序的一致率;防打分虚高偏差。
奖励模型训练快问快答三则
- 奖励模型会给固定分数吗?输出是标量,但学的是相对关系,单看一个分数意义有限,要看两个回答的分差。
- 比较数据需要多少?视任务而定,通常几千到几万对起步,覆盖不足时一致率会明显掉。
- 奖励模型能被策略模型糊弄吗?会,策略学会讨好打分器就是奖励黑客,需要约束项和持续人工抽检来压。


