ReTool,由字节跳动提出,是一种通过强化学习提升大模型工具使用能力的新方法。它通过动态代码执行和自动化的强化学习范式,使模型在解决结构化问题时能更有效地调用代码解释器。ReTool在AIME2024和AIME2025数据集上取得了显著的性能提升,尤其在结合先进模型时,表现更为出色,展现了其在提升模型推理效率和解决复杂问题方面的潜力,为大模型的发展提供了新的思路。
💡 ReTool的核心在于通过强化学习(RL)训练,使模型自主掌握工具使用策略。它允许模型在推理过程中动态插入实时代码执行,并基于结果反馈迭代优化工具调用模式。
⚙️ ReTool的训练框架包括冷启动数据生成、监督微调(SFT)和强化学习训练。通过合成数据,模型学会何时以及如何调用代码解释器。强化学习阶段则基于PPO算法,利用任务结果作为奖励来优化模型。
📈 ReTool在多个方面展现出显著优势。经过RL训练后,模型的响应长度缩短,代码比例和代码行数增加,表明模型学会了更高效、更复杂的工具使用策略。此外,模型还展现了自我修正代码的能力。
🚀 ReTool在AIME2024上达到67.0%的准确率,在AIME2025上达到49.3%的准确率,并且在与更先进的模型结合时,性能进一步提升,比OpenAI的o1-preview高出27.9%。
2025-04-25 22:36 湖北
模型自主掌握了适应性工具使用的“顿悟时刻”,用于结构化问题解决能力的场景中,比OpenAI的o1-preview高出27.9%

通过强化学习(RL)训练的推理模型(例如DeepSeek R1)在文本推理方面表现出色,但在需要结构化问题解决能力的场景中,例如几何推理、简洁计算或复杂方程求解,它们却表现不佳——而这些正是像代码解释器(CI)这样的计算工具具有明显优势的领域。为此,字节提出了ReTool,通过工具集成学习增强了长形式推理:(1)在自然语言推理过程中动态插入实时代码执行;(2)一种自动化的RL范式,允许进行多轮实时代码执行的策略展开,并基于结果反馈教授模型何时以及如何调用工具。ReTool采用了一个系统的训练框架,从合成冷启动数据生成开始,生成用于微调基础模型的代码增强型长形式推理轨迹。随后的RL训练利用任务结果作为奖励,迭代优化模型的工具使用策略,使其能够在没有人类先验知识的情况下自主发现最优的工具调用模式。监督微调(SFT):使用DCI数据集对模型进行监督微调,使模型学会何时以及如何调用代码解释器,增强模型对计算工具的使用能力。
训练算法:基于PPO(Proximal Policy Optimization)算法进行训练,修改PPO以适应工具集成推理。在训练过程中,策略LLM与代码沙箱协作,生成包含多轮实时代码执行的rollout,用于解决给定问题。
奖励设计:采用基于规则的准确性奖励,通过比较模型输出的最终答案与真实答案来优化模型。要求模型以特定格式(如\boxed{})呈现最终答案,以便进行可靠的基于规则的验证。
动态代码执行:提出一种支持推理和可执行代码动态集成的rollout方法。策略模型在生成文本推理的同时,可以动态地执行代码片段,并根据代码解释器的反馈调整后续推理过程。这种方法使模型能够在推理过程中迭代探索、优化和调整其策略。
ReTool在AIME2024上达到了67.0%的准确率,仅用了400个训练步骤,显著优于基于文本的RL基线(40.0%准确率,1080个训练步骤)。在AIME2025上,ReTool达到了49.3%的准确率。此外,ReTool在与更先进的模型(如DeepSeek-R1-Distill-Qwen-32B)结合时,性能进一步提升,分别达到了72.5%和54.3%的准确率,比OpenAI的o1-preview高出27.9%
通过分析模型在RL训练过程中的行为,发现以下关键点:响应长度:经过RL训练后,模型的响应长度显著缩短,表明代码解释器(CI)增强了推理效率。代码比率:模型生成的包含代码的响应比例在RL训练过程中逐渐增加,最终覆盖了几乎所有问题。代码行数:模型生成的代码行数在训练过程中持续增加,表明模型学会了更复杂的代码策略。正确代码数量:在测试集上,正确代码的数量在RL训练过程中持续增加。代码调用时机:模型学会了在推理过程中更早地调用代码。代码自我修正能力:模型在没有明确代码自我修正训练数据的情况下,展现出了自我修正非可执行代码的能力。
欢迎关注我的公众号“PaperAgent”,每天一篇大模型(LLM)文章来锻炼我们的思维,简单的例子,不简单的方法,提升自己。
阅读原文
跳转微信打开