过去用 pass@k 得出的「RL 只是把 base 已有的高奖励解采样得更高效」这一结论,可能受限于两个实验条件:训练通常只有几百步,且集中在数学这类已经被反复训练过的领域。 这篇论文把数据扩到 5 个领域、把训练拉到 2k+ 步,并用 KL 正则和周期性参考策略重置让长训练不崩。 结果是:在某些任务上,base 采样 256 次都得不到的解,RL 后能稳定采到;但在数学上,pass@1 涨了,pass@k 反而略降。
争议的核心不是「RL 有没有用」,而是它教会了 base 不会的解,还是只把 base 分布里已有的正确解采样得更高效。 若只看短训练、单领域的 pass@k,后者很容易成立。
论文的判断是:此前的负面结论来自方法约束,不是 RL 的上限。ProRL 用 136K 五领域数据、DAPO 的解耦裁剪与动态采样、KL 正则,以及周期性的 reference policy reset,把训练撑到 2k+ 步、约 16k GPU 小时。
最硬的证据来自高 k 采样:在 OOD 任务 boxnet 上,base 的 pass@k 在 256 次采样内全为 0;final 在 Figure 5 的 pass@1 是 0.077、pass@256 是 1.000,Table 3 的连续奖励是 7.91;dice 也从全 0 到 100%。
论文据此认为,这些解不在 base 的高概率区域。
但边界不是普遍外扩。math 上 final 的 pass@1 从 0.844 升到 0.918,pass@256 却从 0.990 降到 0.988;Figure 3 还给出 base 初始能力与增益的负相关(R²=0.879)。论文的结论应读成「在部分任务、部分采样预算下能外扩」,不是「RL 一定扩边界」。
先分清两种主张:RL 是「放大器」还是「探索器」;再看到底用什么证据区分它们。
「放大器」的意思是:base 模型的输出分布里已经包含正确解,RL 只是提高它们的概率,让 pass@1 变高;把采样次数 k 拉大,RL 模型不会超过 base。「探索器」的意思是:训练能生成 base 几乎采不到的新解,因此高 k 下也能超过 base。
这两种主张在 pass@k 上给出不同的可检验预测。问题在于,高 k 采样很贵:论文为每个 prompt 采 256 次,并且因为算力限制,只从 Reasoning Gym 的 96 个任务里随机选了 18 个重跑(§4)。如果只采到 16 或 32 次,就很容易把「还没采到」误判成「不存在」。
论文引用的负面结果大多在几百步内停止(§1 称 [13] 通常不超过数百步)。短训练下,策略还没离开 base 的高概率区域,pass@k 自然看不出新解。
只练数学,等于在 base 已经被预训练/后训练反复覆盖的领域里打转。论文认为这会限制探索,让「RL 只放大」的结论更容易出现。
论文由此提出一个更长的因果链:训练不够久 → 策略没离开 base 邻域 → pass@k 看起来没外扩。要验证它,必须同时改两件事:把训练拉长,把任务铺开;而这两件事都会把训练推向熵坍塌和不稳定。方法部分就是围绕「怎么撑住」展开的。
已有工作提供了两套可直接复用的组件,但都没有同时解决「长」和「多样」。
论文把 [13]–[15] 的结论概括为:RL 训练后的模型没有获得 base 之外的新推理能力;有些任务上 pass@k 不升反降。论文不否认这些观察,而是指出它们的实验条件:数学占比过高、训练步数通常只有几百步(§1)。
GRPO 去掉 value model,用组内分数做 baseline;DAPO 再加解耦裁剪和动态采样。这些组件能延缓熵坍塌,但论文认为它们本身不足以支撑 2k 步——还需要显式的 KL 正则和参考策略重置(§2.3)。
ProRL 直接复用了 DAPO 的两项设置。第一是解耦裁剪:下界和上界分开,上界放得更宽,让低概率 token 也有机会被抬起来:
第二是动态采样:把组内准确率为 1 或 0 的 prompt 过滤掉,因为这两类样本给不出组内相对优势。留下来的都是「有对有错」的中间难度题,训练信号更密(§2.3)。
DAPO 的组件让短程训练更稳;但论文观察到,随着训练推进,KL 项会在损失里越来越大,策略更新幅度被压小,验证分数停滞。要跨过这个平台,必须让参考策略「跟着走」——这就是 reference policy reset 的动机(§2.3.1)。
ProRL 不是新算法,而是在 GRPO 上叠了一套能撑住长训练的约束;核心是最后一件事。
基础算法仍是 GRPO。对每个 prompt 采一组回答 τ,用组内奖励的均值和标准差算优势,再做带裁剪的策略梯度:
在这之上,ProRL 加了三层稳定器:
εlow=0.2、εhigh=0.4。上界放宽后,原本概率很低的 token 也有机会被抬高,探索不会在早期被封死。
准确率 1 或 0 的 prompt 对组内优势没有贡献,直接过滤。训练信号始终落在「有对有错」的区域。
在当前策略和参考策略之间加 KL 惩罚,既保熵,也防止策略为了短期奖励漂得太远。
关键在于:KL 项会随训练变大。论文的原话是「KL term may increasingly dominate the loss, leading to diminishing policy updates」。这时候继续训练,策略几乎动不了,验证分数停在平台上。ProRL 的处理不是去掉 KL,而是周期性 hard reset:
把参考策略 πref 直接重置为当前在线策略 πθ 的一个较新快照,同时重新初始化 optimizer states。这样 KL 项从「旧锚点」切换到「新锚点」,策略又能继续更新,而 KL 正则仍然保留(§2.3.1)。
论文把重置触发条件写成「验证指标明显退化或提升停滞」;重置不仅是恢复稳定性,也提供了一个调整超参、加数据、改 reward shaping 的窗口(Appendix E)。
为什么不能只靠温度?论文说提高 rollout 温度只能推迟熵坍塌,不能阻止熵继续下降;他们确实用了 1.2 的高温,但它只是延缓项之一(§2.2.1)。真正的长程支撑来自裁剪 + 动态采样 + KL + reset 的组合。
这一节回答「怎么训、代价多大」:数据怎么配、每步怎么算、8 个 run 各自改了什么。
训练集共 136K 条,覆盖五个领域,每条都有可验证的奖励信号(二值或连续):
| 领域 | 奖励 | 数量 | 来源 |
|---|---|---|---|
| Math | Binary | 40k | DeepScaleR Dataset |
| Code | Continuous | 24k | Eurus-2-RL Dataset |
| STEM | Binary | 25k | SCP-116K |
| Logical Puzzles | Continuous | 37k | Reasoning Gym |
| Instruction Following | Continuous | 10k | Llama-Nemotron |
| 合计 | 136k |
训练设置(§3.2):用 verl 做 RL 训练;每个 prompt 采 n=16 条回答,上下文上限 8096,采样温度 1.2;batch 256、mini-batch 64,也就是每次 rollout 做 4 次梯度更新;AdamW,恒定学习率 2×10−6;4 个 8×H100-80GB 节点(共 32 张),全程约 16k GPU 小时。
训练不是一条固定超参跑到底,而是 8 个 run 的顺序拼接。按 Appendix E,可以归纳成 6 个阶段。点下面的阶段看每一步改了什么:
代价也要说清楚:约 16k GPU 小时、多次 hard reset、以及每阶段重新调参,意味着这不是一个「设好超参就跑」的配方。Appendix A 把「计算资源」和「训练过程复杂性」都列为明确限制。
奖励侧还有两个工程细节:代码按通过的测试用例比例给连续奖励,编译失败、语法错误或超过 5 秒总超时直接记 0(Appendix D.2);数学和 STEM 是二值奖励,逻辑谜题和指令遵循用规则 verifier 的连续分数(Appendix D)。这些条件决定了后面所有数字的口径。
把数据、rollout、奖励、策略更新和重置画在一起,才能看出「长训练」到底长在哪。
流程里有两条回路。第一条是常规的 rollout → reward → update → 再 rollout;第二条是验证监控回路:AIME2024、Codeforces、GPQA-diamond、IFEval、graph_color 组成 blended validation set,一旦指标明显退化或平台化,就触发 hard reset。重置后不仅参考策略更新,optimizer 状态也重新初始化;这同时给了一个调整数据配比、reward shaping 和超参的窗口(Appendix E)。
所以「2k 步」不是一次连续优化,而是多次「训练—监控—重置—再训练」的拼接。理解这一点,才能理解为什么同一个 final checkpoint 在不同任务上会同时出现「边界外扩」和「边界收窄」。
先看主表,再用可切换的 pass@k 面板看「外扩」和「收窄」同时存在。
| 模型 | Math avg | Code avg | GPQA | IFEval | Logic avg |
|---|---|---|---|---|---|
| DeepSeek-R1-Distill-Qwen-1.5B | 44.45 | 23.08 | 15.86 | 44.05 | 4.24 |
| Nemotron-Research-Reasoning-Qwen-1.5B | 60.14 | 37.49 | 41.78 | 66.02 | 59.06 |
| DeepSeek-R1-Distill-Qwen-7B(参考) | 63.19 | 41.39 | 35.44 | 58.01 | 28.55 |
按上表逐列做减法,ProRL 相对 base 的点差是:数学 15.7 个百分点(60.14−44.45,pass@1)、代码 14.4(37.49−23.08,pass@1)、GPQA 25.9(41.78−15.86,pass@1)、IFEval 22.0(66.02−44.05,连续奖励)、逻辑 54.8(59.06−4.24,连续奖励)。这里统一用「个百分点」,不是相对百分比;论文 §3 和笔记里的「+15.7% / +14.4%」按表复算就是这些点差。
与 7B 参考模型比,结论要分领域看:GPQA(41.78 vs 35.44)、IFEval(66.02 vs 58.01)、逻辑(59.06 vs 28.55)高于 7B;数学平均(60.14 vs 63.19)和代码平均(37.49 vs 41.39)仍低于 7B。论文的「matches or surpasses」应理解为部分基准,而不是所有列。
| 模型 | acre | boxnet | game |
|---|---|---|---|
| DeepSeek-R1-Distill-Qwen-1.5B | 5.99 | 0.00 | 3.49 |
| DeepSeek-R1-Distill-Qwen-7B(参考) | 20.21 | 1.71 | 12.94 |
| Nemotron-Research-Reasoning-Qwen-1.5B | 58.57 | 7.91 | 52.29 |
boxnet 是最能说明问题的一列:Table 3 的连续奖励从 base 0.00、7B 参考 1.71 到 final 7.91;在 Figure 5 的 256 次采样里,base 的整条 pass@k 曲线都是 0,final 的 pass@1 是 0.077、pass@256 是 1.000。两个口径不要混:Table 3 是 16 次采样的连续奖励均值,Figure 5 是 pass@k。dice 也类似:base 全程 0,final 从 pass@1 0.390 升到 pass@256 1.000(Figure 4)。acre 与 game 的连续奖励点差分别是 52.6(58.57−5.99)和 48.8(52.29−3.49)。
切换任务、拖动 k,读三个模型在同一采样预算下的成功率。注意:这是直接查表,不是拟合;曲线只连接图里的 9 个离散 k 点。
四个面板对应三种形态:boxnet / dice 是「base 在 256 次内为 0,final 到 100%」;codecontests 是「final、intermediate、base 三层都分开」的持续增益;math 是「pass@1 涨、pass@256 略降」的收窄。论文把 Figure 4 的 9 个面板归为 Diminish / Plateau / Sustained 三类,并明确指出:数学等 base 本来就很强的任务,pass@128 可能下降。
覆盖:Figure 4 的 math、codecontests、dice 三个面板,以及 Figure 5 的 boxnet,共 4 个任务、每个 9 个 k 点(1/2/4/8/16/32/64/128/256)。
未覆盖:Figure 4 的另外 6 个面板(deepcoder_livecodebench、letter_counting、gpqa_diamond、maze、palindrome、taco),以及 appendix 里的其余 pass@k 图。曲线以直线连接离散点,未做平滑、拟合或误差棒。
手算 1 · boxnet,k=16:k 列表 [1,2,4,8,16,32,64,128,256] 中 16 的索引是 4(从 0 起)。final[4]=0.600,intermediate[4]=0.388,base[4]=0.000。final − intermediate = 0.212,即 21.2 个百分点。
手算 2 · math,k=256:索引 8。final[8]=0.988,intermediate[8]=0.982,base[8]=0.990。final − base = −0.002,即 −0.2 个百分点。
标准差口径:本交互是确定性查表,不做重复采样,因此不涉及 ÷N 或 ÷(N−1)。原图每个点是 256 次采样的 pass@k 估计,图上未画误差棒。
Figure 3 左图把每个任务放在「base pass@128」和「pass@128 增益」两轴上,线性回归的 R²=0.879:base 越弱,RL 带来的边界增益越大;base 越强,增益越小,甚至为负。右图进一步用 creativity index 对 DOLMA 做重叠度分析:增益小的任务,base 回答与预训练语料的重叠度更高,论文据此认为它们更像「已经见过」。
这也解释了为什么 Table 1/2/3 的「全线分数上涨」不能直接推成「全线边界外扩」:pass@1(或连续奖励)只说明首答更准,pass@k 才说明解空间有没有变宽。数学是后者的反例。
§1 写的是数学 14.7、代码 13.9、STEM 25.1、指令遵循 18.1;§3 写的是数学 15.7、代码 14.4、STEM 25.9、指令遵循 22.0。按 Table 1–3 复算是 15.69、14.41、25.92、21.97 个百分点。本页采用表内可复算的点差;两处原文数字并列在此,不做取舍。
把论文自己的限制和数据的边界放在一起,才知道什么时候不该用这套结论。
所有实验基于 DeepSeek-R1-Distill-Qwen-1.5B。论文在 Appendix A 明确写:方法能否扩展到更大模型仍不清楚,参数变大后计算需求会更突出。
约 16k GPU 小时、8 个 run、多次 hard reset 和逐阶段调参。Appendix A 把计算资源和训练过程复杂性都列为限制;这不是一个轻量配方。
训练和评测都依赖可验证奖励。开放、模糊、没有明确对错的任务不在覆盖范围内;论文在 Appendix A 也承认训练集只是可能推理任务的一个子集。
Table 5 的 Reasoning Gym 连续奖励里,arc 从 1.53 到 2.52、code 从 1.22 到 29.84、cognition 从 6.47 到 40.16、games 从 2.34 到 26.38;论文仍说模型在这些更难的类别上「fails to make meaningful progress」,可能需要额外冷启动数据。
还有一个证据强度问题:pass@256=0 只说明这 256 次采样里没有成功,不能证明该解在 base 分布中的概率严格为 0。论文用「fails to produce any correct solutions regardless of the amount of sampling」来描述这些任务,但实际可核查的测量上限是 256 次;更高 k 或不同温度下是否仍然为 0,论文没有给出。推断(依据:§4 只报告 256 次采样,未给全分布证明)因此,把结果读成「base 绝对不会」比读成「base 在 256 次预算内采不到」更强。
同理,「RL 发现了全新的推理路径」是一个操作性结论:它由 pass@k 超过 base、creativity index 更高、OOD 任务提升共同支撑,而不是对解空间的穷举证明。数学上的 pass@k 收窄也提醒:RL 既可能外扩边界,也可能把分布压窄;方向取决于 base 的初始能力和任务类型。
一句话:ProRL 证明的是「在部分任务、部分采样预算下,长程 RL 能把 base 采样不到的解变成可采样」;它没有证明「RL 一定扩边界」,也没有证明「扩出来的边界能迁移到所有领域」。用这套方法前,先确认你有可验证奖励、能承担长训练成本,并且接受它在强 base 任务上可能收窄。