rStar 2-Agent:微软小巧精悍的14B模型智能体


一个140亿参数的模型,竟然能在数学推理上干翻一个6710亿参数的“巨无霸”?这事儿听起来像不像“小学生打赢了职业拳王”?但就在最近,微软研究院真的做到了。

他们没靠堆数据、没靠堆算力,而是用一套叫 rStar2-Agent 的新方法,让一个小巧精悍的14B模型,在AIME24这种高难度数学竞赛题上拿到了80.6%的准确率,不仅超过了DeepSeek-R1(671B),还生成的答案更短、更干净、更像人写的。

这背后不是靠蛮力,而是一场“认知升级”——让模型从“拼命想”变成“聪明地想”。过去的大模型搞数学题,基本就是一条道走到黑:写一大串思维链(CoT),错了也不知道回头。但rStar2-Agent不一样,它会用Python工具、会看运行结果、会反思代码有没有bug,甚至会在出错后立刻调整策略,重新尝试。它不再是一个只会输出文字的“答题机器”,而是一个会用工具、能自我纠错的“智能体”。

微软推出了 rStar2-Agent,这是一个拥有140亿参数(14B)的数学推理模型,通过“智能体式强化学习”(agentic reinforcement learning)训练而成,性能达到当前最先进水平。

与现有的“长链思维”(long Chain-of-Thought)模型不同,rStar2-Agent 展现出更高级的认知能力:  
- 它会先认真思考,再决定是否使用 Python 编程工具;  
- 能根据代码运行结果进行反思,自动探索、验证并优化解题过程中的中间步骤,尤其擅长解决复杂问题。

这些能力得益于我们在大规模应用智能体强化学习方面的三项关键创新:



(1) 高效的强化学习基础设施  
我们搭建了一套高效的 RL 训练系统,配备了稳定可靠的 Python 执行环境,支持高并发代码运行,大幅降低了训练过程中的“ rollout 成本”(即生成大量推理路径的计算开销)。  
这使得我们仅用 64 块 AMD MI300X GPU 就完成了整个训练。

搭了一套能同时处理4.5万个Python代码调用的执行环境,平均响应时间才0.3秒。你想想,训练过程中每一轮推理都可能触发好几轮代码执行,如果环境慢一点,整个训练就得卡成幻灯片。但他们用了一个叫“负载均衡调度器”的东西,动态分配任务,谁的显存有空就让谁干,GPU利用率拉满,64块MI300X显卡一周就完成了全部训练——这在强化学习圈里,简直是“省电模式下的满血输出”。



(2) GRPO-RoC:专为代码环境设计的强化学习算法  
我们提出了一种新的算法 GRPO-RoC,其中包含“正确时重采样”(Resample-on-Correct)策略。  
这个策略能有效应对代码执行中常见的“噪声”问题(比如运行报错、结果不明确等),让模型在编程环境中更稳定、更聪明地进行推理。

GRPO-RoC名字听着复杂,其实核心思想特别朴素:只让高质量的成功路径影响模型更新。具体怎么做?每轮先多跑两倍的推理路径,然后从答对的里面挑“写得干净、没报错、格式正确”的样本,答错的则全盘保留。这就相当于老师批作业,对的只看最优解,错的每种都留着当反面教材。

这样一来,模型不会因为“瞎猫碰上死耗子”答对一题就被奖励,反而逼着它写出更稳健、更清晰的推理过程。



(3) 高效的智能体训练流程  
更狠的是他们的训练方法。别人家搞强化学习前,先用一堆复杂推理数据把模型“喂大”,生怕它不会思考。但微软反其道而行之:先让模型老老实实学会“调用工具”“格式别乱写”“听懂指令”,别的啥也别会。这个阶段叫“非推理SFT”,模型在数学题上几乎考零分,输出也就一千来个字。可正是这种“冷启动”,给后面的强化学习留足了探索空间。等到RL阶段,模型才开始一点点学会什么时候该写代码、怎么验证中间结果、如何精简自己的思考过程。

我们设计了一个分阶段的训练方法:  
1. 先用监督微调(SFT)训练一个不会“深入思考”的基础模型;  
2. 然后逐步引入多阶段强化学习,逐步教会它使用工具、自我反思和修正。  
整个过程计算成本很低,仅用了 510 步 RL 训练,在 一周内 就把一个 14B 模型提升到了顶尖水平!



实际表现如何?  
- 在 AIME24 上,平均 pass@1 得分高达 80.6%;  
- 在 AIME25 上也达到了 69.8%;  
不仅超过了参数量大得多的 DeepSeek-R1(671B),而且生成的答案更简洁、更短。

不仅如此,rStar2-Agent-14B 还展现出很强的泛化能力,在对齐能力、科学推理以及使用工具完成任务等方面也表现优秀。

所有代码和训练方法都已开源:  
https://github.com/microsoft/rStar



重要说明:

我们最初是基于 VERL v0.2 版本开发了自己的多轮工具调用训练框架来训练 rStar2-Agent。  
但现在开源的版本已经升级迁移到了 VERL v0.5,这是为了跟上社区最新标准,让大家更容易使用和二次开发。

虽然这个新框架还没用来从头训练出一个完整的模型,但我们对比了前 50 步训练效果,发现和原来的框架几乎没差别,核心能力完全保留。

原来的框架其实还有一些高级功能(比如负载均衡调度器),但我们为了兼容性和开放性,选择了迁移到最新的 VERL。  
未来我们也会考虑把这些高级功能也逐步移植到新版本中。

✅ 总结一句话:  
你现在拿到的开源代码虽然“版本更新”,但“功力不减”,完全能复现我们论文中的强大效果,还更容易上手和扩展!

我们没拿 Qwen3-14B 做宣传对比,是因为它的训练方式不同(没用 RL),但我们实际对比了,大多数情况下我们更强,整体表现非常有竞争力。