AI个人学习
和实操指南
阿里绘蛙

复现DeepSeek-R1:8K数学示例助力小型模型通过强化学习实现推理突破

Github: https://github.com/hkust-nlp/simpleRL-reason

 


引言

-1

从Qwen2.5-Math-7B基础模型开始的Qwen2.5-SimpleRL-Zero训练的动态变化,没有进行SFT或使用奖励模型。平均基准准确率和长度基于8个复杂的数学推理基准。我们观察到在初始阶段长度减少,因为我们发现Qwen2.5-Math-7B基础模型倾向于在响应中同时生成语言和代码,导致输出冗长。这种默认模式在RL过程中很快被抑制,模型学会了以更合适的格式输出,然后长度开始定期增加。在仅经过几次训练步骤后,我们也经历了DeepSeek-R1论文中描述的“顿悟时刻”——模型响应中出现了自我反思。

 

许多研究人员正在探索通往学习o型模型的可能路径,例如蒸馏、MCTS、基于过程的奖励模型和强化学习。最近,DeepSeek-R1Kimi-k1.5在通往这一目标的道路上展示了一个极其简单的配方,使用简单的RL算法来学习出现的长时间链式思维(CoT)和自我反思模式,并取得了强大的结果,没有使用MCTS和奖励模型。然而,他们的实验是基于大规模RL设置中的巨大模型。目前尚不清楚小型模型是否能够表现出类似的行为,需要多少数据,以及与其他方法相比定量结果会如何。这篇博客复制了DeepSeek-R1-Zero和DeepSeek-R1对复杂数学推理的训练,从Qwen-2.5-Math-7B(基础模型)开始,仅使用来自原始MATH数据集的8K(查询,最终答案)示例进行基于规则的奖励建模的RL。我们惊讶地发现,仅使用8K个MATH示例就能将这个7B基础模型提升到如此程度,而没有任何其他外部信号:

所有结果均为pass@1准确率

AIME 2024 MATH 500 AMC Minerva Math OlympiadBench Avg.
Qwen2.5-Math-7B-Base 16.7 52.4 52.5 12.9 16.4 30.2
Qwen2.5-Math-7B-Base + 8K MATH SFT 3.3 54.6 22.5 32.7 19.6 26.5
Qwen-2.5-Math-7B-Instruct 13.3 79.8 50.6 34.6 40.7 43.8
Llama-3.1-70B-Instruct 16.7 64.6 30.1 35.3 31.9 35.7
rStar-Math-7B 26.7 78.4 47.5 - 47.1 -
Eurus-2-7B-PRIME 26.7 79.2 57.8 38.6 42.1 48.9
Qwen2.5-7B-SimpleRL-Zero 33.3 77.2 62.5 33.5 37.6 48.8
Qwen2.5-7B-SimpleRL 26.7 82.4 62.5 39.7 43.3 50.9

Qwen2.5-7B-SimpleRL-Zero是从基础模型直接进行简单的RL训练,仅使用8K个MATH示例。与基础模型相比,它在平均上实现了近20个绝对点的增长。与使用相同8K数据SFT的Qwen2.5-Math-7B-Base相比,RL享有更好的泛化能力,绝对上高出22%。此外,Qwen2.5-7B-SimpleRL-Zero在平均上超过了Qwen-2.5-Math-7B-Instruct,并且与最近发布的Eurus-2-7B-PRIMErStar-Math-7B(它们也基于Qwen-2.5-Math-7B)大致相当。这些基线包含更复杂的组件,如奖励模型,并且使用了至少50倍的高级数据:

不同方法的比较数据

Qwen2.5-Math-7B-Instruct rStar-Math-7B Eurus-2-7B-PRIME Qwen2.5-7B-SimpleRL-Zero
Base Model Qwen2.5-Math-7B Qwen2.5-Math-7B Qwen2.5-Math-7B Qwen2.5-Math-7B
SFT Data 2.5M (open-source and in-house) ~7.3 M (MATH, NuminaMath, etc.) 230K 0
RM Data 618K (in-house) ~7 k (in-house) 0 0
RM Qwen2.5-Math-RM (72B) None Eurus-2-7B-SFT None
RL Data 66K queries × 32 samples ~3.647 M × 16 150K queries × 4 samples 8K queries × 8 samples

我们对于仅使用8K个MATH示例所取得的显著增长感到既兴奋又惊讶。值得注意的是,**尽管MATH查询比许多具有挑战性的基准测试如AIME和AMC要容易得多,但这种简单的RL配方展示了显著的泛化能力,与基础模型相比,性能至少提高了10个绝对点。**这种从易到难的泛化效果是我们无法通过在相同数据集上进行标准SFT训练所能预见的。我们完全开源了我们的训练代码和细节,希望作为一个强大的基线设置,供社区进一步探索RL在推理方面的潜力。

接下来,我们将深入了解我们设置的细节,以及在此RL训练过程中发生的事情,例如长CoT和自我反思模式的涌现。

 

简单的RL配方

与DeepSeek R1类似,我们的RL配方非常简单,没有使用奖励模型或类似MCTS的技术。我们使用PPO算法,并采用基于规则的奖励函数,根据生成的响应的格式和正确性分配奖励:

  • 如果响应以指定的格式提供最终答案并且正确,则获得+1的奖励。
  • 如果响应提供了最终答案但不正确,则奖励设置为-0.5。
  • 如果响应未能提供最终答案,则奖励设置为-1。

