← 返回 2026-01-29

通过失败前缀条件化在饱和问题上训练推理模型 Training Reasoning Models on Saturated Problems via Failure-Prefix Conditioning

Minwu Kim, Safal Shrestha, Keith Ross 📅 2026-01-28 👍 7 2026-07-13 08:35
GRPO RLVR 大语言模型 强化学习 推理模型 课程学习

在已饱和问题上通过失败前缀条件化恢复学习信号

前置知识

RLVR (Reinforcement Learning with Verifiable Rewards)

RLVR 是一种利用可验证奖励来训练大语言模型推理能力的强化学习范式。与传统 RLHF 依赖人类偏好不同,RLVR 使用数学题等具有明确正确答案的任务,通过二元奖励(答对=1,答错=0)来训练模型。这种方法已在 DeepSeek-R1 等前沿模型中取得显著效果,使模型在 MATH、AIME 等数学竞赛基准上达到接近人类顶尖水平。

本文的核心问题——饱和问题——正是在 RLVR 训练过程中出现的。理解 RLVR 的基本流程(生成多个rollout、计算奖励、更新策略)是理解本文动机和方法的前提。

GRPO (Group Relative Policy Optimization)

GRPO 是一种常用的 RLVR 算法,其核心思想是对每个问题生成 N 个独立rollout,计算每个rollout的二元奖励 $r_i$,然后通过组内统计量计算优势值 $A_i = (r_i - \mu_r) / (\sigma_r + \epsilon)$,其中 $\mu_r$ 和 $\sigma_r$ 分别是组内奖励的均值和标准差。策略通过最大化加权对数似然来更新。当所有rollout都答对时,$\sigma_r = 0$,所有优势值 $A_i = 0$,梯度消失,训练停滞。

本文分析了 GRPO 在饱和问题上失效的数学原因,并在此基础上提出了失败前缀条件化方法来恢复学习信号。理解 GRPO 的优势计算机制是理解本文技术贡献的关键。

饱和问题 (Saturated Problems)

在 RLVR 训练中,当模型对某个问题的rollout准确率接近 1 时,该问题被称为饱和。具体来说,本文将rollout准确率超过 120/128(约 93.75%)的问题定义为饱和问题。在饱和问题上,绝大多数采样都会产生正确答案,错误rollout极其稀少,导致奖励方差极小,策略梯度趋近于零,模型无法从中获得有效的学习信号。

饱和问题是本文要解决的核心瓶颈。随着模型能力提升,越来越多的训练问题变得饱和,这成为阻碍 RLVR 继续提升性能的关键障碍。

前缀条件化 (Prefix Conditioning)

前缀条件化是一种修改模型输入上下文的技术。给定一个问题 q 和一个部分推理轨迹(即完整轨迹的前若干个token),前缀条件化将输入从原始问题变为问题后面拼接上这段部分轨迹。模型需要从这个前缀之后继续生成回答。通过这种方式,可以将模型的探索起点推到推理轨迹的某个中间状态,而不是每次都从头开始。

失败前缀条件化是本文的核心方法。通过在错误推理轨迹上进行前缀条件化,可以将模型暴露在更容易失败的推理状态中,从而恢复饱和问题上的学习信号。

Dr.GRPO

Dr.GRPO 是 GRPO 的一个变体,专门设计用于缓解响应长度偏差问题。在标准 GRPO 中,较长的响应可能因为包含更多token而获得不成比例的梯度更新。Dr.GRPO 通过修改损失函数来纠正这种偏差,使得不同长度的响应在训练中获得更公平的权重。本文使用 Dr.GRPO 作为所有实验的训练算法。

了解本文使用的具体训练算法有助于理解实验设置和结果的可复现性。

研究动机

随着 RLVR 技术的成功,大语言模型在数学推理任务上取得了显著进步。然而,这也带来了一个新的瓶颈:越来越多的训练问题变得饱和。具体来说,当模型在某个问题上的rollout准确率接近 1 时,几乎所有采样都会产生正确答案。在本文的实验中,使用 DeepSeek-R1-Distill-Qwen-1.5B 模型在 MATH 训练集上,7500 个问题中有 2147 个问题的rollout准确率超过 121/128(约 94.5%),属于饱和问题。在这些问题上,标准 GRPO 训练几乎无法产生有效的学习信号,因为所有rollout都答对时,奖励方差为零,优势值为零,策略梯度消失。即使偶尔出现错误rollout,由于奖励方差趋近于零,学习信号也非常微弱。这意味着,继续在这些问题上训练几乎不会带来任何性能提升。

