R1相关:RL数据选择与Scaling

本文介绍两篇对RL Scaling进一步探索的论文,都是关于数据方面的,结论有一定互补性。

LIMR

LIMR: Less is More for RL Scaling

GAIR-NLP/LIMR

来自GAIR的Paper,就在LIMO后几天发表,可以看出写的飞快。

简介

LIMR探讨的是RL的训练数据,而非RL算法。

已有工作缺乏训练数据Scale的研究,的确如此,现在更多还是在算法设计上。这就导致两个问题:

  • 没有明确的数据规模基准,只能靠反复试验,导致效率低,结果还不一定好。
  • 缺乏对样本数量如何影响模型性能的系统分析,导致难以分配资源。

于是就有下面这个基本问题:扩大 RL 训练数据是否真的是提高模型性能的关键,或者是否忽略了更基本的因素,比如样本质量和选择标准?什么真正决定了 RL 训练数据增强LLM推理能力的有效性?

本文挑战了一个假设:“扩展 RL 训练数据本质上可以提高性能”。证明了1389个样本效果要优于8523个(训练集大小)样本。要“选择”数据,而不是扩充数据

LIMO和s1还是研究的SFT,RL这方面确实是空白,LIMR正好补上了这个空白。发现并不是数据越多效果越好,这个结论倒是和LIMO一样。

所以本文的结论就是:精确的样本选择,而不是数据规模,可能是解锁增强推理能力的关键。

另外,LIMO和s1是在Qwen32B上做的实验,但是类似的结论在7B上不行!LIMR在7B上效果更好。因此,RL 可能更有效地增强数据稀疏场景中的推理能力,尤其对小模型来说,可能比SFT更有效

方法

首先,本文观察到这么一个现象:不同样本表现出不同的学习轨迹,RL中训练样本的价值不同,那些学习模式与模型整体性能轨迹互补的样本,往往在优化过程中更具价值。

接下来就是如何选择“有价值”的训练样本。本文提出自动定量方法LIM(Learning Impact Measurement)用于评估 RL 训练样本潜在价值。

使用模型的平均奖励曲线作为衡量样本有效性的参考:

ravgk=1Ni=1Nrik,k=1,,Kr_{\mathrm{avg}}^k=\frac{1}{N} \sum_{i=1}^N r_i^k, k=1, \ldots, K

rikr_i^k 表示样本i在epoch k的奖励,N是样本总数。

对每个样本,计算一个归一化的对齐分数:

si=1k=1K(rikravgk)2k=1K(1ravgk)2,i=1,,N\mathrm{s}_i=1-\frac{\sum_{k=1}^K\left(r_i^k-r_{\mathrm{avg}}^k\right)^2}{\sum_{k=1}^K\left(1-r_{\mathrm{avg}}^k\right)^2}, i=1, \ldots, N

si量化了样本的学习模式与模型的整体学习轨迹的吻合程度,分数越高吻合度越高。

实验

实验基本配置:

  • LIMR:si阈值卡0.6,选出1389条。
  • 随机1389条。
  • LINEAR(线性进展分析方法):根据样本在训练周期中持续改进的一致性来评估样本。虽然这种方法能够捕捉到逐步进展的样本,但它往往忽略了那些在初期快速提升后趋于稳定的有价值样本。使用θ = 0.7的阈值,共筛选出1189个样本。

Reward:

  • 答案正确:1分
  • 答案不对格式正确:-0.5分
  • 格式不对:-1分

配置:Qwen-Math-7B+PPO,rollout.n=8,temperature=1.2。

最终效果如下:

过程精度、回复长度、奖励如下所示:

回复长度只有LIMR呈现出明显的先降后升。

然后是和SFT的对比:

比LIMO好,不过这里也仅列出7B的模型,更小的模型上是不是依然有效还不得而知。

小结

LIMR证明了RL需要精挑细选的样本,而不是很多样本。我个人理解这个还是和激活有关,这些被挑选的数据分布正好能够更好地激活基座模型能力。这也是强化微调(RFT)的美妙之处。

ORZ

Open-Reasoner-Zero/Open-Reasoner-Zero: Official Repo for Open-Reasoner-Zero

这个名字有点意思;)

简介

ORZ主要Focus在Scaling上,具体来说是Base模型+RL的Scaling。另外发现:PPO+GAE(λ = 1, γ = 1)+基于规则的奖励函数(不需要任何 KL)足以Scale推理任务中的响应长度和性能。

在ORZ下,LLM经过训练可以在可验证的奖励下掌握各种推理技能,比如算术、逻辑、编程、常识推理等。

结果:在GPQA_DIAMOND任务上,Open-Reasoner-Zero-32B 略微超了 DeepSeek-R1-Zero-Qwen-32B,MATH500上差不多,AIME2024上差得有点多。

Scaling的结论:最显著的性能改进来自训练数据、模型大小和训练迭代(即计算)的Scaling,而不是算法设计的复杂性。

这个观点和LLM的Scaling一致,但我们看了LIMR知道数据可不一定。模型大小和训练迭代轮数我在自己的实验中也做了验证。

算法设计的复杂性应该是指不用设计格式奖励,直接看答案对不对。

RL Scaling

基本配置:

  • 基座:Qwen2.5-Base 7B/32B。
  • 数据:57K精心选择的问答对,包含STEM、Math和推理任务。

