仅用一个数据样本,大幅提升大模型数学推理能力:1-shot RLVR 揭秘

研究发现,仅用一个数学数据样本训练,就能大幅提升大模型在数学推理任务中的性能,效果甚至能媲美使用数千数据集的传统强化学习方法。

原文标题:仅需1个数据,就能让大模型的数学推理性能大大增强?

原文作者:机器之心

冷月清谈:

一篇来自华盛顿大学和微软的研究论文揭示了一个有趣的现象:仅使用一个训练样本的强化学习(1-shot RLVR),就能显著提升大模型在数学推理任务中的表现。研究者发现,与使用大量数据集的传统强化学习方法相比,1-shot RLVR 在多个数学推理任务上均表现出色,甚至在某些情况下超越了使用更大规模数据集的训练效果。这种高效性源于策略梯度损失(policy gradient loss),并受益于熵损失(entropy loss)所鼓励的多样性探索。此外,1-shot RLVR 的有效性已在多种模型和算法上得到验证,并能将提升推广到非数学推理任务。该研究不仅为反思现有强化学习进展提供了视角,也为未来数据选择算法的设计、少样本强化学习的应用等方向带来了启发。

怜星夜思:

1、论文中提到“历史方差得分”(historical variance score)用于选择训练数据,这个指标具体是如何计算的?如果让你来设计一个数据选择指标,你会考虑哪些因素?
2、文章提到1-shot RLVR 激发了模型的推理能力,甚至可以拓展到非数学任务。你认为这种方法背后更深层次的原因是什么?这种“迁移”的边界在哪里?
3、论文中提到即使训练数据存在错误,1-shot RLVR 仍能部分提高模型表现。这个现象非常反直觉,你认为可能的原因是什么?

原文内容


本文第一作者王宜平是华盛顿大学的博士生,其导师、通讯作者杜少雷为华盛顿大学Assistant Professor;另外两位通讯作者 Yelong Shen 和 Shuohang Wang 是 Microsoft GenAI 的Principal Researcher


最近, 大型语言模型(LLM)在推理能力方面取得了显著进展,特别是在复杂数学任务上。推动上述进步的关键方法之一就是带可验证奖励的强化学习(Reinforcement Learning with Verifiable Reward,RLVR),其根据数学题最终答案的正确性提供 0-1 的结果奖励(outcome reward)。然而, 大量研究工作集中于改进原有的强化学习算法(如 PPO,GRPO),对于 RLVR 中所利用数据的研究仍相对不足。


近日,来自华盛顿大学西雅图分校、微软等机构的研究人员探索了一个重要的问题:RLVR 中究竟需要多少数据才能有较好的表现?


他们发现了一个神奇的现象:用一个数学数据就能够大幅提升模型在各种数学推理任务上的表现!



  • 论文标题:Reinforcement Learning for Reasoning in Large Language Models with One Training Example

  • 论文地址:https://arxiv.org/abs/2504.20571

  • 代码地址:https://github.com/ypwang61/One-Shot-RLVR

  • W&B 实验记录:https://wandb.ai/yipingwanguw/verl_few_shot?nw=nwuseryipingwang22

  • X(Twitter):https://x.com/ypwang61/status/1917596101953348000 


论文发现,只在 RLVR 训练中使用一个训练数据(称作 1-shot RLVR),就可以在 MATH500 上,将 Qwen2.5-Math-1.5B 的表现从 36.0% 提升到 73.6%,以及把 Qwen2.5-Math-7B 的表现从 51.0% 提升到 79.2% 。


这个表现和使用 1.2k 数据集(包括这一个数据)的 RLVR 效果差不多。使用两个训练样本的 RLVR 甚至略微超过了使用 1.2k 数据集(称作 DSR-sub)的表现,和使用 7.5k MATH 训练集的 RLVR 表现相当。这种表现可以在 6 个常用的数学推理任务上都可以观察到。



这种利用一个数学训练数据的 1-shot RLVR 激发的推理能力甚至可以拓展到非数学的推理任务上,如 ARC-Easy/Challenge。



背景介绍


在这项工作中,论文使用了包含 policy gradient loss ,KL divergence loss 以及 entropy loss 三项损失函数。这里 policy loss 使用 GRPO 格式的损失函数,对应是否解决数学题的 0-1 结果奖励;KL loss 用于保持模型在一般任务上的语言质量;而 entropy loss(系数为负)用于鼓励模型产生更加多样化的推理模式。


