奖励模型是 RLHF 里最像“裁判”的组件,也是最容易被误用的组件。 它把人类偏好压缩成一个标量分数,但这个分数不是事实真理,只是偏好数据、模型容量和训练分布共同形成的代理目标。
这篇文章从成对偏好数据讲起,写出 Bradley-Terry 概率模型和二元偏好损失,再讨论校准、集成、过优化、Goodhart 定律和奖励黑客。 第 16 篇会继续展开失效模式与缓解。
一、偏好数据长什么样
一条偏好样本通常包含同一个 prompt 下的两个候选回答,以及标注者认为更好的一个。
prompt: 解释为什么 PPO 需要 KL 约束
chosen: 回答 A,解释了 on-policy 偏移和参考模型约束
rejected: 回答 B,只说 PPO 更稳定
label: chosen > rejected
这种数据比单个参考答案更灵活。 开放问题可能没有唯一正确答案,但人类往往能比较两个回答在有用性、真实性、无害性和格式上的相对质量。
二、Bradley-Terry 偏好模型
Bradley-Terry 模型把“回答 \(y_w\) 胜过 \(y_l\)”的概率写成两个标量奖励差的 sigmoid。
\[ P(y_w\succ y_l|x)=\sigma(r(x,y_w)-r(x,y_l)) \]
其中 \(r(x,y)\) 是奖励模型给 prompt-response 对的标量分数。 分数绝对值没有独立意义,差值才进入偏好概率。
三、奖励模型训练损失
实际训练时,通常在一个语言模型 backbone 顶部加 scalar head,对 chosen 和 rejected 分别输出一个 reward,再最小化负对数似然。
\[ \mathcal{L}_{RM}(\theta)=-\log\sigma(r_\theta(x,y_w)-r_\theta(x,y_l)) \]
这个损失等价于一个二分类排序损失。 若 chosen 分数比 rejected 高很多,loss 接近 0;若 rejected 分数更高,loss 会快速增大。
note = "示意:pairwise reward model loss"
chosen_reward = reward_model(prompt, chosen_response) # shape: [batch]
rejected_reward = reward_model(prompt, rejected_response) # shape: [batch]
loss = -logsigmoid(chosen_reward - rejected_reward).mean()四、RM 分数不是可无限优化的真值
奖励模型只是代理。 它在训练偏好分布附近比较可靠,但策略优化会主动寻找能让 RM 高分的回答。 分布一旦移出 RM 训练覆盖范围,分数就可能变成漏洞。
这就是 Goodhart 定律在后训练里的形态:当一个代理指标成为优化目标,它就会逐渐失去作为指标的可靠性。
五、校准、集成与不确定性
- 校准关注 RM 分数差和真实偏好概率是否匹配,而不只是 pairwise accuracy。
- 集成多个 RM 可以估计不确定性,也能降低单个模型漏洞被策略利用的概率。
- held-out 偏好集只能检验静态分布,不能替代在线优化后的人工评审。
- 长度、格式、拒答风格和礼貌语气都可能成为 RM 的捷径特征。
六、过优化与 \(\sqrt{KL}\) 关系
Gao et al. 2023 研究了奖励模型过优化。 他们区分“代理奖励模型”和“gold reward model”,并报告随着策略相对初始分布的 KL 增大,代理奖励会持续上升,但真实奖励会在某个点后下降。
论文中的一个核心经验关系是,过优化带来的差距与策略偏移量相关,常用 \(\sqrt{KL}\) 形式描述趋势。 这里不把它当成普适定律,而是把它作为诊断直觉:策略离 RM 训练分布越远,RM 被 exploit 的风险越高。
七、偏好数据集与 HH-RLHF
Anthropic HH-RLHF 数据集围绕 helpfulness 和 harmlessness 收集人类偏好,是早期开放偏好数据的重要来源。 Bai et al. 2022 的 Constitutional AI 工作也展示了用原则和 AI feedback 扩展偏好监督的路线。
数据集名称不能替代数据审计。 使用任何偏好数据前,都要检查 prompt 来源、标注指南、语言覆盖、拒答比例、长度分布和许可证条件。
八、奖励模型核对清单
1. 标注指南
- 核对点:明确 helpful、honest、harmless 或具体任务质量的优先级。
- 常见失败:标注者按个人喜好判断,标签噪声上升。
- 观测信号:inter-annotator agreement。
- 边界条件:价值冲突无法完全靠指南消除。
2. 候选生成
- 核对点:候选应来自相关策略或多个模型,保证比较有信息量。
- 常见失败:两个回答都很差,偏好标签只能学到噪声。
- 观测信号:win/loss margin、tie rate。
- 边界条件:过强候选会增加标注难度。
3. 位置偏差
- 核对点:随机化 A/B 顺序,避免左侧或首个回答被偏好。
- 常见失败:模型学到标注 UI 偏差。
- 观测信号:position-wise win rate。
- 边界条件:历史数据若未随机化,需要谨慎使用。
4. 长度偏差
- 核对点:统计 chosen 与 rejected 的长度差。
- 常见失败:RM 把更长回答当成更好回答。
- 观测信号:reward vs length correlation。
- 边界条件:某些任务确实需要长答案。
5. 格式偏差
- 核对点:检查 Markdown、列表、礼貌语是否成为捷径。
- 常见失败:策略输出漂亮格式骗过 RM。
- 观测信号:style feature attribution。
- 边界条件:格式有时是用户体验的一部分。
6. 安全偏好
- 核对点:helpfulness 与 harmlessness 要分层标注或分模型处理。
- 常见失败:RM 鼓励模型回答危险请求。
- 观测信号:safety eval、refusal quality。
- 边界条件:安全规范随产品变化。
7. 训练分割
- 核对点:按 prompt 分组切分,防止同一 prompt 泄露到训练和验证。
- 常见失败:验证准确率虚高。
- 观测信号:grouped split audit。
- 边界条件:近重复 prompt 也要处理。
8. 标量头
- 核对点:reward head 输出一个序列级分数,通常取末 token 或 pooled 表示。
- 常见失败:padding 或 EOS 位置错误导致分数不稳定。
- 观测信号:reward head input position。
- 边界条件:不同架构 pooling 方式不同。
9. 分数中心化
- 核对点:训练后常做 reward normalization 或 shift。
- 常见失败:不同 RM 版本分数不可比较。
- 观测信号:reward mean/std。
- 边界条件:中心化不改变 pairwise 排序本身。
10. 校准曲线
- 核对点:按 reward 差分桶,看真实 chosen 概率。
- 常见失败:RM 过度自信,PPO 步长太激进。
- 观测信号:ECE、bucket accuracy。
- 边界条件:偏好标签本身有噪声上限。
11. RM 集成
- 核对点:用多个 seed 或数据切分训练多个 RM。
- 常见失败:单个 RM 漏洞被策略利用。
- 观测信号:ensemble variance。
- 边界条件:集成增加推理成本。
12. 在线重评
- 核对点:对 PPO 后策略样本做人评或更强评审。
- 常见失败:只相信训练 RM,reward hacking 被延后发现。
- 观测信号:human win rate、RM-human disagreement。
- 边界条件:人工评审成本高,要抽样设计。
13. KL 约束
- 核对点:策略优化时限制离 reference 的距离。
- 常见失败:RM 分数上升但语言质量退化。
- 观测信号:KL、reward、length 三联图。
- 边界条件:KL 不是安全性的充分条件。
14. OOD 检测
- 核对点:检测 prompt 或 response 是否远离 RM 训练分布。
- 常见失败:陌生领域分数乱飘。
- 观测信号:embedding distance、uncertainty。
- 边界条件:OOD 指标只能辅助。
15. 红队样本
- 核对点:专门构造会诱导 RM 错判的回答。
- 常见失败:RM 偏爱自信胡说或过度拒答。
- 观测信号:red-team failure rate。
- 边界条件:红队集需要持续更新。
16. 奖励黑客
- 核对点:把 RM 当环境,策略会学会最大化其漏洞。
- 常见失败:出现重复、空洞、长度膨胀或迎合。
- 观测信号:reward-human gap。
- 边界条件:第 16 篇会系统展开。
九、与 PPO、DPO 的连接
PPO 式 RLHF 显式训练 RM,再用 RM 分数加 reference KL 作为奖励优化策略。 RM 的错误会被策略放大,因此 PPO 日志必须同时看 reward、KL、长度和人工评测。
DPO 绕开显式 RM 训练,但没有绕开偏好建模。 它把偏好数据和 reference policy 直接写成分类损失,可以理解为学习隐式奖励差。 第 10 篇会推导这个关系。
十、奖励模型审计清单
1. 偏好定义
- 观察:标注指南说明何为更有帮助、更真实、更安全。
- 风险:标注者按个人偏好投票。
- 处置:用校准题训练标注者。
2. 候选差异
- 观察:候选回答差异要足够可判断。
- 风险:标签接近随机。
- 处置:允许 tie 或 uncertain。
3. 顺序随机
- 观察:A/B 展示顺序随机化。
- 风险:UI 位置变成隐藏标签。
- 处置:统计左右胜率。
4. 长度控制
- 观察:报告 chosen/rejected 长度分布。
- 风险:RM 学会偏好长回答。
- 处置:长度匹配或加入诊断集。
5. 分组切分
- 观察:同一 prompt 不跨训练验证。
- 风险:验证准确率被泄露抬高。
- 处置:按 prompt id group split。
6. 标量位置
- 观察:reward head 读取正确终止位置。
- 风险:padding 位置分数随机。
- 处置:用 mask 找最后有效 token。
7. 奖励归一
- 观察:记录均值、方差和 shift。
- 风险:不同 RM 版本不可比较。
- 处置:上线前重新标定。
8. 校准分桶
- 观察:按 reward gap 看真实胜率。
- 风险:分数差过度自信。
- 处置:绘制 calibration curve。
9. OOD 样本
- 观察:检查新策略输出是否远离 RM 训练集。
- 风险:RM 对陌生格式乱打高分。
- 处置:用不确定性触发人审。
10. 集成分歧
- 观察:多个 RM 对同一回答差异大。
- 风险:策略容易钻单模型漏洞。
- 处置:用 ensemble mean 和 variance。
11. 红队回答
- 观察:构造看似礼貌但错误的回答。
- 风险:RM 奖励自信胡说。
- 处置:加入 adversarial preference。
12. Goodhart 诊断
- 观察:同时看代理 reward 和人评。
- 风险:指标成为目标后失真。
- 处置:设置过优化停止点。
13. KL 曲线
- 观察:画 reward-human gap 随 KL 变化。
- 风险:离 reference 越远越不可信。
- 处置:限制 KL 或补在线偏好。
14. HH-RLHF 使用
- 观察:理解 helpful 与 harmless 数据来源。
- 风险:把数据集当成无偏真理。
- 处置:阅读原论文数据说明。
15. 二元损失
- 观察:Bradley-Terry 只建模相对偏好。
- 风险:把 reward 绝对值解释成质量分。
- 处置:关注差值和排序。
16. 标签噪声
- 观察:困难样本可能标注不一致。
- 风险:RM 学到不稳定边界。
- 处置:用多标注和软标签。
17. 安全冲突
- 观察:有用性与无害性会冲突。
- 风险:RM 鼓励危险的详细回答。
- 处置:分头或分数据训练评估。
18. 上线重评
- 观察:策略更新后重新采样做人评。
- 风险:旧 RM 被新策略 exploit。
- 处置:建立 periodic audit。
19. 许可证
- 观察:偏好数据也有使用限制。
- 风险:合规风险进入模型资产。
- 处置:记录数据许可。
20. 第 16 篇衔接
- 观察:把失败样本归档为奖励黑客案例。
- 风险:相同漏洞在下一轮重复出现。
- 处置:维护 reward-hacking taxonomy。
21. pair 方向
- 观察:chosen 和 rejected 不得反置。
- 风险:RM 系统性奖励坏回答。
- 处置:做小批量人工 sanity check。
22. 重复 prompt
- 观察:同一 prompt 的多个 pair 需要一致组织。
- 风险:数据切分泄露或权重过高。
- 处置:按 prompt 聚合统计。
23. 分数漂移
- 观察:训练中 reward 均值可能整体漂移。
- 风险:PPO 误把漂移当质量提升。
- 处置:用固定 probe set 监控。
24. 标注员偏差
- 观察:不同标注员对安全或风格有偏好。
- 风险:RM 学到人群偏见。
- 处置:分标注员看一致性。
25. 领域外问题
- 观察:RM 对未覆盖领域不应过度自信。
- 风险:策略在冷门领域刷高分。
- 处置:加入 OOD probes。
26. 可解释样本
- 观察:保存典型胜负对用于审查。
- 风险:团队只看准确率。
- 处置:定期阅读高置信错误。
27. 代理组合
- 观察:RM 分数可与规则奖励、长度惩罚组合。
- 风险:多个奖励尺度互相覆盖。
- 处置:分别记录每个 reward component。
28. 训练容量
- 观察:RM 太小无法区分细粒度质量。
- 风险:偏好准确率上不去。
- 处置:比较 backbone size 或冻结策略。
29. 过拟合检测
- 观察:训练准确率高而验证不升。
- 风险:RM 记住标注噪声。
- 处置:早停并增强数据。
30. 人评闭环
- 观察:RM 争议样本回到人工标注。
- 风险:错误边界长期存在。
- 处置:建立 disagreement queue。
31. 反事实样本
- 观察:只改长度、语气或格式测试分数。
- 风险:RM 依赖捷径特征。
- 处置:构造 controlled pairs。
32. 发布限制
- 观察:RM 只服务训练,不等于公开评分器。
- 风险:外部滥用分数解释模型质量。
- 处置:在文档说明适用范围。
十一、参考资料
- Ralph Allan Bradley, Milton E. Terry. “Rank Analysis of Incomplete Block Designs: I. The Method of Paired Comparisons”. Biometrika 1952.
- Paul F. Christiano et al. “Deep Reinforcement Learning from Human Preferences”. NeurIPS 2017.
- Nisan Stiennon et al. “Learning to summarize with human feedback”. NeurIPS 2020.
- Long Ouyang et al. “Training language models to follow instructions with human feedback”. NeurIPS 2022.
- Yuntao Bai et al. “Training a Helpful and Harmless Assistant with Reinforcement Learning from Human Feedback”. arXiv 2022.
- Yuntao Bai et al. “Constitutional AI: Harmlessness from AI Feedback”. arXiv 2022.
- Leo Gao, John Schulman, Jacob Hilton. “Scaling Laws for Reward Model Overoptimization”. ICML 2023.
← 上一篇:07|监督微调(SFT) | 下一篇:09|RLHF 全链路 →
同主题继续阅读
把当前热点继续串成多页阅读,而不是停在单篇消费。
【强化学习与大模型后训练】06|后训练全景:SFT → RM → RLHF → 评测
把现代后训练拆成数据、目标函数、采样、奖励和评测组成的系统流水线,说明每一阶段改变模型的哪一部分。
【强化学习与大模型后训练】09|RLHF 全链路:用 PPO 对齐语言模型
从 SFT 初始化、奖励模型、参考策略 KL 到 PPO 更新,串起 RLHF 的四模型训练闭环,并解释稳定性与工程成本。
【强化学习与大模型后训练】10|DPO:把 RLHF 变成一个分类损失
从 KL 正则 RLHF 目标推导 DPO,解释隐式奖励、Bradley-Terry 替换、梯度含义,以及它省掉在线 PPO 的代价。
【强化学习与大模型后训练】18|训练稳定性:KL、熵、长度偏置与崩溃诊断
把 KL、奖励、熵、长度、梯度和 PPO 比率组织成训练仪表盘,定位后训练崩溃与奖励黑客。