该实现基于OpenRLHF。我们的初步试验表明,这个奖励函数有助于策略模型快速收敛到生成所需格式的响应。

 

实验设置

在我们的实验中,我们从Qwen2.5-Math-7B-Base模型开始,并在具有挑战性的数学推理基准上进行评估,包括AIME2024、AMC23、GSM8K、MATH-500、Minerva Math和OlympiadBench。训练使用了大约8,000个来自MATH训练数据集难度级别3-5的查询。我们按照DeepSeek-R1-Zero和DeepSeek-R1分别进行了以下两种设置的实验:

  • SimpleRL-Zero:我们直接从基础模型进行RL,不先进行SFT。我们只使用8K个MATH(查询,答案)对。
  • SimpleRL:我们首先进行长链式思维SFT作为冷启动。SFT数据是8K个MATH查询,响应由QwQ-32B-Preview蒸馏而来。然后我们使用相同的8K个MATH示例进行我们的RL配方。

 

第一部分:SimpleRL-Zero — 从零开始强化学习

我们在引言部分已经报告了SimpleRL-Zero的主要结果,它超过了Qwen2.5-Math-7B-Instruct,并且与PRIME和rStar-Math取得了相当的结果,即使它只使用了8K个MATH示例。下面我们分享训练动态和一些有趣的涌现模式。

训练动态

训练奖励和展开响应长度

-1

评估准确率(pass@1)和8个基准上的响应长度

-1

 

如上图所示,所有基准上的准确率都在训练过程中稳步提高,而长度先减少然后逐渐增加。经过进一步调查,我们发现Qwen2.5-Math-7B基础模型在开始时倾向于生成大量代码,这可能是由于模型的原始训练数据分布。我们发现长度先减少是因为RL训练逐渐消除了这种模式,学习用普通语言进行推理。然后在此之后,生成长度又开始增加,自我反思模式开始出现,如下例所示。

自我反思的出现

在大约第40步时,我们发现模型开始生成自我反思模式,即DeepSeek-R1论文中的“顿悟时刻”。下面我们展示一个例子。

-1

 

第二部分:SimpleRL — 带有模仿热身训练的强化学习

如前所述,我们在进行RL之前先进行长时间链式思维SFT热身,SFT数据集是8K个MATH示例,响应由QwQ-32B-Preview蒸馏而来。这种冷启动的潜在好处是模型从长链式思维模式开始,并且已经具有自我反思能力,然后在RL阶段它可能会学习得更快更好。

主要结果

AIME 2024 MATH 500 AMC Minerva Math OlympiadBench Avg.
Qwen2.5-Math-7B-Base 16.7 52.4 52.5 12.9 16.4 30.2
Qwen2.5-Math-7B-Base + 8K QwQ distillation 16.7 76.6 55.0 34.9 36.9 44.0
Eurus-2-7B-PRIME 26.7 79.2 57.8 38.6 42.1 48.9
Qwen2.5-7B-SimpleRL-Zero 36.7 77.4 62.5 34.2 37.5 49.7
Qwen2.5-7B-SimpleRL 26.7 82.4 62.5 39.7 43.3 50.9

与Qwen2.5-Math-7B-Base + 8K QwQ distillation相比,模型在RL训练之前,Qwen2.5-7B-SimpleRL平均提高了6.9%的绝对值。此外,Qwen2.5-7B-SimpleRL在5个基准中有3个超过了Eurus-2-7B-PRIME,并且超过了Qwen2.5-7B-SimpleRL-Zero。即使结果很好,我们有点惊讶的是,QwQ蒸馏阶段并没有比零设置产生更大的收益,鉴于QwQ是一个32B强大的长链式思维教师模型。

训练动态

训练奖励和展开响应长度

-1

训练状态

 

评估准确率(pass@1)和8个基准上的响应长度

-1

 

Qwen2.5-SimpleRL的训练动态看起来与Qwen2.5-SimpleRL-Zero相似。有趣的是,尽管我们先进行长时间链式思维SFT,我们仍然在RL开始时观察到长度减少的现象。我们怀疑这是因为蒸馏的QwQ推理模式不被小型策略模型所偏好,或者超出了小型模型的容量。因此,它学会了放弃它,并自行发展出新的长推理。

 

结束语

简单是终极的复杂。
— 达芬奇

 

致谢和引用

我们实现的强化学习算法是基于OpenRLHF扩展而来的。我们利用vLLM进行推理,并开发了基于Qwen2.5-Math的评估脚本。特别地,我们感谢DeepSeek-R1和Kimi-k1.5的开发者对开源社区的创新和贡献。

CDN1
未经允许不得转载:首席AI分享圈 » 复现DeepSeek-R1:8K数学示例助力小型模型通过强化学习实现推理突破

首席AI分享圈

首席AI分享圈专注于人工智能学习,提供全面的AI学习内容、AI工具和实操指导。我们的目标是通过高质量的内容和实践经验分享,帮助用户掌握AI技术,一起挖掘AI的无限潜能。无论您是AI初学者还是资深专家,这里都是您获取知识、提升技能、实现创新的理想之地。

联系我们
zh_CN简体中文