本文的目标是本文的目标是解决 RLVR 在饱和问题上训练停滞的问题,而不是简单地收集更难的训练数据。作者希望找到一种方法,能够从现有的饱和问题中提取出仍然存在的学习信号,使模型能够在这些已解决的问题上继续提升。具体来说,作者希望通过修改训练时的探索策略,将模型的注意力引导到更容易失败的推理状态,从而恢复饱和问题上的训练效果。这种方法应该能够达到与收集新的中等难度问题相当的性能提升,同时不需要额外的数据收集成本。

与已有工作不同的是,本文的独特切入点在于认识到饱和问题的学习信号并没有被耗尽,而是难以访问。即使在rollout准确率接近 1 的问题上,错误的推理轨迹仍然存在于模型的响应空间中,只是在标准采样下极少被触发。作者提出了一个关键洞察:与其收集更难的问题(这既昂贵又越来越困难),不如改变现有饱和问题的探索方式,将探索起点从原始问题转移到失败倾向的推理状态。这与现有方法(如 DAPO 动态过滤、课程学习排序难度、RLVE 自适应控制难度)形成鲜明对比——现有方法要么过滤掉饱和问题,要么重新排序问题难度,而本文的方法则直接拯救饱和问题,从中恢复学习信号。此外,与 BREAD、POPE 等通过注入正确信息来辅助困难问题的方法相反,本文通过注入错误信息来增加简单问题的难度,形成了一种反向课程学习的范式。

核心方法

失败前缀条件化的核心直觉非常简单:与其让模型在饱和问题上反复生成冗余的正确答案,不如直接将模型暴露在更容易失败的推理状态中。具体来说,对于一个饱和问题,首先找到模型生成的罕见错误rollout,然后截取这个错误轨迹的前缀(即前一部分),将原始问题与这个错误前缀拼接作为新的训练提示。这样,模型需要从一个已经走偏的推理状态继续生成,大大增加了生成错误答案的概率,从而产生更强的学习信号。技术路线包括三个关键步骤:(1)从饱和问题中收集错误rollout;(2)通过扫描不同的前缀长度,选择使rollout准确率接近目标值 0.5 的前缀;(3)在这些前缀条件化的问题上进行 GRPO 训练。作者还探索了固定截断比例的简化变体,以及迭代更新前缀的扩展方法。

本文的核心创新在于将探索方向从正确路径转向失败路径。在标准 RLVR 中,模型从原始问题开始探索,由于饱和问题的特性,绝大多数探索都会沿着正确路径前进,产生冗余的成功轨迹。失败前缀条件化则通过注入错误推理的前缀,将探索起点推到推理轨迹的中间状态——一个更容易导致失败的状态。这种方法的本质区别在于:它不是通过增加问题难度来获取学习信号(如收集更难的问题),而是通过改变探索的起点来重新激活饱和问题的学习潜力。具体来说,对于一个rollout准确率约为 0.95 的饱和问题,标准采样下只有 5% 的概率遇到错误,而在前缀条件化下,通过选择合适的前缀长度,可以将准确率调整到约 50%,使得错误和正确的rollout各占一半,学习信号达到最大化。

方法步骤详情

失败前缀条件化的完整流程如下:第一步,识别饱和问题。给定策略和训练数据集,对每个问题生成 128 个独立rollout,计算rollout准确率。将准确率超过 120/128 的问题标记为饱和问题,构成饱和问题集。第二步,收集错误rollout。对每个饱和问题,从 128 个rollout中找到至少一个错误的rollout。在本文实验中,2147 个饱和问题(准确率 121-127/128)都有至少一个错误rollout可供使用。第三步,构造前缀集合。对每个错误rollout,截取其长度的 10%, 20%, ..., 90% 作为候选前缀,得到 9 个候选前缀。第四步,选择最优前缀。对每个候选前缀,构造前缀条件化提示,生成多个rollout估计前缀条件化准确率。选择使准确率最接近目标值 0.5 的前缀作为最优前缀。第五步,构造新训练集并训练。使用选中的前缀构造新训练集,然后在新数据集上进行标准 GRPO 训练。固定截断变体则跳过第四步的准确率估计,直接将每个错误rollout截取固定比例的长度。

