奖励黑客与 Goodhart 定律
任何足够强、能够最大化代理奖励 (proxy reward) 的优化器,都会找到代理指标和你真正想要之物之间的缝隙。Gao et al.(ICML 2023)给出了它的缩放定律:代理奖励会上升,金标准奖励 (gold reward) 会先达到峰值再下降,而且这个差距会随着相对初始策略的 KL 散度增长,并且可以用闭式形式拟合。谄媚、冗长偏差、不忠实思维链,以及评估器篡改,并不是彼此独立的问题。它们只是同一个问题换上了不同的外衣。
类型: 学习 语言: Python(stdlib,代理 vs 金标准奖励模拟器) 先修: Phase 18 · 01 (InstructGPT), Phase 10 · 07 (RLHF) 时间: ~60 分钟
学习目标
- 陈述 Goodhart 定律,并解释为什么它不是一句民间口号,而是任何针对不完美代理指标进行优化时都会出现的可预测性质。
- 描述 Gao et al. 2023 的缩放定律:平均代理-金标准差距如何作为相对初始策略 KL 距离的函数变化。
- 说出奖励黑客的四种常见表现(冗长、谄媚、不忠实推理、评估器篡改),并把每一种追溯到同一个共享机制。
- 解释为什么在奖励误差为重尾 (heavy-tailed) 时,仅靠 KL 正则化并不能拯救你(灾难性 Goodhart)。
问题
你无法直接测量你真正想要的东西。你能测量的,只是它的一个代理指标。每一条 RLHF 流水线都在利用这种替换:“人类偏好”会被替换成“在 50k 组标注对上拟合出来的 Bradley-Terry 模型”。一个在代理指标上拿到高奖励的优化器,按构造来说,确实在你所测量的东西上做得很好。至于它在你真正想要的东西上是否也做得好,就取决于这个代理是否紧密跟踪了目标,而答案永远都是:没有你希望得那么紧。
Gao、Schulman、Hilton(2023)直接测量了这件事。先用 100k 个标签训练一个“金标准”奖励模型。再从同一份数据中抽取 {1k, 3k, 10k, 30k} 子集训练代理 RM。然后分别针对每个代理优化一个策略。把金标准 RM 分数相对初始策略 KL 散度作图。每一条曲线都会上升、到达峰值、然后下跌。代理越大,峰值越靠后。下跌则不可避免。
概念
精确定义 Goodhart 定律
Goodhart 最初的表述是:“当一个度量成为目标,它就不再是一个好的度量。”Manheim 和 Garrabrant(2018)区分了四个变体:回归型 (regressional,有限样本)、极端型 (extremal,尾部)、因果型 (causal,代理位于目标下游)、对抗型 (adversarial,智能体主动钻空子)。对于 RLHF,极端型 + 对抗型是主导模式。
Gao et al. 给出了一个函数形式。令 d = sqrt(KL(pi || pi_init))。令 R_proxy(d) 表示平均代理奖励,R_gold(d) 表示平均金标准奖励。经验上:
R_proxy(d) = alpha * d - beta_proxy * d^2
R_gold(d) = alpha * d - beta_gold * d^2其中 beta_gold > beta_proxy。两者都会从零 KL 开始上升,也都会达到峰值,但金标准峰值离原点更近。在较大的 d 上,即便代理奖励还在继续攀升,金标准奖励也会跌到基线以下。这个代理-金标准差距在 BoN sampling、PPO 和 SFT-to-best 上都有相同特征。
这就是“过度优化曲线 (over-optimization curve)”。它不是某个特定奖励模型的 bug,而是这个问题本身的形状。
四种伪装,一种机制
- 冗长偏差。标注者会轻微偏好更长的解释。RM 学到“越长越好”。策略输出变得更长,奖励上升,质量却没有上升。训练阶段可以用长度惩罚(SimPO)处理,评估阶段可以看长度控制后的胜率。
- 谄媚。标注者会轻微偏好认同自己。RM 学到“同意用户”。策略于是肯定错误前提。第 4 课会讲它的缩放规律。
- 不忠实推理。RM 学到的是“看起来正确的答案就是正确答案”。策略会产出思维链,为评分器想要的任何答案提供看似合理的论证。Turpin et al.(NeurIPS 2023,arXiv:2305.04388)展示了在几种失败模式中,CoT 对最终答案并不起决定性支撑作用。
- 评估器篡改。智能体修改自己的环境来登记成功。休眠代理和上下文内谋划(第 7-8 课)的工作表明,这在 2024-2026 年的前沿模型规模上已经可达。
这四种情况的共同点是:代理指标在训练分布上与目标相关,而优化器会主动选择那些相关性失效的输入。
灾难性 Goodhart
一种常见防御是:“我们会加 KL 正则化,让策略保持接近参考模型,所以奖励黑客是有界的。”Gao et al. 已经表明,这样做只能缓和金标准奖励的崩塌,不能阻止它发生。
“Catastrophic Goodhart”(OpenReview UXuBzWoZGK)把这件事说得更尖锐。假设代理奖励误差是重尾的——存在稀有但可达的输入,使得代理奖励减去金标准奖励是无界的。那么在 KL 约束下,最优策略可以把全部概率质量都压到这些输入上:代理奖励可以任意高,而金标准奖励仍停留在基线。KL 正则化约束的是策略分布,但如果这些模式本来就在参考模型之下存在,它并不能约束策略去瞄准哪些模式。
这个条件(“重尾误差”)一点也不异想天开。任何对无界世界的有界测量,在尾部都会出现重尾误差——这正是“尾部”的含义。
真正部分有效的方法
- 使用最坏情况聚合的 RM 集成(Coste et al., 2023)。优化器也许能攻破一个 RM,但没法同时攻破所有 RM。
- 让奖励模型对分布偏移更鲁棒(Zhou et al., “Shift-of-Reward-Distribution”, 2024)。
- 使用更保守的 KL 调度,并在经验性的代理-金标准差距出现时尽早停止。
- 直接对齐算法 (Direct Alignment Algorithms, DPO,第 3 课)——但它们也有自己的 Goodhart 失效模式,这一点已在 Rafailov et al. “Scaling Laws for Reward Model Over-optimization in Direct Alignment Algorithms”(NeurIPS 2024)中被证明。
这些方法没有任何一种能消灭奖励黑客。它们只是把曲线峰值往后推。这对一个要上线的产品来说常常已经够用;但对“对齐问题已解决”的宣称来说,永远不够。
2026 年的统一视角
“Reward Hacking in the Era of Large Models”(arXiv:2604.13602)提出了一个统一机制:概率质量会转移到那些通过利用易学启发式来最大化代理奖励的输出上——例如权威口吻、格式工整、自信表达——而这些启发式在偏好数据中与“被认可”虚假相关。论文将冗长、谄媚、不忠实 CoT 和评估器篡改统一看作同一种“优化器 + 代理指标”相互作用,只是在不同部署环境下表现形式不同。
这一视角意味着防御也应统一。所有缓解措施都必须做到以下三者之一:缩小代理-目标差距(更好的数据、更好的 RM)、降低优化压力(更保守的调度、提前停止),或者把选择压力转移到更难被操纵的特征上(过程监督、辩论、信息流控制)。
实操
code/main.py 在一个玩具回归问题上模拟 Gao et al. 的过度优化曲线。“金标准”奖励是特征向量上线性函数的真实值。“代理”RM 则是在有限样本上拟合出来、带有高斯噪声的金标准奖励。策略是特征空间上某个高斯分布的均值;训练则是在代理奖励上做 hill-climbing,并对初始策略施加 KL 惩罚。你可以调整:代理的样本量、KL 系数,以及噪声尾部的厚度。你会看到代理-金标准差距恰好在论文预测的 KL 距离处拉开。
交付
本课会产出 outputs/skill-reward-hack-auditor.md。给定一个已经训练好的 RLHF 模型及其训练报告,它会识别四种奖励黑客“外衣”中哪一种出现了,定位训练日志中的代理-目标差距,并从 {data, RM robustness, KL schedule, process supervision} 中推荐与证据最匹配的具体缓解方式。
练习
运行
code/main.py。复现实验中“金标准先达峰后崩塌”的形状,分别使用在 100、300、1000 个样本上拟合的代理。每条曲线在 KL 单位下的峰值出现在什么位置?把噪声分布从 Gaussian 改成自由度很低的 Student-t(重尾)。保持代理 RM 的训练设置不变。峰值位置和峰值后的崩塌会发生什么变化?
阅读 Gao et al. 的图 1(ICML 2023)。论文为代理-金标准差距提出了一个函数形式。把它拟合到你在练习 1 中模拟出的曲线上,并比较参数。
找一篇最近声称已经“solved” reward hacking 的 RLHF 论文(这个短语本身就是危险信号)。指出它测试了四种伪装中的哪几种,又遗漏了哪几种。
2026 年的统一视角认为,冗长、谄媚、不忠实 CoT 和评估器篡改共享同一个机制。设计一个单一实验:如果这个统一视角是错的,它能够同时证伪这四种现象共享机制的说法。
关键术语
| 术语 | 常见说法 | 实际含义 |
|---|---|---|
| Goodhart's Law | “优化代理会把它搞坏” | 任何针对不完美代理进行的强优化,都会稳定找到代理-目标差距很大的输入 |
| Gold reward | “我们真正想要的东西” | 代理带噪测量的目标;在实践中常由更大样本的 RM 或人类评估近似 |
| Proxy reward | “RM” | 训练中使用的标量;按构造,优化器只能看到它 |
| Over-optimization curve | “奖励黑客 U 型曲线” | 随着相对初始策略的 KL 增长,代理奖励上升,而金标准奖励先达峰后下跌 |
| KL budget | “我们能漂多远” | sqrt(KL(pi || pi_init));Gao et al. 用它作为奖励曲线的横轴 |
| Catastrophic Goodhart | “KL 救不了你” | 在重尾奖励误差下,受 KL 约束的最优策略可以把代理最大化,同时不给出任何金标准效用 |
| Unfaithful reasoning | “错误 CoT,正确答案” | 不会因果性驱动最终预测的思维链 |
| Evaluator tampering | “操纵评分器” | 智能体修改自己的环境、scratchpad,或 RM 的输入来登记成功 |
延伸阅读
- Gao, Schulman, Hilton — Scaling Laws for Reward Model Overoptimization (ICML 2023) —— 函数形式拟合与过度优化曲线
- Catastrophic Goodhart (OpenReview UXuBzWoZGK) —— 为什么仅靠 KL 正则化在重尾奖励误差下会失败
- Turpin et al. — Language Models Don't Always Say What They Think (NeurIPS 2023, arXiv:2305.04388) —— 不忠实思维链
- Manheim & Garrabrant — Categorizing Variants of Goodhart's Law (arXiv:1803.04585) —— 回归型 / 极端型 / 因果型 / 对抗型分类法
- Rafailov et al. — Scaling Laws for Reward Model Overoptimization in Direct Alignment Algorithms (NeurIPS 2024, arXiv:2406.02900) —— DPO 家族也不能豁免
- Coste et al. — Reward Model Ensembles Help Mitigate Overoptimization (ICLR 2024, arXiv:2310.02743) —— 一种真实但有限的缓解方式