微软rStar-Math:小型LLM可以掌握数学推理

🕙17分钟阅读
📅2025年02月06日

“机器学习是一门让计算机在没有明确编程的情况下采取行动的科学。” —— 吴恩达

近日热文:全网最全的神经网络数学原理(代码和公式)直观解释
欢迎关注知乎和公众号的专栏内容
LLM架构专栏
知乎LLM专栏
知乎【柏企
公众号【柏企科技说】【柏企阅文

微软在2025年伊始便成绩斐然,先是发布了phi - 4模型的权重,紧接着又推出了一篇超厉害的研究论文——《rStar - Math》。这篇论文提到,小型大语言模型(LLMs)借助自我进化的深度思考,也能成为数学高手。

什么是rStar - Maths?

rStar - Math是微软研究院研发的一种方法,目的是帮助小型语言模型(SLMs)在解决数学问题方面表现出色。通常情况下,像GPT - 4这类大型模型在数学方面能力很强,但它们需要强大的计算能力支持。rStar - Math表明,如果训练方式巧妙,小型模型同样能在数学领域表现卓越。其核心思路是教会这些小型模型“深度思考”,把数学问题分解成一个个小步骤,并仔细检查每一步。

rStar - Math是如何运作的?

基于蒙特卡洛树搜索(MCTS)的深度思考

https://arxiv.org/pdf/2501.04519

想象一下,当你在解一道数学题时,不确定该从哪入手。rStar - Math利用蒙特卡洛树搜索(MCTS)来探索不同的解题方法。这就好比在迷宫里尝试不同的路径,以找到最佳出口。在每一步中,模型会生成可能的下一步(比如写下一个方程式,或者解出问题的一部分),然后通过运行一小段代码来检查这一步是否正确。如果代码能成功运行,这一步就会被保留;否则,就会被舍弃。

什么是蒙特卡洛树搜索?

想象你正在下国际象棋,试图想出最佳的落子策略。由于不知道对手会怎么走,你会提前思考:“如果我走这里,那么他们可能走那里,然后我可以这样走……” 你在脑海中探索不同的路径,看看哪条能带来最好的结果。蒙特卡洛树搜索(MCTS)的工作原理与之类似,只不过它用于解决数学难题或游戏等问题。简单来说,它的工作过程如下:

  • 探索可能的行动:算法首先会查看所有能用来解决问题的 “行动” 或步骤。例如,在数学里,一个 “行动” 可以是写下一个方程式,或者解出问题的一部分。
  • 模拟结果:对于每一个行动,算法会 “模拟” 接下来可能发生的情况。它会随机探索不同的路径(就像在国际象棋里尝试不同的走法),看看这些路径会导向何处。这就如同在脑海中设想不同的场景。
  • 从结果中学习:在模拟了许多路径后,算法会了解到哪些行动更有可能带来好的结果(比如赢得游戏或解出数学题)。它会记录下哪些路径有效,哪些无效。
  • 选择最佳行动:最后,算法会根据所有模拟的结果,选择成功概率最高的行动。这就好比在考虑了所有可能性之后,选择最佳的国际象棋走法。
代码增强的思维链(CoT)数据合成

rStar - Math将自然语言推理(比如解释如何解题)与可执行的Python代码相结合。例如,当模型在解一个方程式时,它不仅会写下解题步骤,还会编写代码来求解该方程式。通过实际运行代码,能确保每一步的正确性,从而减少错误。该方法使用蒙特卡洛树搜索(MCTS)来探索多条推理路径,只保留那些代码能成功执行的路径,以此保证生成的推理轨迹具有高质量。

自我进化

自我进化是一种类似于教导学生通过不断练习并从错误中学习来提高数学能力的机制。模型从基础问题开始,从中学习,然后利用这些知识去攻克更难的问题。这个过程不断重复,每一轮过后,模型都会变得更聪明、能力更强。

  • 过程偏好模型(PPM):模型有一个名为 “过程偏好模型(PPM)” 的 “奖励系统”。这个奖励系统能帮助模型判断哪些步骤是好的,哪些是不好的。PPM并非只看最终答案,而是会审视推理过程中的每一步,并为其打分。这有助于模型从错误中学习,随着时间推移不断改进。

实例辅助理解