技术新颖性

失败前缀条件化在技术上具有几个新颖之处。首先,它提出了一种反向课程学习的范式。传统课程学习(如 BREAD、POPE)通过注入正确信息来帮助模型解决困难问题,而本文的方法通过注入错误信息来增加简单问题的难度,这是一种全新的视角。其次,该方法充分利用了 RLVR 训练中已经存在的错误轨迹,而不需要额外的数据收集或人工标注。在标准 RLVR 中,这些错误轨迹通常被视为噪音而被丢弃,本文则将它们转化为有价值的学习资源。第三,通过精确控制前缀长度来调节学习难度是一个巧妙的设计。作者发现,性能对目标准确率的选择并不敏感(0.25 到 0.75 都能取得不错的效果),这进一步简化了方法的实现。最后,迭代更新前缀的扩展方法提供了一种持续学习的机制,能够在模型提升后重新激活饱和问题的学习潜力。

标准 GRPO 训练与失败前缀条件化训练的对比示意图
Figure 1: 标准 GRPO 训练与失败前缀条件化训练的对比示意图

实验结果

本文的实验结果表明,失败前缀条件化能够有效地从饱和问题中恢复学习信号。在五个数学推理基准测试上(MATH500、AMC12、AIME24、AIME25、HMMT25),基础模型的平均准确率为 40.6%,而使用失败前缀条件化(目标准确率 0.5)训练后,平均准确率提升至 44.5%,获得 +3.9 个百分点的提升。相比之下,标准 RLVR 在完整 MATH 训练集上训练仅达到 40.9%(+0.3),在相同饱和问题上直接训练仅达到 40.7%(+0.1),几乎没有任何改善。这证实了标准 RLVR 在饱和问题上的训练停滞问题。值得注意的是,失败前缀条件化(44.5%)甚至略微超过了使用相同数量的中等难度问题训练的结果(44.0%),尽管后者使用了来自 DeepScaleR 的更难数据集。这表明,失败前缀条件化可以从饱和问题中提取出与收集新问题相当的学习信号。在具体基准上,失败前缀条件化在 MATH500 上达到 86.6%(+3.1),在 AMC12 上达到 60.5%(+7.4),在 AIME24 上达到 33.1%(+4.7),在 AIME25 上达到 27.1%(+3.1),在 HMMT25 上达到 15.4%(+1.2)。这些提升在从最简单到最难的基准上都是一致的。此外,作者还发现,将失败前缀条件化数据与未饱和问题混合并不总是有益的,混合后仅达到 42.3%,低于单独使用失败前缀条件化(44.5%)。固定截断变体(gamma=0.5)达到 44.3%,仅略低于精确匹配目标准确率的方法(44.5%),表明精确的前缀难度校准并非必需。在误导推理恢复实验中,失败前缀条件化模型在面对错误前缀时表现出更强的鲁棒性,在 30% 前缀长度下,失败前缀条件化模型的准确率仅下降 6.5 个百分点(从 53.4% 到 46.9%),而基础模型下降了 12.0 个百分点(从 50.3% 到 38.3%)。迭代失败前缀条件化进一步将性能提升至 45.0%(+0.5),展示了持续改进的潜力。

数学推理基准上的性能对比
Table 1: 数学推理基准上的性能对比
查看结构化数据
任务指标本文基线提升
MATH500 准确率 (%) 86.6 83.5 (基础模型) +3.1
AMC12 准确率 (%) 60.5 53.1 (基础模型) +7.4
AIME24 准确率 (%) 33.1 28.4 (基础模型) +4.7
AIME25 准确率 (%) 27.1 24.0 (基础模型) +3.1
HMMT25 准确率 (%) 15.4 14.2 (基础模型) +1.2
平均 准确率 (%) 44.5 40.6 (基础模型) +3.9

局限与改进

