Replacing thinking with tool usage enables reasoning in small language models
作者: Corrado Rainone, Tim Bakker, Roland Memisevic
分类: cs.LG, cs.AI
发布日期: 2025-07-07
备注: 23 pages, includes appendix
💡 一句话要点
用工具使用代替思考,使小语言模型具备推理能力
🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture) 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 语言模型 工具使用 推理 代码修复 强化学习
📋 核心要点
- 现有方法依赖于自然语言“思考”进行推理,效率较低,难以训练。
- 本文提出使用与有状态工具的多轮交互代替“思考”,通过自定义DSL控制工具。
- 实验表明,该方法能使较小的模型(3B参数)有效地利用额外计算资源修复Python代码。
📝 摘要(中文)
本文提出了一种新的机器学习范式,该范式基于在推理时以及训练时扩展计算量。与之前的工作类似,本文也使用了在合成演示上的监督微调(SFT)和带有可验证奖励的强化学习(RLVR)来训练大型语言模型,使其在推理过程中通过自然语言表达的“思考”来消耗额外的计算资源。不同的是,本文将这些token格式化为与有状态工具的多轮交互轨迹。在每一轮中,工具的新状态都会附加到模型的上下文中,模型的工作是生成必要的token,通过自定义DSL来控制工具。本文在修复故障Python代码的问题上对该方法进行了基准测试,结果表明,这种受约束的设置允许更快地采样经验和更密集的奖励信号,从而使参数高达3B的模型也能学会如何熟练地在该任务上花费额外的计算资源。
🔬 方法详解
问题定义:论文旨在解决大型语言模型在推理过程中如何更有效地利用额外计算资源的问题。现有方法通常让模型生成自然语言形式的“思考”过程,但这种方式效率低下,奖励稀疏,难以训练。尤其是在需要精确操作的任务中,例如修复代码,自然语言的模糊性会带来额外的困难。
核心思路:论文的核心思路是将模型的推理过程转化为与外部工具的交互。模型不再直接生成自然语言的“思考”,而是通过自定义的领域特定语言(DSL)来控制一个有状态的工具。工具的每次状态更新都会反馈给模型,形成一个多轮交互的闭环。这种方式将推理过程分解为一系列可控的操作,提高了效率和可解释性。
技术框架:整体框架包含一个语言模型和一个外部工具。语言模型负责生成控制工具的DSL指令,工具执行指令并更新自身状态,然后将状态反馈给语言模型。这个过程循环进行,直到达到预定的迭代次数或满足终止条件。训练过程采用监督微调(SFT)和强化学习(RLVR)相结合的方式。SFT用于初始化模型,使其具备基本的工具使用能力,RLVR用于优化模型,使其能够更有效地利用工具解决问题。
关键创新:最重要的创新点在于将自然语言推理过程转化为与外部工具的交互。与直接生成“思考”相比,这种方式具有以下优势:1)操作更加精确,避免了自然语言的歧义;2)奖励信号更加密集,工具的每次状态更新都可以作为奖励信号;3)探索空间更加受限,降低了训练难度。
关键设计:论文中使用了自定义的DSL来控制工具。DSL的设计需要根据具体的任务进行调整,以保证能够有效地表达所需的操作。在训练过程中,使用了可验证的奖励函数,例如代码修复任务中,可以通过执行修复后的代码来验证其正确性。此外,论文还探索了不同的模型大小和训练策略,以找到最佳的性能平衡点。
📊 实验亮点
实验结果表明,使用该方法训练的3B参数模型在修复Python代码的任务上表现出色,能够有效地利用额外计算资源。与直接生成“思考”的方法相比,该方法能够更快地采样经验和获得更密集的奖励信号,从而加速模型的训练过程。具体性能数据未知,但论文强调了该方法在小模型上的有效性。
🎯 应用场景
该研究成果可应用于需要精确操作和复杂推理的领域,例如代码生成与修复、机器人控制、科学计算等。通过将语言模型与外部工具相结合,可以赋予模型更强的解决问题的能力,并提高其在实际应用中的可靠性和效率。未来,该方法有望扩展到更多领域,并促进人机协作的发展。
📄 摘要(原文)
Recent advances have established a new machine learning paradigm based on scaling up compute at inference time as well as at training time. In that line of work, a combination of Supervised Fine-Tuning (SFT) on synthetic demonstrations and Reinforcement Learning with Verifiable Rewards (RLVR) is used for training Large Language Models to expend extra compute during inference in the form of "thoughts" expressed in natural language. In this paper, we propose to instead format these tokens as a multi-turn interaction trace with a stateful tool. At each turn, the new state of the tool is appended to the context of the model, whose job is to generate the tokens necessary to control the tool via a custom DSL. We benchmark this approach on the problem of repairing malfunctioning Python code, and show that this constrained setup allows for faster sampling of experience and a denser reward signal, allowing even models of size up to 3B parameters to learn how to proficiently expend additional compute on the task.