现代语言模型越来越多地在答案可以自动验证的任务上进行“再训练”:数学、编程、逻辑。这种方法被称为RLVR——基于可验证奖励的强化学习。在用于此类微调的算法中,GRPO尤为突出:它简单、不需要单独的批评者模型,并且扩展性良好。然而,最近的一篇预印本(arXiv:2605.12969)提出从对比的角度审视GRPO,并表明其目标函数远非理想。作者——张峰及其合著者——不仅批评了现有方法,还提出了一种名为ConSPO的替代方案。
为什么GRPO成为RLVR的事实标准
像PPO这样的经典方法首先训练一个批评者来评估每个动作的优势。在RLVR中,这种批评往往多余:我们已经有了可验证的结果,可以将答案分为正确和错误。GRPO直接利用了这一点。针对一个提示,模型生成多个答案变体——即rollout,然后每个rollout从验证器获得一个分数,优势则根据该组内的相对位置计算。这种方案降低了计算成本并简化了后训练,因此在实际中得到了广泛应用。
但正如作者所示,GRPO也有其隐藏的一面。如果审视该算法的数学原理,它实际上是在训练模型区分“好”和“坏”答案:最大化已验证的正负rollout分数之间的期望差距。这是一个经典的判别式任务。正是从这个高度,才能看出为什么当前的GRPO目标并不理想。

阻碍训练的两个GRPO局限
在对GRPO的对比性重新表述中,研究人员指出了内嵌于目标函数中的两个系统性局限。
替代评分与似然不一致
模型生成答案时依赖于token序列的概率。但GRPO在更新策略时,并不是直接优化这些概率,而是基于clipped ratios——新旧策略的受限比率——的替代函数。实际上,用于正负样本的“分数”并非真实的序列对数似然,而是其他量。这就产生了不一致:算法优化的目标与真正决定生成过程的东西并不匹配。这可能导致不稳定性或数据利用不充分。
信用分配不依赖于当前的区分难度
第二个局限涉及GRPO如何在rollout之间分配更新。算法并不关注当前正负样本在分数上的差异有多大。如果一个“负样本”与正样本非常接近,而另一个相距很远,GRPO对它们的处理几乎相同。这种对分数不敏感的信用分配意味着模型不会聚焦于最令人困惑、尚未很好区分的样本对。结果,训练可能真的在简单样本上“原地踏步”,而忽略了真正的难点。

ConSPO:面向策略的对比目标函数
为了消除这两个局限,作者提出了ConSPO方法——序列层面的对比策略优化。顾名思义:GRPO被重新理解为一种对比学习,但带有若干重要修正。
首先,ConSPO回归了正常的评分方式:使用按长度归一化的序列对数似然,而非替代量。这更好地与生成过程保持一致,消除了似然错位评估的问题。
其次,该算法在同一组内明确地将已验证的正向rollout与负向“干扰项”进行对比。策略更新由一个类似InfoNCE的组级函数驱动——这是对比学习中的标准技巧。该函数会自动增强那些正样本尚未与负样本充分分离的样本对的梯度,而高分的负样本则获得更多关注。由此解决了信用分配不敏感的问题。
第三,ConSPO采用了课程式调度的间隔(curriculum-scheduled margin)。用于分隔正负样本的间隔随着训练逐步收紧。这防止模型止步于已有成果:它首先处理容易的差异,然后被迫将区分推进到越来越精细的边界。

结论与展望
作者在各种条件下以及具有挑战性的推理基准上验证了ConSPO。结果表明,新方法稳定地超越了强基线方法。这对社区来说是一个重要信号:如果我们将RLVR视为对比学习任务,而不是仅仅作为相对优势的优化,那么熟悉的GRPO目标是可以被改进的。
当然,一篇预印本并不能终结这个话题。但所提出的视角提供了一个新的分析工具:研究者不再将GRPO视为理所当然,而是可以将其分解为清晰的对比组件,并逐一改进。对于实践者来说,这意味着后训练武器库中又多了一个强大的方法,尤其是在验证器提供明确二元信号的场景中尤为宝贵。