本文存在几个明显的局限性。首先,失败前缀条件化需要从饱和问题中收集罕见的错误rollout,这引入了相当大的计算开销。在本文的实验中,需要为每个问题生成 128 个rollout来找到至少一个错误rollout,这比标准 RLVR 的 16 个rollout多了 8 倍的计算量。虽然作者提出了固定截断变体来减少前缀选择的开销,但错误rollout的收集本身仍然是一个瓶颈。其次,本文的实验仅使用了一个相对较小的模型(1.5B 参数),对于这个规模的模型,未饱和的训练数据仍然可用。然而,失败前缀条件化最相关的应用场景是前沿大模型,在这些模型上获取新的未饱和问题要困难得多。进一步的工作需要验证该方法在更大规模模型上的有效性。第三,如第 5 节所述,失败前缀条件化虽然提高了对误导性早期推理的鲁棒性,但可能会轻微降低对正确中间推理的遵循能力。当给定正确的前缀时,失败前缀条件化模型的准确率提升幅度小于基线模型(在 30% 前缀下提升 12.1 个百分点 vs 基础模型的 20.0 个百分点),表明这些模型更容易偏离正确的早期推理。第四,本文的实验仅限于单一模型和数学推理领域,需要在更广泛的模型家族、模型规模和任务领域上进行评估。最后,虽然作者展示了迭代更新前缀的潜力,但这种方法的长期效果和最优迭代策略仍需进一步研究。

独立分析的弱点

本文的一个主要弱点是计算开销问题。失败前缀条件化需要大量计算来收集错误rollout和估计前缀条件化准确率。在本文的设置中,每个问题需要生成 128 个rollout来识别饱和问题和收集错误rollout,而前缀选择还需要对每个候选前缀生成额外的rollout来估计准确率。这使得数据集构建的计算成本远高于标准 RLVR。改进方向包括:(1)开发更高效的错误rollout采样方法,例如使用重要性采样或温度调节来增加错误rollout的生成概率;(2)探索使用模型本身的不确定性估计来预测哪些前缀更可能产生接近 50% 的准确率,从而减少实际rollout的数量。另一个弱点是混合数据的效果不佳。将失败前缀条件化数据与未饱和问题混合后,性能反而下降(从 44.5% 降至 42.3%),这限制了方法在实际训练管道中的应用,因为在实际场景中通常需要使用所有可用数据。改进方向是研究更好的数据混合策略,例如动态调整混合比例或在不同训练阶段使用不同的数据组成。此外,失败前缀条件化对正确前缀的遵循能力有所下降,这是一个需要权衡的问题。改进方向包括在训练中同时使用正确和错误前缀,或者设计专门的正则化项来保持对正确推理的遵循。

未来方向

作者提出了几个未来研究方向。首先,开发高效的方法来从饱和问题中采样罕见的、在策略上的错误轨迹是一个重要的研究方向。目前的方法需要大量rollout来找到错误轨迹,这在计算上是昂贵的。其次,需要在更大规模的模型上验证失败前缀条件化的有效性。本文使用的 1.5B 参数模型相对较小,而该方法最相关的应用场景是前沿大模型,在这些模型上饱和问题更为普遍。第三,需要探索如何在保持恢复能力的同时,维持对正确中间推理的遵循。这可能需要设计更精细的训练策略,例如在训练的不同阶段使用不同类型的前缀。第四,可以在更广泛的任务领域上评估该方法,包括代码生成、逻辑推理、科学问题解决等。此外,基于本文的成果,可以延伸出几个研究方向:(1)探索自适应前缀选择策略,根据模型的当前状态动态调整前缀长度;(2)研究将失败前缀条件化与其他 RLVR 改进技术(如 DAPO、RLVE)结合的效果;(3)探索将该方法应用于在线学习场景,随着训练的进行持续更新前缀集合;(4)研究失败前缀条件化对模型泛化能力的影响,特别是在分布外问题上的表现。

复现评估

本文在可复现性方面做得较好。作者在论文中明确提到代码已开源(https://github.com/minwukim/training-on-saturated-problems),这大大降低了复现的门槛。实验设置也描述得比较详细:基础模型为 DeepSeek-R1-Distill-Qwen-1.5B,训练数据为 MATH 训练集(7500 个问题),评估基准包括 MATH500、AMC12、AIME24、AIME25 和 HMMT25。训练细节(16 个rollout、Dr.GRPO 算法、128 个rollout用于准确率估计)也有明确说明。然而,复现仍面临一些挑战:(1)计算资源需求较高,特别是用于准确率估计和错误rollout收集的 128 个rollout需要大量 GPU 计算;(2)论文提到的一些细节(如前缀长度扫描的具体实现、准确率估计的rollout数量)可能需要参考代码才能完全理解;(3)评估基准中的一些数据集(如 HMMT25)可能需要额外获取。总体而言,对于有足够计算资源的研究者来说,本文的复现难度为中等。