这是今年最「好笑」的一篇论文。
本文一出,所有的大语言模型(LLM)+ 强化学习(RL)都要被质疑是否有意义了。
这周二,一篇来自华盛顿大学、艾伦人工智能实验室、伯克利的论文引爆了 AI 界。
论文:Spurious Rewards: Rethinking Training Signals in RLVR
项目链接:https://github.com/ruixin31/Rethink_RLVR/tree/main
作者驳斥了最近大模型领域盛行的强化学习方式,他们发现:使用虚假奖励训练 Qwen2.5-Math-7B 模型也可以提高 MATH-500 的成绩,如果是随机奖励,成绩能提高 21%,如果是错误奖励,成绩能提升 25%(真实奖励能提升 28.8%)。
这是怎么一回事?大模型的训练技巧真的有用吗?该工作的作者写了一篇博客进行了介绍:
质疑强化学习 (RLVR) 传统观点
近一段时间,可验证奖励强化学习(RLVR)已成为增强大型语言模型(LLM)推理能力的标准方法。传统观点认为,高质量的监督信号对于有效的 RLVR 训练至关重要。最近的研究挑战了这一假设,表明使用 RLVR 对单个样本或无监督样本进行训练仍然可以在 Qwen-Math 模型上取得显著的进步。
但是,我们不禁要问:单样本或无监督 RLVR 中的训练信号来自哪里?为了提供有意义的 RLVR 训练信号,奖励的最低要求是什么?
我们的发现令人震惊。
虚假奖励,即使是随机的或错误的,也能显著提升 Qwen-Math 表现
我们发现,RLVR 可以通过所谓的「虚假奖励」—— 提供极少甚至误导性指导的信号,大幅提升数学推理能力。
以下是我们尝试过的一些有趣的奖励:
- 格式奖励:仅因答案包含 \boxed { } 而给予奖励 —— 因答案包含 \boxed {} 表达式而给予奖励。此格式也是系统提供给模型的提示中指定的格式,从而提供了一种「提示遵循」的概念。
- 随机奖励:完全任意的反馈 —— 字面意思:1 if (random.random () < rate) else 0
- 错误奖励:故意设置错误的监督信号 —— 获取错误但可信的标签的步骤:
<ol>
按频率对模型的 rollout 进行排序
取最常见的答案
如果答案正确,则丢弃样本
在模型最常见答案错误的子集上进行训练,并将该特定答案作为训练标签。
</ol>
我们还与文献中研究过的其他一些弱奖励进行了比较:
- 多数投票奖励:将多数投票的答案作为标签。
- 单样本强化学习:在单个样本上进行标准强化学习虚拟学习 (RLVR)。
RLVR 在不同训练信号上进行 150 步训练后的 MATH-500 准确率。我们证明,即使是「虚假奖励」也能在 Qwen 模型上带来显著的 MATH-500 提升。需要注意的是,这些奖励信号不适用于其他模型,例如 Llama3 和 OLMo2,因为它们的推理先验有所不同。
从 AI 社区广泛用于强化学习的模型 Qwen2.5-Math-7B 开始,我们在多个数学推理基准测试中取得了与基于真实值监督模型相当的性能提升。
这一发现直接挑战了强化学习在提升 AI 推理能力方面所起作用的现有理解。
有反转:虚假奖励并非对所有模型都有效
当我们将实验扩展到其他未专门针对数学推理进行优化的模型系列(包括 Qwen2.5-Base、Olmo2 和 Llama3 变体)时,观察到了一些有趣的现象:
与 Qwen-Math 不同,其他模型在「虚假奖励」方面表现得非常有限。
(我们主要讨论 MATH-500 上的表现,有关 AMC、AIME 2024,尤其是训练数据截止日期之后的 AIME 2025 测试集的更多结果,请参阅完整论文 。)
- 对真实标签进行首次健全性检查。它提高了所有模型的性能。在使用真实标签进行简单的 GRPO 时,我们看到所有模型系列都得到了改进,Qwen 和 Qwen-Math 的改进比 Llama 和 OLMo 模型更大。
- 多数投票结果如何?先前的研究已提出提高模型一致性的方法。我们发现,这确实对大多数模型有益,但对 OLMo 却无益。
- 如果我们只在响应包含 \\boxed {} 时才给予奖励会怎么样?实验发现,仅仅训练模型生成可解析的结果,就能在 Qwen 模型上获得巨大的性能提升 ——Qwen2.5-1.5B 的绝对提升高达 49.9%。但这种奖励会损害 Llama3.2-3B-Instruct 和 OLMo2-SFT-7B 的性能,分别降低 7.3% 和 5.3%。有趣的是,性能在达到峰值后开始逐渐下降。我们假设这是因为模型已经「学习」了格式,因此进一步的训练并不能为其提供更多信息。
错误的奖励 —— 事情开始变得有趣起来。我们发现,它仍然显著地提高了 Qwen 模型的性能,但对 Llama 模型没有影响,并且损害了 OLMo-Base 和 OLMo-SFT 模型。
最后,如果我们不观察模型本身,直接随机地将奖励 0 或 1 分配给模型,结果会怎样?这仍然有效吗?你猜对了,对于 Qwen 模型有效,但对于其他模型无效。
请注意,随机奖励在 Qwen2.5-1.5B 中不起作用,并且仅在约 120 步后才在 Qwen2.5-7B 中开始起作用。基于这一观察,我们对其进行了更长时间的训练(300 步),发现与其他带信号的奖励相比,这些模型的收敛水平较低。
这种依赖于架构的行为表明,RLVR 的有效性更多地取决于预先存在的模型能力,而不是监督信号的质量。
给未来工作的实践性警示
Qwen 模型凭借其开源权重和在推理任务上的高性能,已成为开源社区中 RLVR 研究事实上的选择 —— 近期一系列关于 RLVR 的研究都是基于以 Qwen 为中心的实验得出结论的(请参阅原论文以获取列表)。
然而,我们发现近期有两项研究表明,使用弱监督的 RLVR 在 Qwen 模型上效果良好,但这些结论无法泛化到其他模型家族。
测试时强化学习:该论文提出在测试样本上进行 RLVR,并使用同策略 (on-policy) 下多数投票 (majority-voted)的答案来计算奖励。
单样本强化学习:这篇论文表明,仅用一个样本进行 RLVR 就可以达到与在标准训练集上进行 RLVR 相当的性能。
我们在多种基础模型上评估了最近提出的两种弱监督 RL 方法 ——TTRL 和单样本 RL。我们发现,这些提出的训练奖励在 Qwen 模型上能够持续奏效。然而,除了少数例外,这些相同的信号在其他模型家族上通常无法带来收益,这与我们使用虚假奖励进行训练时观察到的有限泛化能力相呼应。
因此,我们建议未来的 RLVR 研究应该在其他模型上进行验证。
是什么让带有虚假奖励的 RLVR 生效呢?
现在,你可能会好奇 —— 为什么会发生这种情况??为什么所有这些虚假奖励 都在 Qwen-Math 模型上有效?魔法究竟在哪里?
总的来说,我们假设 RLVR 训练结果的差异是由于每个模型在预训练过程中学到的特定推理策略不同所致。特别是,某些策略可能很容易被 RLVR 引出 (elicited),而其他策略则可能更难显现,或者根本不存在。
我们识别出了一种这样的预存策略:生成代码以辅助数学推理,Qwen-Math 能够有效利用它,而其他模型家族则利用得较少。我们将代码推理作为一项有启发性的案例研究来进行调查,但这并非完整的解释:我们观察到其他一些行为也很容易被引出,并且常常与性能相关,例如「不重复」。更多详情请参阅论文。
个有启发性的案例研究:代码推理
通过仔细分析,我们发现了一个关键洞察:即使在进行 RLVR 训练之前,Qwen-Math 也有 65.0% 的时间会生成 Python 代码来解决数学问题。更惊人的是,在没有代码执行器的情况下,它常常能生成正确的代码输出以及问题的正确答案。
然而,这种频繁且高质量的代码推理能力在其他模型中并不存在。
下面是一个 Qwen-Math-7B 如何能精确预测
到小数点后 15 位 —— 比 iPhone 计算器还多一位的例子。
Qwen2.5-Math-7B 的代码推理回应示例。该问题从 MATH-500 测试集中随机选取。请注意,代码及其执行结果均由 Qwen2.5-Math-7B 自回归生成 。并未向模型提供外部代码解释器。
在应用 RLVR 之后,无论奖励质量如何,这种代码推理的频率平均增加到 90% 以上。
这种推理策略的转变——而非获取新的推理技能——似乎是驱动性能提升的原因。Qwen 模型通过 RLVR 训练学会了使用更多的代码推理。从语言推理到代码推理的转变有效地提升了性能。
对于 Qwen-Math 和 Qwen 模型而言,代码频率与性能高度相关。代码越多 —> 正确答案越多,反之亦然。然而,在那些能产生代码但无法产生优质代码的模型(例如 OLMo2-7B-SFT)中,这种相关性是相反的。
细粒度准确率追踪 — 我们仅从选择正确的推理策略中能获益多少?
更有趣的是,我们追踪了那些在 RLVR 前后推理策略发生改变的问题,并分析了性能增益究竟从何而来。我们发现:
- 虚假奖励在将模型行为转换为代码推理方面更为激进,并且极少将原本是代码推理的行为转变为自然语言推理。令人印象深刻的是,看起来基于虚假奖励的 RLVR 做出了正确的选择 —— 对于那些从自然语言推理切换到代码推理的问题,性能急剧提升了约 55%。另一方面,真实标签奖励则将自然语言推理的性能提升了 60.2%!下面的流程图包含了更详细的说明。
- 我们进一步量化了每种策略转换行为对每个模型性能增益的贡献。看到这一点非常酷:如果一个模型擅长代码推理(代码准确率 > 语言准确率),RLVR 的增益主要来自于从语言到代码推理的转换;如果一个模型不擅长代码推理(代码准确率 < 语言准确率),RLVR 的增益则主要来自于从代码到语言推理的转换。
在成功引导模型推理策略的奖励上平均计算,对整体性能增益的部分贡献。
基于我们初步观察到的这些强相关性,我们假设代码推理是 Qwen 模型中导致良好数学性能的推理行为之一。
为了验证我们的假设,我们通过提示和强化学习明确地约束模型生成代码推理。我们观察到,在所有测试的模型中,代码推理的频率与基准性能之间存在强相关性。(相关性的方向取决于特定模型的代码质量)。
通过提示诱导代码推理
我们仅仅通过提示模型,让它以「让我们用 Python 来解决这个问题。」 (Let's solve this using Python) 这句话来开始其回应。这个简单的做法显著提升了 Qwen-math 模型的性能,但却降低了 Llama 和 OLMo 模型的性能。
通过强化学习 (RL) 诱导代码推理
鉴于提示实验的成功,我们设计了一种额外的虚假奖励:只要模型的回应中包含字符串 python,就给予奖励。这极大地鼓励了所有模型去使用代码推理(在训练 50 步之后,超过 99% 的回应包含代码)。
在下方的图表中,我们展示了类似的趋势,但如果我们使用强化学习来训练模型更多地使用 Python 代码,效果会更加显著。Qwen-Math 和 Qwen2.5-7B 模型的性能得到了提升,而其他模型的性能则有所下降。
但为什么要随机?
当我们看到训练曲线随着 random.random () < 0.5 产生的奖励而攀升时,我们感到困惑。 完全无意义、毫无信息的奖励,又怎能真正促进模型学习呢?
这个悖论促使我们去寻找人工智能领域的「伦敦色散力」—— 就像电中性的原子之间仍然神秘地相互吸引一样。在深入研究 GRPO 后,我们发现裁剪项可能是关键。我们通过三种方法对裁剪因子进行了消融研究:
(a) 在损失计算中直接禁用裁剪。
(b) 调整训练和推演的批量大小,使推演模型与策略保持一致。
(c) 减小推演批量大小以维持等效条件。
方法 (b) 和 (c) 确保每个推演步骤只有一个梯度更新,从而自然地避免了裁剪约束。
在 Qwen2.5-Math-7B 模型上,对 GRPO 中的裁剪项进行消融研究时的性能和代码推理频率。使用带有裁剪的随机奖励进行训练,会增加代码推理模式并提高性能。
在使用标准 GRPO 裁剪的情况下,随机奖励为 Qwen2.5-Math-7B 带来了约 21% 的性能提升,并增加了代码推理模式。但是,当我们通过上述三种方法中的任何一种消除裁剪效应时,随机奖励并未带来任何改善。
我们推测这是由于 GRPO 公式本身存在的偏差,我们将在下面详细说明。在裁剪的作用下,随机奖励并非教给模型任务的质量 —— 相反,它们触发了一种集中效应 ,使模型专注于其现有的推理模式分布。当禁用裁剪时,这种集中机制就完全消失了。
启示与未来工作
虚假奖励通过放大现有能力起作用: 带有虚假奖励的 RLVR 可以作为一种机制,来放大和凸显在预训练过程中学到的有用推理表示。当提出新的 RLVR 方法时,它们应该审视其带来的益处是否超越了揭示这些表面模式的层面,以研究真正学习发生的程度。
在更多模型家族上测试关于 RL 方法的主张: 鉴于不同的模型家族具有不同的预存能力,我们建议未来的 RLVR 研究或许应该在多样化的模型上进行验证,而不是仅仅依赖于单一的「事实标准」选择,因为我们已经证明,即使使用完全虚假的奖励信号,也很容易在 Qwen 模型上获得明显的性能增益。
首先了解你的模型: 我们应该更加意识到,在预训练期间学到的推理模式会严重影响下游的 RLVR 训练行为 —— 无论是在设计预训练方法时,还是在使用预训练模型进行 RLVR 时,都应如此。
参考内容:
https://rethink-rlvr.notion.site/Spurious-Rewards-Rethinking-Training-Signals-in-RLVR-1f4df34dac1880948858f95aeb88872f
来源:36kr
|