奖励分是一个会撒谎的数字
建议用时:25 分钟(含练习)
学习目标
能够解释把偏好压成一个数时丢了什么,并用 KL 与长度两个读数判断分数涨的是质量还是胆量。
本节产出
一张分数与代价并排的读图卡
核心知识:把偏好压成一个数,丢掉的三样东西
先说清这一步在做什么。人给答复打分时交出来的东西是排序:这两条答复你觉得哪条更好,或者"差不多",或者"两条都不行"。而要让训练算法用上它,最后必须变成一个数——每个样本一个分数,分数越大越好,这样才有东西可以往高处推。奖励就是一个把偏好压成标量之后剩下的东西。 压这一步是工程上的必需(损失函数吃不下"差不多"),失真也全在这里发生。
丢掉的第一样:不可比被强行排出顺序。人手写的偏好里常有"这条更短更清楚,那条更全,我判不了"。一旦进了同一个数,判不了也必有胜负,模型收到一条从没有过的明确指令。
丢掉的第二样:方向相反的偏好被平均掉。同一批答复,值班人员希望三句话内说完,新志愿者希望每一步都写出来——两群人的排序方向相反,合成一个数以后得到的是"谁都不满意的那个折中",而且这个折中在曲线上看起来是涨的。
丢掉的第三样:不是偏好的东西也挤进了同一个数。答复的长度、措辞眼不眼熟、有没有分行,这些没人说过"越长越好",但只要打分的办法对它们敏感,它们就会推动同一个读数。这是最容易被忽略的一格,也正是本节后半段要单独讲的长度问题。
一句话记住这一节的立场:奖励分不是质量,是"打分器认为的质量"。这两件事在没有做过一致性核对之前,是两件不同的事。
一条可核对的关系:分数涨的同时,模型离原点也更远
Anthropic 那篇讲有用且无害助手训练的论文(提交日期 2022 年 4 月 12 日)在摘要里给出了一条可以逐字核对的观察:identify a roughly linear relation between the RL reward and the square root of the KL divergence between the policy and its initialization——它识别出强化学习的奖励与"策略对初始模型的 KL 散度的平方根"大致成线性关系。
先把 KL 散度说白:它衡量两个分布差多远。这里比的两边是训练之后模型在每个上文下的下一词分布,和它出发时那个初始模型的同一套分布。所以这个读数只回答一个问题:你走了多远。它不回答"走的方向对不对"。
这条关系能支持的话是:奖励涨的同时,策略偏离原点的距离也在涨,两者大致同步。于是一次分数上涨有两种成因,而这个读数本身分不清是哪一种——模型可能真的更贴合人的偏好,也可能只是更大胆:更愿意下断言、更愿意给出具体数字、更敢把不确定的事说成确定。第二种同样能推高分数,因为打分器偏爱听起来笃定的答复。
这条关系不支持的话也要说明白。摘要里没有给出任何可用阈值("KL 涨到某个值就该停"这类说法它没写);它也没说 KL 是质量指标——它是距离,距离本身无好坏。至于"为什么两者同步",摘要也没给机制,本课只把它当作一条被报告的关系用,成因分析属于推断,不要当结论引用。
另一类失真来自长度:三类被点名的评审偏置
用强模型当评审来打分,已经是把偏好变成数最常见的做法。MT-Bench 那篇专门研究这件事的论文(提交日期 2023 年 6 月 9 日)在摘要里点名了评审的几类局限,其中三类偏置是:位置偏置、冗长偏置、自我偏好,另外还提到评审自身推理能力有限。摘要紧接着的说法是"提出办法缓解其中一部分"——注意是一部分,别读成全部解决。
- 位置偏置:同样两条答复,谁排在前面会影响判决。所以"把候选换序再评一次"不是可选项,而是最低要求。
- 冗长偏置:把"长"读成"好"。这是本节的主案例,因为长度是所有偏置里最便宜的一条涨分路径。
- 自我偏好:评审偏爱跟自己写法相像的答复。当你拿某个模型给自己产出的东西打分,这就是直接的利益冲突。
危险不在于评审"打分不准",而在于你把它的分当奖励去优化。曲线一涨,训练就会沿着最省力那条路走:把输出拉长,而不是把内容改好。内容改好要真的知道答案,拉长只要多写两段注意事项。优化器不挑难走的路,它只挑这个数高的路。
什么时候这个读数会误伤:任务本身就该更长的时候。要列全医保材料清单的题,答案天然比"周三谁值班"长得多。所以长度读数必须分桶——只在"长度不该换来分数"的那批题上看它,混在一起看就变成惩罚老实答题。
最容易混的一处
把"奖励曲线上升"读成"模型变好了"。正确的说法要分两格:这个数涨了;以及,在人核对过的题上,答复确实更好。中间那一格要靠盲评补——把答复打乱来源、隐去长度信息,让人或另一个独立办法去判,而不是拿产生分数的同一个办法自证。
这张图承担的论证任务是把"回路"和"代价读数"画在同一处:奖励分数从打分环节回到策略,构成一条闭合回路,而 KL 与长度这两个读数挂在回路旁边,用来表示它们跟着一起涨但不是回路里的推力。读图时要盯的是这一点——回路里只有一个数在驱动更新,图旁那两个读数不参与打分,它们只负责让分数上涨这件事变得可解释;把其中一个当目标去优化,本节讲的失真就会换个方向重演。
案例:一条漂亮的奖励曲线,和三条被拉长的事项
以下全是课堂编造的虚构案例与虚构读数。星湾社区服务中心、张老师、李陌、周衡、许岚,接口 https://api.example.invalid/v1、模型名 example-chat-mini,都不真实存在;所有读数不可当依据引用。
2026 年 11 月,周衡接手中心的自动答疑偏好训练。上一版(第二节那版)格式已经收敛得很好,问题出在事实,但那次微调没法再往前走,于是他按上一节学的做法加了一轮偏好训练:拿居民咨询的答复成对做人工排序,训一个打分器,再用强化学习把答复往高分推。他同时记了三个读数。
| 检查点 | 奖励读数 | KL 的平方根读数 | 平均长度(字) |
|---|---|---|---|
| 起点(2026-10 版) | 0.42 | 0.50 | 78 |
| 第 3 天 | 0.51 | 1.10 | 120 |
| 第 7 天 | 0.58 | 2.30 | 205 |
| 第 14 天 | 0.61 | 3.40 | 340 |
曲线一路向上,KL 那一列也大致跟着涨——和摘要里那条关系对得上。周衡一开始写的结论是"答复质量随训练稳定提升"。
许岚在 2026 年 11 月下旬抽查了 20 题,把第 3 天和第 14 天的输出并排打乱盲评,结论完全不同:涨的分数几乎全部落在两处新增——开头把居民的问题原样复述一遍,结尾加三段"注意事项"。抽一道原题看她写的批注:"周三谁值班?"第 3 天答"李陌,上午 9 点到 11 点半,3 号窗口",共 24 字;第 14 天用 318 字重述了值班制度、窗口分布、材料准备、错峰建议,最后仍然落在同一个信息点上,中间还多带一句"建议提前一天到场"——中心并没有这个规定。
她把这 20 题按长度重新分桶再看:在"三句话内该说完"的题上,分数涨了,人判的质量掉了;在"本来就要列清单"的题上,分数和质量一起涨。也就是说这条曲线把两类题混在一个数里,它涨的方向恰好是打分器最容易点头的方向——写得长、说得笃定。这就是冗长偏置与"胆量"两格合起来的真实长相:分数、KL、长度三个读数一起涨,但只有盲评能说出涨的是哪一样。
周衡把面板改成了两栏并排:左边是奖励读数,右边是 KL 与长度两个代价读数,底下再压一条"最近一次盲评一致率"。他给自己定的判读规则是:右边两个代价读数涨而盲评没重做过的时候,面板上任何一条上升曲线都不许被写成"变好了"。
动手练习
- 三组读数判读。输入:三组虚构读数,依次记作甲、乙、丙。甲:奖励从 0.42 到 0.61,KL 的平方根从 0.50 到 1.20,平均长度从 78 字到 92 字,另有 20 题盲评对 14 题。乙:奖励从 0.42 到 0.58,KL 的平方根从 0.50 到 3.40,平均长度从 78 字到 340 字,无盲评。丙:奖励从 0.42 到 0.44,KL 的平方根从 0.50 到 0.55,平均长度基本不动,但该给答复的题里拒答从 3 题升到 17 题。任务:各组各判一次"更可能是质量提升 / 更可能是偏移 / 现有读数判不了",并写出为了定案还缺哪一个读数,以及那个读数怎么取。预期输出:三行判定,每行一个缺失读数加一句取值办法。验收条件:判质量的那一组必须给出独立于打分器的证据;判不了的那一组不许用"数据不够"收尾,必须点名具体缺哪一格(例如该答未答率、分长度分桶、盲评一致率)。
- 设计两条防长度偏置的做法。输入:中心要重做内部评测,评审用同一个模型。任务:给出两条做法,每条写明三件事——具体操作、挡得住哪一种作弊、挡不住哪一种作弊。预期输出:两条做法加四段说明。验收条件:两条做法不许是同一条的两种说法(例如一条"限制字数"一条"控制长度");每一条必须承认自己挡不住什么,不许写"基本可以避免";至少一条要处理评审与被评模型同源这件事。
- 交一张读图卡。任务:做一张分数与代价并排的读图卡,四行分别是:这个读数是什么、它上涨说明什么、它不说明什么、看到什么组合就该停下。左边一栏放奖励读数,右边一栏放 KL 与长度两个代价读数。验收条件:"它不说明什么"那一行不许留空,也不许写成"不能说明全部",要指到具体一格;"该停下"那一行要写出至少两个读数的组合,不许只写"分数下降"。
参考答案与推演
完成检查
- 能说清为什么单看奖励曲线不足以宣布"变好了":至少讲出两格——打分器敏感的维度不止偏好本身(长度、笃定语气都算),以及奖励涨与盲评涨是两件需要各自测量的事;并能补一句"把分数当目标优化,偏置就成了最短路径"。
- 能举出一个长度偏置让分数虚高的具体输出形状:例如开头复述原问题、正文把已知信息拆成三行、结尾再加三段注意事项与一条中心并没有的规定,信息点数量和最短那版一样,字数翻几倍。
- 能说出 KL 读数为什么不是质量指标,并指出摘要里那条关系支持到哪一个说法(两者大致同步上升)、不支持到哪一个说法(任何具体停止阈值,或"KL 越高越差")。
参考与来源
- Training a Helpful and Harmless Assistant with Reinforcement Learning from Human Feedback:本节"奖励与策略对初始模型 KL 散度的平方根大致成线性"这条关系,逐字核到摘要原句(roughly linear relation between the RL reward and the square root of the KL divergence between the policy and its initialization);同时用于核对摘要只把这条放在"训练稳健性调查"的位置,没有给出任何可用阈值,也未给成因机制。2026-10-23 核到 arXiv 摘要页(提交 2022-04-12),只核到摘要,正文与图表未取,故本节不引该文任何实验数字、训练周期数值与评测分数。
- Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena:本节"评审偏置"三格的名称——位置偏置、冗长偏置、自我偏好,以及"评审自身推理能力有限"这一条,核到摘要中列举评审局限的那句原话;"提出办法缓解其中一部分"也按摘要措辞引用,未读成全部解决。2026-10-23 核到 arXiv 摘要页(提交 2023-06-09),只核到摘要,正文与图表未取,因此三类偏置的具体实验设置与一致率数字一律不引。
附件
- 登录后下载
reward-is-a-number-that-lies-practice-data.zip
ZIP 文件
奖励分是一个会撒谎的数字
3 道题 · 及格分 60 分