数据关注质量、数量和多样性:

  • 收集公开数学数据。
  • 合成推理任务数据。
  • 排除难以用规则奖励的问题(如多选、证明)。
  • 基于模型的过滤策略,通过启发式评估问题难度。具体就是使用 LLM 评估每个问题的通过率,去除通过率过高或为零的样本。
  • 基于 N-gram 和Embedding相似度的过滤方法去重,保持数据多样性。

奖励函数:只检查答案对不对,对了1分,不对0分。结果发现Base模型生成正确格式的概率也很高。

Base模型生成格式正确的回复我在实验中也做了验证。

RL(典型的PPO)算法:GAE计算每个Token的advantage。计算公式为:

A^t=δt+(γλ)δt+1++(γλ)Tt1δT1, where δt=rt+γV(st+1)V(st)\hat{A}_t=\delta_t+(\gamma \lambda) \delta_{t+1}+\ldots+(\gamma \lambda)^{T-t-1} \delta_{T-1}, \text { where } \delta_t=r_t+\gamma V\left(s_{t+1}\right)-V\left(s_t\right)

γ 是折扣因子,用来考虑未来回报的重要性。λ 是GAE的参数,用来平衡偏差与方差。较大的λ值趋向于更多地依赖蒙特卡罗估计(低偏差,高方差),而较小的λ值则更多依赖于TD方法(低方差,高偏差)。V是状态价值函数,一般来自critic模型。

GAE (Generalized Advantage Estimation) 是一种用于强化学习中的优势估计方法,它旨在减少优势估计中的方差,同时保持尽可能低的偏差。它结合了时间差分(TD)误差蒙特卡罗(MC)方法,通过平衡偏差和方差,在策略优化过程中提供更精确的信号。

蒙特卡罗(Monte Carlo, MC)方法在强化学习中通常指的是基于完整轨迹(episode)计算回报的方式。这意味着,蒙特卡罗方法不会使用任何基于价值函数的估计,而是直接利用整个轨迹的真实奖励来计算每个状态的回报。

TD方法则仅依赖一步 TD 误差进行更新。

有如下发现:

  • GAE 参数在 PPO 的推理任务中起着关键作用。λ=1.0、γ=1.0最理想。
  • 一个简单的基于规则的奖励函数不仅足够,而且是最佳的,即使Base模型也能很快达到所需的格式,说明格式很简单,不需要复杂的奖励设计。
  • 不依赖基于KL的正则化技术实现了稳定训练。
  • Scaling数据量和多样性对ORZ至关重要。

关于GAE参数的讨论:

  • 当 γ=1.0时,意味着未来所有的奖励都被同等对待,不会衰减。表示考虑整个未来回报,而不是更看重短期奖励。
  • 当 λ=1.0时,GAE 退化为蒙特卡罗方法,即完全依赖未来真实奖励来估计优势值。这种方式虽然无偏,但可能有较大的方差。当 λ=0.0时,GAE 退化为时间差分(TD)方法,仅使用一步 TD 误差进行估计,虽然方差较小,但会有一定的偏差。
  • 这种设置意味着:完全依赖最终回报计算优势,适用于环境较稳定、奖励延迟较长的任务,例如推理任务或策略规划任务。在短期奖励信息不可靠的情况下可能更稳定。

实验

配置:

  • 每个Prompt生成64个回复。
  • Tempreture、Top-P均为1。
  • Policy采用严格的on-policy优化,即每次生成响应都更新一次参数。
  • Critic对off-policy不敏感(可以利用历史经验进行更新,而不仅仅依赖于当前策略生成的数据),每次迭代执行 12 次优化。

结果

Acc和响应长度一路增加,尤其是32B模型,比R1-Zero少5.8倍的训练步骤达到相同长度,300步时长度激增。

质量分析

统计反思响应(带有类似 wait、recheck、retry、alternatively、however等反思词)数量,并计算正确反思(响应包含反思词且最后答案正确)响应的长度。

如下图所示,正确反思响应长度始终超过平均响应长度,说明包含反思模式的响应利用更多的“思考时间”来获得正确答案。

另外,在680步时能观察到一个同步加速现象,在其后的响应中也同时观察到了定性的更明显的反思模式。

消融

  • GAE的λ参数:λ=1.0 在训练稳定性和最终表现方面表现最佳。
  • KL:去除 KL Loss 和 KL Penalty 能得到最佳的训练稳定性和最终表现。
  • Data Scale:数据量越大效果越好。

小结

ORZ的结论看起来虽然和LIMR不一样,但其实还是分布和激活问题,两者并无冲突。数据量大(Scaling)了,自然更有可能遇到能激活的样本。

比较有意思的是KL。我们知道,PPO是需要KL约束的,作为惩罚项加在损失函数上,而GRPO则直接把KL作为优化目标的一部分。不过它们的作用类似,都是用来控制新旧策略之间的差异,避免更新过大导致训练不稳定。

ORZ的发现是不是意味着LLM更加稳定些,PPO中KL只是约束项,影响并没有那么明显。事实上,GRPO好像也有类似的情况,即可以直接去掉KL。这里可能还需要更多实验探索。

总结

总的来说,这两篇论文都是R1-Zero的后续尝试,都是Base+RL的配置。只不过LIMR关注“选择”数据达到效果,而ORZ则通过Scaling达到效果。另外,ORZ简化了奖励函数设计,去除了KL惩罚,这些都相应地简化了训练流程。