对于数据选择,研究者使用一个叫 historical variance score 的指标来将数据池(前面提到的 1.2k DSR-sub 数据集)中的数据来排序,为了优先选择在模型训练过程中准确度方差较大的那些数据。不过论文强调这种数据选择并不一定是最优的,只是为了更好的说明现象。而且 1-shot RLVR 对很多 historical variance score 不那么高的数据也能生效,可能是更通用的现象。


此外,研究者还发现让 1-shot RLVR 表现的很好的数据其实都不是特别困难。初始模型就已经有一定的概率可以解决。



实验观察


通过 1-shot RLVR,论文还发现了很多有趣的现象:


(1) 饱和后泛化:论文发现, 1-shot RLVR 中,单个训练样本的训练准确率快速达到接近 100%,但是下游任务的表现随着训练的进行还在不断地提升。(后文说明因为 entropy loss 鼓励多样性的探索,使得准确率略小于 100%,因此在训练过程中始终保持有 policy gradient)。



与此同时,在饱和后泛化的过程中,过拟合发生的比较晚,在单个样本 rollout 超过 1 百万次之后才出现明显乱码混合正确解答。而且此时下游任务的 reasoning 输出仍然正常而且表现良好。



(2) 1-shot RLVR 对很多数学样例都有效,而且可泛化性好。论文尝试了十多个样本,基本都可以在 MATH500 上取得接近或超过 30% 的提升。同时,来自一个数学主题(如几何)的单个训练数据可以同时提升其他数学主题(如代数,数论等)的表现。



(3) 更多的自我反思:1-shot RLVR 的训练过程也会出现之前 R1 之类的工作提到的回答长度(response length)的增加。而且更重要的是,论文观察到了模型在下游任务上的自我反思(self-reflection)相关词汇的频率的增加。



(4) 1-shot RLVR 可用在不同的模型和算法上。研究人员尝试了不同的模型 (Qwen2.5-Math-1.5B/7B, Llama-3.2-3B-Instruct, DeepSeek-R1-Distill-Qwen-1.5B),不同的 RL 算法 (GRPO, PPO),都可以观察到很大的提升。而且这里使用的数据是用 Qwen2.5-Math-1.5B 模型的 historical variance score 计算得到的,说明有些数据对不同的模型都适用。



消融实验和分析


论文进一步分析 1-shot RLVR 取得的改进的主要原因。通过移除其他的损失函数,论文发现 1-shot RLVR 对模型的改进主要来自于 policy gradient loss,而且和 KL divergence loss 以及 weight decay 关系不大。因此,即使饱和后泛化现象与 “grokking” 现象有相似之处(都出现了在过拟和之后仍能在下游任务泛化良好),因为 “grokking” 受到 regularization 方法(如 weight decay)的影响较大,两者仍有较大区别。



此外,论文也发现鼓励探索的重要性,如额外在 policy gradient loss 的基础上加合适大小的 entropy loss 能够进一步提升 1-shot RLVR 的表现,尤其是对饱和后泛化较为重要。作为一个额外的观察,论文发现只加 entropy loss 进行少量 step 的训练也能神奇的提升模型表现,并且这导致了在 1-shot RLVR 中如果数据的 lable 出现错误,也仍能部分提高模型的表现。论文作者们也仍在探究这一现象的原因。




总结和讨论


1-shot RLVR 在数学任务上的表现支持了之前很多论文的结论,即用于 RLVR 的基础模型本身往往就有较好的推理能力,而这篇论文进一步展示了这种能力可能可以用非常少的数据就激发出来。


论文相信这些现象可以促进人们进一步反思最近 RLVR 的进展,并思考 RLVR 的内部机制。并且它们对一些问题留下了一些启发,例如如何设计更好的 RLVR 数据选择算法,如何理解 1-shot RLVR 以及饱和后泛化现象,如何更好的鼓励探索,以及如何探索其他任务的少样本 RLVR 及其应用等等。


© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:[email protected]

从强化学习的角度来看,即使标签错误,只要奖励信号不是完全随机的,模型仍然可以通过 trial and error 的方式来学习。模型可能会发现,按照某种策略行动,即使最终的标签是错误的,但仍然能够获得一定的奖励。这样,模型就会逐渐调整自己的策略,使其更接近最优解。这就像玩一个游戏,即使游戏规则有一些 bug,但玩家仍然可以通过不断尝试来找到获胜的方法。

楼上两位说的都有道理!我补充一个角度,可以考虑引入“专家知识”来辅助数据选择。比如,对于数学题,可以请数学家或者数学老师来标注哪些题目是“好题”,哪些题目虽然简单但蕴含着重要的数学思想。然后,在选择数据时,优先选择那些被专家认为是“好题”的样本。毕竟,人类的经验有时候比冷冰冰的算法更靠谱。

