← 最新论文
💬 NLP

MathFimer: Enhancing Mathematical Reasoning by Expanding Reasoning Steps through Fill-in-the-Middle Task

本文提出了名为 MathFimer 的新框架,通过借鉴代码推理中的“填充中间”任务,在无需依赖强大外部模型或高昂计算成本的情况下,利用自构建的 NuminaMath-FIM 数据集训练模型以生成并插入详细的中间推理步骤,从而显著提升了大语言模型在数学推理任务上的表现。

原作者: Yuchen Yan, Yongliang Shen, Yang Liu, Jin Jiang, Xin Xu, Mengdi Zhang, Jian Shao, Yueting Zhuang

发布于 2026-02-26
📖 1 分钟阅读☕ 轻松阅读

原作者: Yuchen Yan, Yongliang Shen, Yang Liu, Jin Jiang, Xin Xu, Mengdi Zhang, Jian Shao, Yueting Zhuang

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

这篇论文介绍了一个名为 MathFimer 的新方法,旨在让大语言模型(LLM)变得更擅长做数学题。

为了让你轻松理解,我们可以把大语言模型想象成一个正在学习解题的“天才学生”,而这篇论文的核心思想就是:如何给这个学生一本更详细的“解题笔记”,让他不仅知道答案,还能把每一步思考过程都写得清清楚楚。

以下是用生活化的比喻对这篇论文的解读:

1. 核心问题:学生“跳步”太厉害

现在的 AI 模型很聪明,但它们在解数学题时,经常像那些**“跳步”的天才学生**。

  • 现象:题目是 AA,答案是 CC。学生直接写“因为 AA,所以 CC"。
  • 问题:中间的 BB 去哪了?如果学生只背了“跳步”的答案,一旦遇到稍微复杂点的新题,他就容易卡壳,因为他没学会中间的逻辑推导。
  • 现状:以前的方法想要补全这些步骤,要么需要找更厉害的“超级学霸”(更大的模型)来教,要么需要花大量时间让模型自己“试错”(像走迷宫一样搜索),成本非常高。

2. 灵感来源:像“填字游戏”一样补全思路

作者从代码编程领域得到了灵感。在写代码时,有一种任务叫“中间填空”(Fill-in-the-Middle, FIM):

  • 场景:给你一段代码的开头(前缀)和结尾(后缀),让你把中间缺失的部分补全。
  • 比喻:就像你读一本侦探小说,只给你第一章和最后一章,让你把中间的破案过程写出来。

作者想:既然 AI 能补全代码,能不能让它补全数学题的解题步骤呢?

3. 解决方案:MathFimer(数学填空大师)

作者发明了一个叫 MathFimer 的“特训营”,专门训练模型做这件事。

第一步:制造“填空题”教材

他们收集了大量现有的数学题和答案(就像现有的解题笔记)。

  • 操作:把一道完整的解题过程(比如:步骤 1 -> 步骤 2 -> 步骤 3 -> 步骤 4)切开。
  • 挖空:把中间的“步骤 2"挖掉,只留下“步骤 1"和“步骤 3"。
  • 任务:让模型看着头尾,把被挖掉的“步骤 2"补回来。
  • 结果:他们造出了一个新的数据集(NuminaMath-FIM),里面全是这种“中间填空”的练习题。

第二步:特训“填空模型”

他们训练了一个 70 亿参数的小模型(MathFimer-7B),专门练习这种“补全中间步骤”的任务。

  • 比喻:这个模型不再只是背答案,而是学会了**“如何把逻辑链条扣得更紧”**。它学会了在两个已知步骤之间,自然地插入解释、公式推导或计算细节。

第三步:给旧教材“加料”

训练好后,他们把这个模型应用到现有的数学数据集上。

  • 操作:让 MathFimer 去“读”那些原本步骤比较简略的旧题,然后插入更详细的中间步骤。
  • 比喻:就像给一本只有大纲的旧书,请了一位编辑(MathFimer),在每一章之间插入了详细的注释和推导过程,让书变得超级详细。

4. 为什么这招很管用?

论文通过大量实验证明,用这种“加料”后的数据去训练 AI,效果非常好:

  • 更稳:模型不再“跳步”,每一步都走得很扎实。
  • 更准:在 GSM8K(小学奥数题)和 MATH(高难度竞赛题)等测试中,准确率显著提升。
  • 省钱:不需要找更强大的“超级学霸”来教,也不需要昂贵的算力去反复试错,只需要用现有的数据“精加工”一下。

5. 一个生动的例子

原题(简略版):

问:苹果和橘子共 24 个,苹果比橘子多 6 个。各有多少?
答:设苹果 xx,橘子 x6x-6x+(x6)=24x + (x-6) = 24,解得 x=15x=15。橘子 9 个。

MathFimer 加工后(详细版):

问:...
答:

  1. 首先,我们设苹果的数量为 xx
  2. 因为苹果比橘子多 6 个,所以橘子的数量就是 x6x - 6
  3. 题目说总数是 24,所以我们可以列出方程:苹果数量 + 橘子数量 = 24。
  4. 代入变量:x+(x6)=24x + (x - 6) = 24
  5. 合并同类项:2x6=242x - 6 = 24
  6. 两边同时加 6:2x=302x = 30
  7. 两边同时除以 2:x=15x = 15
  8. 所以苹果有 15 个,橘子有 156=915 - 6 = 9 个。

总结:
MathFimer 就像是一个**“逻辑补全器”。它不创造新的难题,而是把现有的解题过程变得更丰满、更细致**。它教会了 AI 如何像人类老师一样,把解题思路一步步拆解清楚,从而让 AI 在解决数学问题时变得更聪明、更可靠。

一句话总结:
与其让 AI 去猜答案,不如教它如何把每一步都写得清清楚楚;MathFimer 就是那个帮 AI 把“解题笔记”写得更详细的超级编辑。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →