OpenAI 的 o1 系列和 DeepSeek-R1 的显著成功明确证明了大规模强化学习 (RL) 在引发复杂推理行为和显著增强大型语言模型 (LLM) 能力方面的力量。

然而,这些开创性的推理模型背后的核心训练方法往往隐藏在其技术报告中。最近的社区工作主要集中在数学推理上,而跨域泛化的挑战在很大程度上尚未得到探索。此外,标准的偏好优化强化学习 (GRPO) 训练受到常见问题的困扰,例如性能瓶颈、样本利用率低下以及在处理混合域数据集时难以培养专业推理技能。这些挑战使 LLM 的 RL 方法的有效扩展变得复杂。

为了解决这些限制,快手 Kwaipilot 团队的研究人员引入了一种新的强化学习框架:两阶段历史重采样策略优化 (SRPO)。这种创新方法旨在系统地解决上述多维度的培训挑战。该团队公开发布了一份技术报告,详细介绍了他们训练方法的复杂性,并且还开源了 SRPO-Qwen-32B 模型。

值得注意的是,这项工作标志着在数学和代码领域同时实现 DeepSeek-R1-Zero 级性能的第一个实例。通过利用与 DeepSeek (Qwen2.5-32B) 相同的基础模型并采用纯粹的强化学习训练方法,SRPO 在 AIME24 (50) 和 LiveCodeBench (41.6) 基准测试中取得了令人印象深刻的结果,超过了 DeepSeek-R1-Zero-32B 的性能。

更值得注意的是,SRPO 只需 R1-Zero 所需训练步骤的十分之一即可达到这种性能水平。

Vanilla GRPO 的挑战

在最初的探索中,Kwaipilot 团队对标准 GRPO 算法进行了试验。然而,他们很快就遇到了瓶颈,导致模型无法达到所需的 R1-Zero 性能水平。这些问题包括:

  • 跨域优化冲突(数学与代码):数学问题往往会引发更长、更详细的推理轨迹 (Long CoT),而代码数据对此的倾向较弱。直接混合这两种数据类型会导致冲突,从而导致两个域中的性能欠佳。
  • 由于类似的团队奖励而降低训练效率:GRPO 算法依赖于抽样组内非零奖励的方差来计算优势。当组内的推出产生几乎相同的奖励值时,计算出的优势接近于零。如果训练批次的很大一部分表现出这种现象,则有效梯度贡献将变得最小,从而大大降低训练效率。
  • 过早的性能饱和:GRPO 培训在基准评估中遇到了早期绩效平台期和奖励饱和。此问题部分归因于数据质量不足。当训练数据缺乏足够的复杂性或多样性时,特别是对于大量更简单的问题时,模型往往会保守地保持其在较简单任务上的性能,从而阻碍其开发具有挑战性问题所需的复杂而深入的推理的能力。

两阶段训练

为了解决数学域和代码域之间固有的响应长度冲突,Kwaipilot 团队实现了一个两阶段的训练范例:

  • 第 1 阶段:激发推理能力:这个初始训练阶段只关注具有挑战性的数学数据。主要目标是充分激励模型的测试时缩放,培养反射暂停、回溯和分步分解等功能。
  • 第 2 阶段:技能整合:在此阶段,将代码数据引入训练过程。在第一阶段建立的推理基础之上,这一阶段旨在进一步增强编码能力,同时逐步加强程序式思维、递归和工具调用能力。

训练策略的比较分析

分析了不同训练数据策略对响应长度的影响,揭示了以下见解:

  • 混合训练:使用数学和代码数据混合训练的模型显示响应长度增长有限,基准性能不佳。虽然数学问题会引发一些推理模式,但代码问题通常会导致简短、直接的响应,侧重于立即输出代码,只需进行最少的初步分析或规划。
  • 纯数学训练:仅根据数学数据进行训练导致响应长度稳定增加,并在数学基准测试中表现出色。至关重要的是,它培养了强大且可推广的推理能力;当面临编程任务时,该模型尝试进行详细的分步推理,包括细致的检查和重新审视数学问题解决的步骤。
  • 纯代码训练:虽然在代码基准测试中显示出改进的性能,但显式推理行为的发展是微乎其微的,并且事实证明很难实现响应长度的显著增加。与纯数学训练相比,对代码和数学问题的回答明显更短,代码解决方案通常是直接生成的,无需大量的逐步推理或初始分析。
  • 阶段性训练:Kwaipilot 团队提出的两阶段训练方法在数学和编程领域都产生了优异的结果。该模型始终如一地为数学问题生成详细的分步推理,并为编程任务生成结构化推理模式。值得注意的是,出现了复杂的行为,例如模型自发地利用代码来辅助数学推理。

