Ch4 · 数学推理
数学推理是大型语言模型(LLM)最引人入胜的能力之一。它要求模型不仅能理解自然语言描述的问题,还需要调用逻辑分析、符号运算与多步推导来解决数学问题。这种能力不同于简单的文本生成——数学推理要求模型真正理解代数、几何、概率等数学概念,并在庞大的搜索空间中找出正确的解题路径。
本章将深入探讨如何通过监督微调(SFT)和数据蒸馏技术,让一个小规模的语言模型(Qwen2.5-Math-1.5B)习得数学推理能力。我们将从数据准备、模型训练、到结果评测,完整走一遍蒸馏学习在数学领域的应用流程。实验表明,通过 DeepSeek-R1 生成的高质量链式推理数据,即使是 1.5B 参数的小模型也能在 MATH 数据集上展现出令人惊讶的数学解题能力。
本章配套 Notebook 为 documents/chapter4/sft_math.ipynb,建议读者配合代码边读边实践。硬件要求方面,至少需要 40GB 显存的 GPU(如 A100 或 H100),磁盘空间建议预留 50GB 以上。
数学推理绝非普通的文本生成任务。一个真正具备数学能力的模型需要同时掌握以下关键能力:
- 多步推理:将复杂问题拆解为若干子步骤,每一步都建立在前一步的基础上,形成一条连贯的逻辑链。这要求模型能够「记住」前文的中间结果,并在后续推理中正确使用。
- 符号理解:处理抽象的数学符号与公式,如 $\sqrt{x}$、$\int_a^b f(x)dx$、$\sum_{i=1}^n a_i$ 等。模型需要理解这些符号的语义和运算规则,而非仅仅把它们当作普通文本。
- 精准计算:进行准确的数值运算,包括整数运算、分数化简、多项式展开、因式分解等。这一环节对精度要求极高——一步算错,满盘皆输。
这些能力并非凭空而来。在传统的 GPT 时代,模型往往采用「直接给答案」的方式解题,这种方法在简单题目上尚可,但面对需要多步推理的高难度数学问题时,成功率会急剧下降。思维链(Chain-of-Thought,CoT)的引入改变了这一局面——通过显式生成推理步骤,模型被引导去「思考」,而非「猜测」,从而显著提升了复杂问题的解题准确率。
典型应用场景
数学推理在以下场景中发挥关键作用:数学竞赛解题(AMC、AIME、IMO 等)、教育辅导(作业批改、错题讲解)、科学研究中的公式推导、代码生成中的数值计算验证。随着大模型能力的提升,数学推理正逐步成为评估模型「真正智能」的重要标杆。
当前主流的数学推理实现方案可以分为三大类:思维链提示、树搜索策略、工具增强。
思维链(CoT) 是最基础也是最有效的方案。它的核心思想是在生成最终答案之前,先让模型输出一段推理过程——「让我想想」「先化简这个方程」「然后代入这个值」——这段显式的思考过程本身就构成了一条逻辑链。思维链之所以有效,一个关键原因是它将求解问题这个单一行为,分解为「推理」和「回答」两个子任务,降低了每个子任务的难度。
树搜索(Tree Search) 是更高级的策略。以蒙特卡洛树搜索(MCTS)为代表的方案,在推理时同时探索多条可能的解题路径,并通过过程奖励模型(Process Reward Model,PRM)为每一步打分。这样模型可以「回退」——当某条路径走入死胡同时,选择另一条更有希望的路径。rStar-Math 等工作正是基于这一思路,在小模型上实现了接近 o1 的推理深度。
自洽性(Self-Consistency) 是对思维链的升级。模型对同一个问题采样多条不同的推理路径,然后通过投票选择出现频率最高的答案。这种「集思广益」的策略能有效降低单次推理错误带来的影响——即使有些路径出错,只要多数路径正确,最终答案仍然是正确的。
工具增强 则将计算任务外包给外部工具。复杂的高精度计算容易让 LLM 犯错,但 Python 解释器或计算器可以完美地完成这类任务。Qwen2.5-Math 等数学专用模型甚至在训练时就融入了工具调用能力,能够在推理过程中自动调用 Python 代码执行计算,然后将结果回传。
2024 年,OpenAI o1 和 DeepSeek-R1 的发布将数学推理推向了一个新的高度——长推理模型。这类模型在推理时产生极长的思维链,其中融入了类人的推理策略:自我反思(「这个思路好像不对」)、切换思路(「换一种证法试试」)、答案验证(「把结果代回去检验一下」)。
长推理的核心逻辑是:增加推理时的生成长度,相当于增大了搜索空间。在较短的推理过程中,模型可能错过正确的解题路径;但当允许模型生成更长的思考过程时,它有机会进行多轮尝试、错误修正和深度探索,最终找到正确答案。这种「慢思考」模式虽然推理成本更高,但在数学证明等需要严密逻辑的任务上效果显著。
然而,长推理模型通常参数量巨大(如 DeepSeek-R1 有 671B 参数),直接部署成本高昂。于是,数据蒸馏成为了将强模型能力迁移到小模型的关键技术。
什么是数据蒸馏?
数据蒸馏(Knowledge Distillation)的核心思想是:让大模型(教师)生成高质量的推理数据,然后用这些数据去微调小模型(学生)。具体流程是:教师模型对数学问题生成包含详细推理链的解答 → 筛选出正确答案和逻辑清晰的推理过程 → 小模型通过 SFT 直接学习这些数据。蒸馏后的小模型无需额外的强化学习阶段,就能直接继承教师的推理模式。
蒸馏三步法的具体操作如下:
- 第一步:数据生成。使用教师模型(如 DeepSeek-R1)为每个数学问题生成多条候选解答。这些解答中包含了丰富的推理过程——自我反思、多路径尝试、验算纠错。
- 第二步:拒绝采样。对所有候选解答进行正确性验证,筛除错误答案,只保留逻辑清晰、格式规范的推理链。这一步至关重要,因为「垃圾进,垃圾出」——用错误数据训练只会让模型学会错误推理。
- 第三步:SFT 微调。小模型直接在这些高质量推理数据上进行监督微调。模型学习的是「给定问题 → 输出推理过程 → 得到答案」这一完整模式。
DeepSeek 的实验表明,经过蒸馏的 Qwen-7B 模型性能可以超越 32B 参数的基线模型。这印证了数据蒸馏的有效性——用强模型教弱模型,弱模型确实能学会强模型的解题思路。
当前数学大模型领域形成了两个主流技术路线:以 DeepSeek-Math 为代表的代码初始化路线,和以 Qwen2.5-Math 为代表的自研语料路线。
DeepSeek-Math 的核心创新在于代码模型初始化。不同于直接从通用 LLM 开始训练,DeepSeek 选择基于 DeepSeek-Coder-v1.5 进行数学能力增强。这一选择的背后逻辑是:代码训练已经让模型学会了符号操作和精确执行的能力,这些能力与数学推理高度重叠。因此,以代码模型为起点进行数学微调,效率远高于从零开始。
DeepSeek-Math 还引入了 GRPO(Group Relative Policy Optimization)强化学习算法,用于替代传统的 PPO。GRPO 通过相对比较而非绝对价值估计来优化策略,大幅降低了显存消耗,同时提升了泛化能力——后来成为 DeepSeek-R1 的核心技术之一。
Qwen2.5-Math 则采用了另一种策略。它构建了 Qwen Math Corpus v2,这是一个包含 1T token 的数学专用预训练语料,其中混合了合成数据和中文数学问题。这种大规模、高质量的数学语料让 Qwen2.5-Math 在预训练阶段就建立了坚实的数学基础。
在数据生成阶段,Qwen2.5-Math 使用 Qwen2-72B-Instruct 来生成高质量的 QA 对,增强数据的多样性。在推理阶段,它融合了思维链(CoT)和工具集成推理(TIR),支持在生成过程中调用 Python 解释器来处理复杂计算,并使用 Qwen2.5-Math-RM 奖励模型来指导 SFT 数据的演化。
最终,Qwen2.5-Math-7B 在 MATH 数据集上的表现超越了当时 30B-70B 规模的开源模型,逼近 GPT-4 的水平。这一结果充分说明了数据质量和训练策略的重要性——并非参数量越大越好。
本章实验使用的数据集是 DeepMath-103K,这是一个专为高难度数学任务设计的训练集,包含约 10.3 万条样本。每个样本不仅包含问题和最终答案,还包含了来自 DeepSeek-R1 的三条完整推理路径。
DeepMath-103K 有几个显著特点:
- 高难度:数据集中的问题难度覆盖小学到竞赛级别,既有基础的四则运算,也有需要多步推理的复杂证明。
- 去污染:针对主流数学评测集(GSM8K、MATH、AIME 等)进行了严格的去重操作,确保训练集中的样本不会出现在评测集中,从而避免了「模型记住答案」的虚高评测。
- 难度标注:每个样本都附带了难度标签(difficulty)和主题标签(topic),方便进行细粒度的数据筛选和分析。
- R1 回复:每条数据包含 DeepSeek-R1 生成的三条独立推理路径,这些路径展现了不同的解题思路——有的简洁直接,有的绕道但巧妙,有的则在发现错误后进行了自我纠正。
DatasetDict({
train: Dataset({
features: ['question', 'final_answer', 'difficulty',
'topic', 'r1_solution_1', 'r1_solution_2', 'r1_solution_3'],
num_rows: 103022
})
})
加载数据集只需要一行代码:
from datasets import load_dataset
data = load_dataset("zwhe99/DeepMath-103K")
在 Notebook 中,我们对数据集进行了两层筛选:首先是筛选出答案为纯数字的题目(便于自动评测),然后筛选出 token 长度小于 4096 的样本(适配 Qwen2.5-Math-1.5B 的最大上下文长度)。
# 筛选答案为纯数字的题目
data_with_number_answer = data["train"].filter(
lambda x: x["final_answer"].isdigit()
)
# 长度筛选:只保留小于 4096 token 的样本
train = data_with_number_answer.map(tokenize, batched=False, num_proc=16)
Tokenizer 的作用是将自然语言文本转换为模型可接受的整数 ID 序列。对于 Qwen 系列的数学模型,其 Tokenizer 还有一个关键特性——支持工具调用和思维链的特殊格式。
Qwen2.5-Math 的 chat_template 定义了如何将对话组织成模型可识别的格式。系统提示中默认包含了一条关键指令:「Please reason step by step, and put your final answer within \boxed{}」,这告诉模型两件事:要用逐步推理的方式解题,最终答案要用 LaTeX 的 \boxed{} 格式包裹。
# 加载 Tokenizer
qwen_tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen2.5-Math-1.5B")
print(qwen_tokenizer.chat_template)
经过 chat_template 处理后,一条完整的训练样本会包含以下结构:
<|im_start|>system
Please reason step by step, and put your final answer within \boxed{}.
<|im_end|>
<|im_start|>user
Evaluate the limit: \[ \lim_{x \to \infty} \sqrt{x} ... \]<|im_end|>
<|im_start|>assistant
<|reserved_20017|>
... (完整的思维链推理过程) ...
\boxed{0}<|im_end|>
注意,模型生成的回复以一个特殊标记 <|reserved_20017|> 开头——这是 Qwen 数学模型特有的思考开始标记。模型在 <|reserved_20017|> ... <|reserved_20018|> 区间内输出推理过程,最后的 \boxed{} 包含最终答案。这种结构让模型学会了「先想后答」的推理模式。
在数据预处理时,我们使用了第一条 R1 推理路径作为标准答案。通过 apply_chat_template 方法将问题和回答组装成训练格式,其中 labels 复制了 input_ids,这意味着模型在所有 token 上都会计算损失——包括用户的问题(这部分通常会被 masked,但在学术实验中保留可以提升模型对问题结构的理解)。
数据准备完成后,进入模型训练阶段。本章使用 Qwen2.5-Math-1.5B 作为基础模型,通过 SFT 在 DeepMath-103K 上进行微调。
训练配置的关键参数包括:
- 学习率:设置为 2e-5,这是一个经过大量实验验证的 SFT 学习率。太大会导致训练不稳定,太小则收敛太慢。
- 批量大小:batch_size 根据显存大小调整。对于 1.5B 模型,batch_size=16、gradient_accumulation_steps=4 是比较安全的配置。
- Epoch 数:数学推理任务通常 2-3 个 epoch 就足够,过多的 epoch 会导致过拟合,模型开始「背诵」训练数据。
- 权重衰减:0.01,用于防止权重过大,提升泛化能力。
训练脚本使用 HuggingFace 的 Trainer API,主要步骤包括:
from transformers import AutoModelForCausalLM, TrainingArguments, Trainer
model = AutoModelForCausalLM.from_pretrained(
"Qwen/Qwen2.5-Math-1.5B",
device_map="auto",
torch_dtype=torch.bfloat16
)
training_args = TrainingArguments(
output_dir="./output",
num_train_epochs=2,
per_device_train_batch_size=16,
gradient_accumulation_steps=4,
learning_rate=2e-5,
weight_decay=0.01,
logging_steps=100,
save_steps=500,
fp16=False,
bf16=True,
)
trainer = Trainer(
model=model,
args=training_args,
train_dataset=train,
data_collator=DataCollatorForSeq2Seq(tokenizer=qwen_tokenizer, model=model),
)
trainer.train()
训练过程中有几个值得关注的细节。首先,bf16(bfloat16)精度在 A100/H100 等 Ampere 架构以后的 GPU 上可以安全使用,它比 fp16 有更大的指数范围,能有效避免训练中途的数值溢出。其次,梯度累积(gradient accumulation)可以在显存有限的情况下模拟更大的批量大小——通过累积多个小批次的梯度,再统一更新参数。最后,学习率调度采用线性衰减,从峰值 2e-5 平滑降到零,确保训练末期不会因为学习率过大而震荡。
训练完成后,模型被保存到指定目录。此时的模型已经学会了 DeepSeek-R1 的推理模式——遇到数学问题时,会先进行分析、尝试多种思路、验算检查,最后输出带 \boxed{} 格式的答案。
训练完成后的模型需要进行标准化评测,以验证其数学能力。我们使用 vLLM 进行高速推理生成,然后与标准答案进行比对。
vLLM 是当前最高效的推理引擎之一,它通过 PagedAttention 技术大幅提升了吞吐量。在评测场景下,我们使用 vLLM 批量生成候选答案,然后通过规则或 LLM Judge 来判断正确性。
from vllm import LLM, SamplingParams
# 加载训练后的模型
llm = LLM(
model="./output/final",
tokenizer="Qwen/Qwen2.5-Math-1.5B"
)
sampling_params = SamplingParams(
temperature=0.7,
top_p=0.9,
max_tokens=2048,
)
# 批量生成
outputs = llm.generate(prompts, sampling_params)
答案抽取 是评测流程中的关键环节。不同数据集有不同的答案格式:
- GSM8K:使用四个连续的
####来标记答案位置。例如:「答案是 42 ####42」 - MATH:使用
\boxed{}LaTeX 格式。例如:「答案是 \boxed{42}」
答案评估 有两种主流方法:
- 规则评估:通过正则表达式或 LaTeX 解析器提取模型输出中的答案,然后与标准答案进行精确比对。这种方法简单高效,适用于有明确格式的问题。HuggingFace 的 Math-Verify 库是这个方向的代表实现。
- LLM Judge:用另一个训练好的大模型(如 Omni-Judge)来判断模型生成答案与标准答案是否等价。这种方法能处理文字表达的边缘情况,但计算成本较高。
数学评测基准
业界标准的数学评测基准包括:GSM8K(小学难度,8500 题)、MATH(高中竞赛难度,12500 题)、AIME(美国数学邀请赛,奥赛级别,每年 30 道题)。当前前沿研究仅针对有明确数值或符号答案的问题,开放式证明题的正确性评估仍是学术难题。
评测完成后,我们会得到模型的准确率(Accuracy)和 Pass@k(采样 k 次中至少有一次通过的概率)等指标。这些指标综合反映了模型的数学能力。
本章围绕数学推理这一主题,从能力要求、技术路线、蒸馏方法、到实践流程进行了全面深入的介绍。核心要点总结如下:
- 数学推理要求模型具备多步推理、符号理解、精准计算三大核心能力,这远超普通文本生成任务的复杂度。
- 思维链(CoT)是数学推理的基础范式,通过将「解题」分解为「推理」+「回答」两个子任务,显著降低复杂问题的求解难度。
- 长推理模型(o1、DeepSeek-R1)通过在推理时产生更长的思维链来增大搜索空间,其中融入了自我反思、思路切换、答案验证等类人策略。
- 数据蒸馏是将强模型能力迁移到小模型的关键技术:教师模型生成高质量推理数据 → 拒绝采样筛选正确数据 → SFT 微调小模型。
- DeepMath-103K 数据集包含 10 万条来自 DeepSeek-R1 的高质量数学推理数据,是训练数学模型的优质资源。
- Qwen2.5-Math 等数学专用模型通过预训练语料优化、工具集成、奖励模型迭代,在 7B 参数规模下达到了逼近 GPT-4 的数学水平。
理解数学推理的本质和实现方法,不仅对于构建数学专用模型有重要意义,也为理解 LLM 的推理机制提供了重要窗口。数学推理的思路——将复杂任务分解为可验证的子步骤、通过搜索和验证来提升准确性——正在成为通用 AI 推理的基石。
以下内容来自本章 PDF 课件原文,保留了讲义的原始结构与措辞,供深入对照参考。
数学推理:LLM 通过逻辑分析、符号运算与多步推导解决数学问题的能力,需理解数学概念(如代数、几何)并生成正确答案。关键能力包括:多步推理(分解复杂问题为子步骤)、符号理解(处理抽象符号与公式)、数学运算(进行精准的计算)。应用场景涵盖数学竞赛解题、教育辅导、科学研究中的公式推导。
- 思维链(CoT):显式生成推理步骤,适用于零样本场景(Kojima et al., 2022)
- 树搜索:蒙特卡洛树搜索结合过程奖励模型(PRM),探索不同思路(rStar-Math, 2025)
- 自洽性(Self-Consistency):多次采样不同推理路径,投票选择高频答案以降低错误(Wang et al., ICLR 2023)
- 工具增强:调用计算器处理复杂运算,或生成 Python 代码执行数学计算
长推理模型推理时产生长思维链,典型代表为 OpenAI-o1 和 DeepSeek-R1。思维链特征:自我反思、切换思路、答案验证与纠错。通过增长推理时的生成长度,增大搜索空间,最终提高数学推理性能——思维链中融入了类人的推理策略。
典型数学大模型包括 DeepSeek-Math(120B,网页清洗迭代过滤避免基准污染,代码模型初始化提升符号处理能力,GRPO 强化学习)和 Qwen2.5-Math(1T token 预训练语料,CoT & TIR 融合,Qwen2.5-Math-RM 奖励模型指导)。
评估数据集:GSM8K(小学难度,8.5k 样本)、MATH(高中数学竞赛级别,12,500 样本)、AIME(美国数学邀请赛,奥赛级别)。
DeepMath-103K 是专为高难度数学任务设计的训练集,收集主流训练集并大量清理,确保与常见评测集无重合,包含难度标注及 R1 回复。
- 数据生成:教师模型(DeepSeek-R1)生成高质量 CoT 数据
- 拒绝采样:筛除错误答案,保留逻辑清晰、格式规范的推理链
- SFT 微调:小模型直接学习教师输出,无需额外 RL 阶段
优势:高效利用数据,门槛较低,能直接学习复杂推理行为。局限:小模型性能上限依赖教师能力,复杂问题仍需大模型。
根据 PDF 课件插图,DeepSeek-R1 的思维链示例(PDF p6)展示了"切换思路"与"自我反思"的真实 CoT 输出——模型在推理过程中意识到错误后主动纠正,体现了元认知能力。p6_170/171 展示了 DeepSeek-Math 的 GRPO 强化学习流程,其核心是分组相对策略优化,减少显存消耗同时提升泛化性。
以下为本章 PDF 课件原文(共17页),按页面顺序呈现,保留讲义的原始措辞与结构。
LLM数学推理
陈星宇
数学推理简介
1
2
长推理模型
目 录
3
数学大模型
4
蒸馏学习
5
数学能力评估
数学推理简介
数学推理:LLM通过逻辑分析、符号运算与多步推导解决数学问题的能力,需
理解数学概念(如代数、几何)并生成正确答案
关键能力:
• 多步推理:分解复杂问题为子步骤
• 符号理解:处理抽象符号与公式
• 数学运算:进行精准的计算
应用场景:数学竞赛解题、教育辅导、科学研究中的公式推导
www.sjtu.edu.cn
饮水思源 爱国荣校
如何在LLM中实现数学推理?
思维链[1](CoT):显式生成推理步骤
树搜索:蒙特卡洛树搜索[2]:结合过程奖励模型(PRM)进行不同思路的探索
自洽性[3](Self-Consistency):多次采样不同推理路径,投票选择高频答案以降低
错误
工具增强:外部工具:调用计算器处理复杂运算,避免数值错误
程序辅助:生成代码(如Python)执行数学计算
[1] Kojima T, Gu S S, Reid M, et al. Large language models are zero-shot reasoners[J]. Advances in neural information processing systems, 2022, 35: 22199-22213.
[2] Guan X, Zhang L L, Liu Y, et al. rStar-Math: Small LLMs Can Master Math Reasoning with Self-Evolved Deep Thinking[J]. arXiv preprint arXiv:2501.04519, 2025.
[3] Wang X, Wei J, Schuurmans D, et al. Self-consistency improves chain of thought reasoning in language models[J]. arXiv preprint arXiv:2203.11171, 2022.
www.sjtu.edu.cn
饮水思源 爱国荣校
长推理模型
长推理模型:推理时产生长思维链的模型
典型代表:OpenAI-o1[1],DeepSeek-R1[2]
思维链特征:
• 自我反思
• 切换思路
• 答案验证与纠错
通过增长推理时的生成长度,增大了搜索空间,最终提高数学推理的性能
思维链中融入了类人的推理策略
[1] https://openai.com/index/introducing-openai-o1-preview/
[2] Guo D, Yang D, Zhang H, et al. Deepseek-r1: Incentivizing reasoning capability in llms via reinforcement learning[J]. arXiv preprint
arXiv:2501.12948, 2025.
www.sjtu.edu.cn
饮水思源 爱国荣校
长推理模型
思维链特征:
自我反思
切换思路
自我纠错
答案验证与纠错
例子: OpenAI-o1
切换思路
自我反思
www.sjtu.edu.cn
饮水思源 爱国荣校
数学大模型
数学大模型:专为数学推理任务优化的大模型
典型代表:DeepSeek-Math[1];Qwen2.5-Math[2]
训练集:DeepMath-103K[3]
评估数据集:
• GSM8k[4]: 小学难度的高质量数学数据集,包含8.5k个样本
• MATH[5]: 高中数学竞赛级别难度数据集,包含12,500个样本
• AIME: 美国数学邀请赛,每年举办,每年的竞赛包含30道题目,奥赛级别难度
[1] Shao Z, Wang P, Zhu Q, et al. Deepseekmath: Pushing the limits of mathematical reasoning in open language models[J]. arXiv preprint arXiv:2402.03300, 2024.
[2] Yang A, Zhang B, Hui B, et al. Qwen2. 5-math technical report: Toward mathematical expert model via self-improvement[J]. arXiv preprint arXiv:2409.12122, 2024.
[3] He Z, Liang T, Xu J, et al. Deepmath-103k: A large-scale, challenging, decontaminated, and verifiable mathematical dataset for advancing reasoning[J]. arXiv preprint arXiv:2504.11456,
2025.
[4] Cobbe K, Kosaraju V, Bavarian M, et al. Training verifiers to solve math word problems[J]. arXiv preprint arXiv:2110.14168, 2021.
[5] Hendrycks D, Burns C, Kadavath S, et al. Measuring mathematical problem solving with the math dataset[J]. arXiv preprint arXiv:2103.03874, 2021.
www.sjtu.edu.cn
饮水思源 爱国荣校
数学大模型
DeepSeek-Math:
• 120B数学网页清洗:迭代过滤Common Crawl数据,避免基准污染
• 代码模型初始化:基于DeepSeek-Coder-v1.5而非通用LLM,提升符号处理能力
• GRPO强化学习:分组相对策略优化,减少显存消耗并提升泛化性,后成为R1模型核心
• 性能:7B模型达到当时的SOTA
www.sjtu.edu.cn
饮水思源 爱国荣校
数学大模型
Qwen2.5-Math:
• 预训练语料:Qwen Math Corpus v2
(1T token),含合成数据与中文数
学问题
• 数据生成:Qwen2-72B-Instruct生成
高质量QA对,增强多样性
• CoT & TIR融合:思维链推理+工具集
成(如Python解释器),支持双语解
析
• 奖励模型迭代:Qwen2.5-Math-RM指
导SFT数据演化,强化学习阶段应用
GRPO
结果:7B模型在MATH基准超越30B-
70B开源模型,逼近GPT-4
www.sjtu.edu.cn
饮水思源 爱国荣校
数学大模型
DeepMath-103K
• 专为高难度数学任务设
计的训练集
• 收集了主流的训练集并
进行了大量的数据清理
工作,确保和常见数学
评测集无重合
• 包含了难度标注以及R1
回复
使用DeepMath-103K数据训
练的模型能够有效地提高数
学能力
www.sjtu.edu.cn
饮水思源 爱国荣校
蒸馏学习
如何快速获得长推理模型的数学推理能力?
监督微调(SFT)
• 作用:对齐模型输出与人类解题格式,学习标准推理步骤
• 数据要求:需高质量链式标注
知识蒸馏
• 流程:大模型(教师)生成CoT数据 → 小模型(学生)SFT学习推理模式
• 代表方案:DeepSeek-R1蒸馏版Qwen-7B性能超越32B基线模型
www.sjtu.edu.cn
饮水思源 爱国荣校
蒸馏学习
蒸馏三步法:
• 数据生成:教师模型生成高质量CoT数据
• 拒绝采样:筛除错误答案,保留逻辑清晰、格式规范的推理链
• SFT微调:小模型直接学习教师输出,无需额外RL阶段
优势:高效利用数据,门槛较低,能直接学习复杂的推理行为
局限:小模型性能上限依赖教师能力,复杂问题仍需大模型
www.sjtu.edu.cn
饮水思源 爱国荣校
数学能力评估
传统基准:
• 数据集:GSM8K(小学)、MATH(高中)、AIME(竞赛)
• 指标:正确率、Pass@k(采样k次通过率)
数学评估特点:当前研究仅针对有明确数值/符号答案的问题
前沿方向:证明题正确性评估
挑战:
• LLM自然语言输出:如何从自然语言解答中抽取答案
• 结果一致性评估:如何评估数学表达式一致性
www.sjtu.edu.cn
饮水思源 爱国荣校
数学能力评估
答案抽取:
• GSM8K: 使用4个连续的####来标
记答案
• MATH: 使用\\boxed{}来包裹答案,
目前主流解决方案
优点:
• 统一抽取标准,方便评估
GSM8K方案
缺点:
• 模型需要专门针对输出格式训练
• 无法涵盖所有输出场景
MATH方案
www.sjtu.edu.cn
饮水思源 爱国荣校
数学能力评估
答案评估:如何评估模型生成的答案是否正确?
规则评估:
• 由于模型输出的答案基本遵循LaTex格式,因此可以通过LaTex规则获取表达式,然后通过
人工规则判断是否一致
• 典型代表:Huggingface Math-Verify[1]
LLM Judge:
• 规则评估无法涵盖文字表达的边缘情况,且答案抽取可能有误
• 使用大模型(一般经过专门训练)来直接判断生成答案和标准答案是否等价
• 典型代表:Omni-Judge[2], 一个专用于Omini测试集的答案评估模型
[1] https://github.com/huggingface/Math-Verify
[2] https://huggingface.co/KbsdJames/Omni-Judge
www.sjtu.edu.cn
饮水思源 爱国荣校
总结
数学推理:LLM通过逻辑分析、符号运算与多步推导解决数学问题的能力,需
理解数学概念(如代数、几何)并生成正确答案
长推理模型:推理时产生长思维链的模型
数学大模型:专为数学任务优化,使用数学数据进行预训练的大模型
蒸馏学习:大模型生成数据,小模型直接学习大模型采样结果
数学评估:
• 常见Benchmark:GSM8K, MATH500, AIME
• 评估流程:生成结果,通过统一格式抽取结果,使用规则/LLM进行一致性比对
www.sjtu.edu.cn
饮水思源 爱国荣校
Thank you
www.sjtu.edu.cn
饮水思源 爱国荣校