假设给模型出了这样一道题:

  • 问题:求满足方程2x + 3 = 7的x值。
  • 步骤1:模型写下方程,并思考 “我需要求解x”。
  • 步骤2:它生成一段用于解方程的Python代码:

    from sympy import symbols, Eq, solve
    x = symbols('x')
    equation = Eq(2*x + 3, 7)
    solution = solve(equation, x)
    print(solution)
  • 步骤3:代码运行后输出[2],这意味着x = 2。
  • 步骤4:模型通过运行代码来检查这一步是否正确。由于代码成功运行且给出了正确答案,这一步被保留下来。
  • 步骤5:模型写下最终答案:x = 2。

如果模型犯了错误(比如写错了方程),代码将无法正确运行,此时模型会舍弃这一步,尝试其他方法。

rStar - Math如何助力精通数学?

  • 分解问题:rStar - Math教会模型把复杂的数学问题分解成更小、更易处理的步骤。这和人类解题的方式类似,都是一步一步思考。
  • 代码验证:通过在每一步运行代码,模型能确保自己的推理是正确的。这不仅减少了错误,还能帮助模型从准确的解法中学习。
  • 自我提升:随着时间推移,模型通过解决越来越难的问题来提升自己。每一轮自我进化后,它在处理复杂数学任务方面的能力都会变强。
  • 注重过程而非结果:过程偏好模型(PPM)帮助模型关注每一步的质量,而不只是最终答案。这确保了模型学会正确推理,而不是靠猜测得出正确答案。

性能与指标

SLM = 小型大语言模型,PPM = 使用的奖励模型

总结上述结果:

  • 竞争力表现:rStar - Math在大多数基准测试中都取得了顶尖的成绩,常常能与GPT - o1 - mini(一个规模更大、能力更强的模型)相媲美,甚至超越它。例如,在MATH基准测试中,rStar - Math(70亿参数的SLM + 70亿参数的PPM)的得分达到了89.4%,与GPT - o1 - mini的90.0% 非常接近。
  • 超越开源模型:rStar - Math在所有基准测试中都始终优于其他开源模型,如Qwen2.5 - Math - 72B - Instruct和LLaMA3.1 - 70B - Instruct。例如,在AIME 2024基准测试中,rStar - Math(70亿参数的SLM + 70亿参数的PPM)的得分是50.0%,而Qwen2.5 - Math - 72B - Instruct仅为30.0%。
  • 测试时计算的扩展性:使用64条搜索轨迹的rStar - Math⁶⁴版本,在准确率上有进一步提升。例如,在MATH基准测试中,准确率从89.4% 提高到了90.0%。这表明增加测试时的计算量(即探索更多推理路径)可以带来更好的性能。
  • 小模型,大成果:rStar - Math使用小型语言模型(SLMs,例如15亿、38亿和70亿参数),并结合70亿参数的过程偏好模型(PPM)。尽管其规模较小,但性能却能与GPT - o1 - mini和Qwen2.5 - Math - 72B - Instruct等大得多的模型相抗衡。

为什么rStar - Math很重要?

大型大语言模型需要大量计算能力支持,而rStar - Math的优势体现在多方面:

  • 效率:小型模型比像GPT - 4这样的大型模型运行成本更低、速度更快。rStar - Math表明,只要训练得当,小型模型在数学能力上也能同样出色。
  • 可及性:小型模型可以在计算能力有限的设备上使用,比如智能手机,这使得先进的数学解题工具更易获得。
  • 可扩展性:自我进化过程让模型能够不断改进,未来有可能处理更具挑战性的问题。

总之,rStar - Math通过将问题分解为更小的、经过验证的步骤,帮助小型语言模型(SLMs)掌握数学推理能力。借助蒙特卡洛树搜索(MCTS)、代码增强推理和自我进化过程,它使小型语言模型能够高精度地解决复杂问题,与GPT - o1 - mini等大型模型不相上下。过程偏好模型(PPM)通过关注中间步骤而非仅仅是最终答案,确保了推理的高质量。这使得rStar - Math兼具高效性、可及性,并且具备持续改进的能力,证明了只要方法得当,小型模型也能精通数学。

推荐阅读

1. DeepSeek-R1的顿悟时刻是如何出现的? 背后的数学原理
2. 微调 DeepSeek LLM:使用监督微调(SFT)与 Hugging Face 数据
3. 使用 DeepSeek-R1 等推理模型将 RAG 转换为 RAT
4. DeepSeek R1:了解GRPO和多阶段训练
5. 深度探索:DeepSeek-R1 如何从零开始训练
6. DeepSeek 发布 Janus Pro 7B 多模态模型,免费又强大!

本文由mdnice多平台发布


柏企科技圈
1 声望0 粉丝

时间差不多了,快上车!~