历史记录重采样

Kwaipilot 团队观察到,在训练的中后期阶段,一批中近 50% 的抽样组产生了相同的奖励。当模型在更简单的问题上始终取得成功时,通常会发生这种情况,从而导致最小的奖励方差和无效的梯度更新。

为了解决这种低效率问题并提高梯度信号的质量,他们引入了 History Reampling。在训练期间,他们记录了每个 epoch 内所有推出的奖励结果。在一个 epoch 结束时,他们根据以下标准重建下一个 epoch 的数据集:

  • 过滤过于简单的样本:所有推出都导致正确答案的样本被排除在外,因为它们没有为策略改进提供信息信号。
  • 保留信息丰富的样本:保留具有不同结局 (正确和错误) 或所有错误结局的样本。这些样本产生了正的奖励方差,确保了非零优势和有效的梯度信号。此外,还保留了当前 epoch 中所有转出都不正确的困难样本。其基本原理是,这些最初具有挑战性的问题对于更新的策略来说可能会变得相对容易,从而在随后的训练中产生有效的梯度。这种策略与课程学习的原则相一致,逐渐使模型平均暴露在越来越具有挑战性的样本中,以提高训练效率。

与 DAPO 中提出的动态采样方法相比,历史重采样显著提高了计算效率,并导致响应长度增长更稳定。

数据

Kwaipilot 团队对公开可用的 Code&Math 数据集进行了细致的数据清理和过滤。他们应用启发式规则来过滤掉不相关的 URL、格式干扰,并确保原始数据中核心字段(问题和答案真实情况)的完整性。遵循 PRIME 的数学数据清理方法,他们删除了多部分问题、纯基于证明的问题以及需要图像或表格理解的问题。对于代码数据,他们排除了依赖于特定环境、文件 I/O 或网络交互的问题,重点关注算法逻辑。

 
 

在数据摄取之前,他们对数学和代码问题进行了正确性验证,以确保答案的准确性和可解性,并丢弃那些解决方案不正确或模棱两可的答案。随后,他们评估了每个问题的难度,根据通过率 (Pass@k) 将它们分为简单、中等和困难级别。

实验结果

本节详细介绍了使用 SRPO 方法获得的实验结果。Kwaipilot 团队专注于观察训练期间奖励和指标(如响应时长)的变化。

培训过程

上图说明了 SRPO 训练期间的完整奖励曲线和响应长度曲线。在最初的奖励增长开始趋于平稳后,训练过渡到第二阶段。在第二阶段开始时,由于模型之前缺乏代码训练,整体奖励下降,随后在后续训练中奖励稳步增加。集成代码数据并没有显著增加响应长度,这与他们的预期一致。同时,基准测试结果表明,该模型的数学和编码能力均持续稳定地提高,证明了新方法的有效性。

具体来说,历史重采样确保梯度更新在每个训练步骤中保持有效,直接增加了信息梯度的比例。这种提高的抽样效率导致了奖励的稳定增长,清楚地展示了重采样策略所实现的训练效率的提高。

推理行为

Kwaipilot 团队确定了三种具有代表性的反射模式:复查、犹豫和探索。他们对包含这些模式的响应进行了统计分析,并记录了每种模式的平均响应长度。在 RL 训练过程中,他们观察到模型的自我反思、校正和回溯频率逐渐增加,这表明出现了 “自我验证” 能力。他们假设 RL 期间模型中类似于人类认知过程的“反射”的出现是策略优化过程产生的适应性行为。

他们还发现,该模型在解决数学问题时学会了自发地使用程序代码进行验证。它首先通过数学推理提供求解过程,然后主动编写程序代码来验证解决方案的正确性。这些实例证明了该模型利用程序思维进行自我纠正和多次尝试的能力,进一步表明在训练的后期阶段,该模型已经掌握了广泛的思维和各种基于代码的推理方法的综合应用来解决问题。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
意见
建议
发表
评论
返回
顶部