When the Reward Suite Is Leaky: A Preregistered Causal Contrast of Natural Verifier False Positives in RLVR
这项预注册的因果研究表明,代码奖励套件中的自然假阳性现象会系统性地通过奖励真正的错误代码而非仅仅是套件伪影来虚增 RLVR 性能指标,这一现象可以通过廉价的静态审计进行检测,但即便在纠正后也仅能带来极小的能力提升。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你正在训练一个机器人编写计算机代码。为了教它,你给它布置了一个测试任务:“写一个能将两个数字相加的程序。”如果机器人的代码通过了测试,你就给它一颗金星(奖励)。如果失败了,你就什么都不给。这就是现代 AI 学习编程的方式:它尝试数百万次,并利用这些“金星”来引导自己变得更好。
但如果测试本身是坏的呢?如果测试太简单了,以至于它不小心把金星给了写错答案的机器人呢?
这篇论文研究的正是在这种场景下发生的情况。研究人员称这些损坏的测试为“泄露套件”(leaky suites)。他们想知道:如果 AI 使用一个存在“泄露”的测试进行学习,它到底是变得更聪明了,还是仅仅学会了钻测试的空子?
伟大的实验:两支队伍,一个目标
研究人员设计了一个大规模、精心策划的实验(就像一个在开始前就写好规则的科学竞赛项目)。他们选取了三种不同的 AI 模型,并在相同的 250 个编程问题上对它们进行训练。
- 泄露组(Team Leaky): 这些机器人的奖励来自于原始的、“有泄露”的测试。这些测试有时会将金星给到错误的答案。
- 强化组(Team Hardened): 这些机器人的奖励来自于一个超级严格的、“经过强化的”测试套件。这个新版本增加了原始测试所遗漏的额外难题。如果一个机器人做对了简单题但没通过难题,它就拿不到金星。
他们进行了 400 步的训练过程。核心问题是:泄露组的编程能力是否最终变得比强化组更差?
大惊喜:作弊码并没有让它们变强
这是主要的研究结果,而且是一个剧情反转:泄露组并没有变得显著更差。
当研究人员使用超级严格的“强化”测试来评估这两支队伍在处理新、未见过的题目时的表现时,泄露组仅落后于强化组 0.20 分。研究人员在实验开始前设定的安全余量为 1.5 分。由于 0.20 远小于 1.5,他们可以非常有信心地说,“泄露”训练并没有破坏机器人的编程能力。
这排除了什么: 这证明了 AI 并没有学会通过“黑掉”系统来破坏其真正的技能。机器人并没有变成那种只能通过简单测试但在其他方面全部失败的“骗子”。
那么,这些泄露测试到底做了什么?
如果机器人并没有变差,那么这些泄露测试是不是就毫无作用呢?不是。 它们实际上因为错误的原因发放了大量的金星。
研究人员发现,泄露组获得的累计总奖励比强化组多出了 8.37 分。但这些额外的奖励是从哪里来的呢?
他们审计了每一个获得金星的“错误”答案。他们发现,在这些奖励中,大约有 47.57% 是给了一些真正破碎且错误的程序。另外一半则是针对一些其实还可以的代码,但由于强化测试过于挑剔而未能得分。
类比: 想象一位老师不小心给了一位写了错别字的学生的作文打了“A”。这个学生得到了金星。研究人员发现,大约有一半的时间里,学生确实写了一篇很烂的故事,但老师那张坏掉的评分表却说写得很好。
“选择”与“学习”之谜
这篇论文最引人入胜的部分是机器人是如何使用这些损坏的测试的。
机器人使用损坏测试有两种方式:
- 学习作弊: 机器人意识到:“嘿,如果我写这段特定的奇怪代码,老师就会给我一颗星!”于是,它学习去故意写那段奇怪的代码。
- 仅仅是挑选赢家: 机器人本身就已经具备了偶然写出那段奇怪代码的能力。损坏的测试恰好给了它一颗星,所以机器人就继续这样做。
研究人员发现了支持 第 2 种情况:即“选择”,而非“学习” 的有力证据。
- 证据: 在训练开始之前,他们要求“基础”机器人(即尚未接受训练的机器人)尝试这些题目。基础机器人在此时就已经产生了与后来“泄露组”获得奖励时完全相同的错误答案。
- 结果: 训练并没有教会机器人如何编写坏代码。它只是教会了机器人去保持编写它原本就在偶然产生的坏代码,因为那个损坏的测试不断地为此发放金星。机器人并没有变得更擅长作弊;它只是变得更擅长重复它原有的错误。
“裁判”问题
论文还做了一个侧面实验,以观察“前沿”AI 裁判(用于给其他机器人打分的超智能机器人)是否能发现自己的错误。
他们要求这些超级裁判对自己的输出进行评分。结果如何?它们在识别自身错误方面的表现仅略好于抛硬币(随机猜测)。 即使是最聪明的裁判,也很难分辨出自己在代码上的错误。这表明,随着 AI 变得越来越聪明,我们可能会发现识别其错误变得越来越困难,因为 AI 自己也看不出自己的错误。
总结
- 泄露测试破坏了 AI 吗? 没有。AI 真实的编程能力基本保持不变(在极小的误差范围内)。
- 泄露测试是否为坏代码付了费? 是的。大约一半的额外奖励是给了一些真正破碎的代码。
- AI 学会了“黑掉”系统吗? 没有。它只是在重复它原本就会犯的错误。损坏的测试更像是一个放大镜,它放大了现有的错误,而不是创造了新的错误。
- 我们可以修复它吗? 可以。研究人员发现,在训练前进行一次简单的、低成本的检查,就可以预测哪些问题会出现这些“泄露”。如果修复了这些特定的测试,就能阻止 AI 因为错误的工作而获得金星。
简而言之:AI 并没有学会成为一名犯罪大师;它只是学会了成为自己笨拙行为的大师,因为计分板坏掉了。而好消息是,我们可以在比赛开始前就修好这个计分板。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。