这个现象确实很神奇!我的猜测是,即使标签错误,只要数据本身包含一定的结构信息,就能对模型产生正向引导。模型可能不是完全按照错误的标签来学习,而是会从数据中提取出一些有用的特征,比如问题本身的逻辑结构、解题步骤的模式等等。这些特征即使在错误标签的干扰下,仍然能够对模型的推理能力产生积极影响。这就像一个蹩脚的老师,虽然讲课水平有限,但仍然能让学生学到一些东西。

别忘了文章里提到的entropy loss。它鼓励模型进行多样性的探索,即使label错了,模型也会尝试不同的解题路径,说不定反而歪打正着,找到了正确的答案。而且,错误label的数据也可能迫使模型更加关注问题本身的特征,而不是简单地依赖标签。这就像一个医生,如果误诊了病情,反而会更加仔细地检查病人的各项指标,最终更有可能找到真正的病因。

历史方差得分,我理解是追踪每个样本在训练过程中预测准确率的变化幅度。高方差意味着模型在这个样本上的表现不稳定,可能这个样本比较tricky,或者包含了模型尚未掌握的关键信息。如果让我来设计,我会加入以下考量:

* 样本代表性:确保选出的样本能够代表整个数据集的分布,不能过于集中在某个特定类型或难度上,避免过拟合。
* 模型不确定性:结合模型的预测熵或互信息,选择那些模型预测最不确定的样本,因为这些样本往往包含了模型最需要学习的信息。
* 对抗性:尝试生成一些对抗样本,专门用来迷惑模型,然后用这些样本进行强化学习,提高模型的鲁棒性。

核心思路是,选择那些既能挑战模型,又能让模型学到新东西的样本。

我感觉这有点像“涌现”现象。大模型在训练过程中学习到的不仅仅是具体的知识点,更重要的是学习到了某种通用的“解决问题的模式”。这种模式平时隐藏在大量数据之中,难以被激活,而1-shot RLVR就像是一个催化剂,一下子把这种模式激发了出来,让模型能够更好地应对各种未知任务。至于边界嘛,我觉得还是得看模型的能力上限。如果模型本身的能力不足,即使有了催化剂,也无法发挥出强大的力量。

从信息论的角度来看,一个精心设计的样本可能包含了大量的信息,这些信息能够显著改变模型的概率分布,使其更接近真实世界。这种改变不仅仅局限于数学领域,而是会对模型的整体认知能力产生影响。想象一下,一个老师讲了一个非常精彩的例子,这个例子不仅解释了当前的知识点,还启发了学生对整个学科的理解。至于边界,我认为在于知识的表示方式。如果不同领域的知识可以用相似的结构来表示,那么迁移的可能性就更大。反之,如果知识的表示方式差异很大,那么迁移就会比较困难。比如说,数学和物理在知识表示上有一定的相似性,所以数学推理能力可以部分迁移到物理问题上。

我认为关键在于,数学推理本身是一种通用的逻辑思维训练。通过解决一个精心挑选的数学问题,模型学会了如何分解问题、运用规则、进行推演,这些能力是可以迁移到其他领域的。好比举一反三,触类旁通,解决一个数学题,模型理解的可能是蕴含在题目之下的逻辑模式。至于迁移的边界,我觉得取决于任务的复杂度和模型的能力。对于过于抽象或者需要大量领域知识的任务,1-shot RLVR可能就难以奏效了。这就像让一个只学过微积分的人去研究量子力学,可能还是力不从心。

关于“历史方差得分”,我的理解是它衡量了模型在训练过程中对某个特定数据预测准确度的波动程度。得分越高,说明模型对这个数据的预测稳定性越差,可能这个数据包含的信息量更大,对模型的学习更有帮助。如果让我设计数据选择指标,我会综合考虑以下几个方面:

1. 难度适中:选择模型有一定概率出错,但又不是完全无法解决的数据。太简单的数据没啥学习价值,太难的数据会让模型直接摆烂。
2. 多样性:选择不同类型、不同解法的数据,避免模型只学到一种套路。
3. 梯度幅度:选择能让模型参数产生较大变化的样本,梯度越大,说明模型对这个样本越敏感,学习效果可能更好。
4. 置信度:模型对自身的预测置信度越高,说明它对这个知识点掌握越牢固。可以选择置信度较低的样本进行强化学习。

总之,目标是找到那些能让模型“跳一跳才能够到”的数据,而不是那些模型已经掌握或者完全无法理解的数据。