MuMath-Code: Combining Tool-Use Large Language Models with Multi-perspective Data Augmentation for Mathematical Reasoning
作者: Shuo Yin, Weihao You, Zhilong Ji, Guoqiang Zhong, Jinfeng Bai
分类: cs.CL, cs.AI
发布日期: 2024-05-13
备注: The state-of-the-art open-source tool-use LLMs for mathematical reasoning
💡 一句话要点
MuMath-Code:结合工具使用LLM与多视角数据增强提升数学推理能力
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 大型语言模型 数学推理 工具使用 数据增强 代码生成 两阶段训练 Llama-2 多视角学习
📋 核心要点
- 现有工具使用LLM和数据增强是提升数学推理能力的两条路径,但如何有效结合两者优势仍是挑战。
- MuMath-Code通过多视角数据增强生成新问题,并合成代码嵌套的解决方案,结合工具使用和数据增强的优势。
- MuMath-Code在GSM8K和MATH数据集上取得了显著的性能提升,验证了工具使用和数据增强结合的有效性。
📝 摘要(中文)
本文提出了一种新的数学推理方法,称为MuMath-Code,它结合了工具使用的大型语言模型(LLM)和多视角数据增强技术。该方法首先通过多视角数据增强方法生成新的数学问题,然后为这些问题合成包含代码的解决方案。在增强的数据集上微调开源LLM(如Llama-2),得到MuMath-Code模型。在推理阶段,MuMath-Code生成代码并与外部Python解释器交互以获得执行结果。为了充分利用增强数据的优势,本文提出了一种两阶段训练策略。实验结果表明,MuMath-Code-7B在GSM8K上达到83.8%,在MATH上达到52.4%,而MuMath-Code-70B模型在开源方法中取得了新的state-of-the-art性能,在GSM8K上达到90.7%,在MATH上达到55.1%。
🔬 方法详解
问题定义:论文旨在提升大型语言模型在数学推理任务上的能力。现有方法要么依赖于工具使用(例如Python解释器),要么侧重于数据增强,但缺乏将两者有效结合的方案。痛点在于如何充分利用工具的计算能力,同时通过数据增强提升模型的泛化能力和鲁棒性。
核心思路:论文的核心思路是将工具使用和数据增强相结合。具体而言,首先通过多视角数据增强技术生成更多样化的数学问题,然后为这些问题构建包含代码的解决方案。通过在增强的数据集上训练LLM,使其能够生成代码并利用外部工具进行计算,从而提升数学推理能力。
技术框架:MuMath-Code的整体框架包括数据增强、模型训练和推理三个主要阶段。数据增强阶段利用多视角方法生成新的数学问题。模型训练阶段采用两阶段训练策略:第一阶段在纯CoT数据上微调Llama-2,得到一个中间模型;第二阶段在代码嵌套的数据上训练中间模型,得到最终的MuMath-Code模型。推理阶段,MuMath-Code生成代码并与外部Python解释器交互,获取计算结果。
关键创新:论文的关键创新在于将工具使用和数据增强有机结合,并提出了一个两阶段训练策略。这种结合方式既利用了工具的计算能力,又通过数据增强提升了模型的泛化能力。两阶段训练策略也至关重要,第一阶段让模型学习CoT推理,第二阶段让模型学习如何生成和使用代码。
关键设计:两阶段训练策略是关键设计之一。第一阶段使用纯CoT数据进行预训练,帮助模型学习基本的推理能力。第二阶段使用代码嵌套的数据进行训练,让模型学习如何生成代码并与外部工具交互。具体的数据增强方法和代码生成策略也至关重要,但论文中没有详细描述,属于未知细节。
🖼️ 关键图片
📊 实验亮点
MuMath-Code在GSM8K和MATH数据集上取得了显著的性能提升。MuMath-Code-7B在GSM8K上达到83.8%,在MATH上达到52.4%。MuMath-Code-70B模型在开源方法中取得了新的state-of-the-art性能,在GSM8K上达到90.7%,在MATH上达到55.1%。这些结果表明,工具使用和数据增强的结合能够有效提升LLM的数学推理能力。
🎯 应用场景
MuMath-Code具有广泛的应用前景,可应用于智能教育、科学计算、金融分析等领域。例如,可以构建智能辅导系统,帮助学生解决数学问题;可以用于科学研究,辅助科学家进行复杂的计算和建模;可以用于金融领域,进行风险评估和投资决策。该研究的未来影响在于推动LLM在数学推理等复杂任务上的应用。
📄 摘要(原文)
The tool-use Large Language Models (LLMs) that integrate with external Python interpreters have significantly enhanced mathematical reasoning capabilities for open-source LLMs, while tool-free methods chose another track: augmenting math reasoning data. However, a great method to integrate the above two research paths and combine their advantages remains to be explored. In this work, we firstly include new math questions via multi-perspective data augmenting methods and then synthesize code-nested solutions to them. The open LLMs (i.e., Llama-2) are finetuned on the augmented dataset to get the resulting models, MuMath-Code ($μ$-Math-Code). During the inference phase, our MuMath-Code generates code and interacts with the external python interpreter to get the execution results. Therefore, MuMath-Code leverages the advantages of both the external tool and data augmentation. To fully leverage the advantages of our augmented data, we propose a two-stage training strategy: In Stage-1, we finetune Llama-2 on pure CoT data to get an intermediate model, which then is trained on the code-nested data in Stage-2 to get the resulting MuMath-Code. Our MuMath-Code-7B achieves 83.8 on GSM8K and 52.4 on MATH, while MuMath-Code-70B model achieves new state-of-the-art performance among open methods -- achieving 90.7% on GSM8K and 55.1% on MATH. Extensive experiments validate the combination of tool use and data augmentation, as well as our two-stage training strategy. We release the proposed dataset along with the associated code for public use.