Files
note_sync/大模型/deepseek/03-数学模型/01-DeepSeekMath-2402.03300_abstract.md
T

17 KiB
Raw Blame History

DeepSeekMath:推动开源语言模型数学推理的极限

原文标题:DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models arXiv:2402.03300 | 发布:5 Feb 2024(最后修订 27 Apr 2024) 作者/机构:Zhihong Shao、Peiyi Wang、Qihao Zhu 等(DeepSeek-AI(深度求索),联合清华大学、北京大学) 原文 PDF:01-DeepSeekMath-2402.03300.pdf

一、摘要(全文翻译)

数学推理因其复杂且高度结构化的特性,对语言模型构成了重大挑战。本文提出 DeepSeekMath 7B:它基于 DeepSeek-Coder-Base-v1.5 7B 继续预训练,使用从 Common Crawl 中获取的 1200 亿(120B)数学相关 token,并混合自然语言与代码数据。DeepSeekMath 7B 在不依赖外部工具包和投票技术的情况下,于竞赛级 MATH 基准上取得了 51.7% 的亮眼成绩,接近 Gemini-Ultra 与 GPT-4 的性能水平。对 DeepSeekMath 7B 采样 64 次并施加自一致性(self-consistency)策略,可在 MATH 上达到 60.9%。DeepSeekMath 的数学推理能力归因于两个关键因素:第一,我们通过精心设计的数据筛选流水线,充分挖掘了公开可得网页数据中的巨大潜力;第二,我们提出了组相对策略优化(Group Relative Policy Optimization, GRPO),它是近端策略优化(Proximal Policy Optimization, PPO)的一种变体,在增强数学推理能力的同时,也优化了 PPO 的显存(内存)使用。

二、核心贡献

  1. 规模化数学预训练语料:从公开的 Common Crawl 中筛出 120B token 的高质量数学网页语料 DeepSeekMath Corpus,规模约为 Minerva 所用数学网页的 7 倍、OpenWebMath 的 9 倍,证明公开网页数据蕴含大量可用信息。
  2. 小模型追平超大模型:DeepSeekMath-Base 7B 在 GSM8K 达 64.2%、竞赛级 MATH 达 36.2%,与闭源 Minerva 540B 大致相当,说明参数量并非数学推理能力的唯一决定因素。
  3. 代码训练提升数学推理:先代码训练再数学训练,可同时提升「不用工具」与「用工具」两种数学求解能力,为「代码训练是否提升推理」提供了部分答案。
  4. arXiv 论文作用有限:arXiv 论文常被纳入数学预训练数据,但实验中它在本文全部数学基准上均无明显提升。
  5. 提出 GRPO 算法:GRPO 舍弃 PPO 的 critic(价值)模型,改用同一问题多个采样输出的组内平均分作基线,显著降低训练开销;仅用 GSM8K/MATH 指令数据即把模型提升到 GSM8K 88.2%、MATH 51.7%,域外数学任务同步提升。
  6. 统一范式与 RL 机理分析:把 SFT、RFT、DPO、PPO、GRPO 统一到「数据来源 + 奖励函数 + 梯度系数」框架,并用在线/离线采样、结果/过程监督、单轮/迭代式 RL 等实验剖析 RL 的有效性与改进方向。

三、方法与技术要点

3.1 迭代式数据筛选流水线与去污染

痛点在于公开网页数据量极大但数学内容稀疏、质量参差,而高质量数学种子集合缺乏多样性。论文以 OpenWebMath 作为初始种子语料训练 fastText 分类器(向量维度 256、学习率 0.1、word n-gram 上限 3 等),取 50 万条种子数据作正例、50 万条 Common Crawl 网页作负例;先对 Common Crawl 做 URL 去重与近重复去重得到 40B 个 HTML 网页,再用该分类器召回数学网页并按打分排序保留靠前部分,保留量由 top 40B–160B token 的预训练实验决定,第一轮保留 top 40B token。

第一轮后仍漏掉大量网页,原因是正例多样性不足。论文把 Common Crawl 划分为互不重叠的域名(domain,即共享同一基础 URL),统计各域名中第一轮被收集网页的占比,超过 10% 的判为数学相关域名(如 mathoverflow.net),再人工标注其中的数学 URL(如 mathoverflow.net/questions),把「URL 已标注但网页未收集」的页面补入种子语料并重训分类器。四轮迭代后共得 3550 万个数学网页、120B token;第四轮发现近 98% 的数据在第三轮已收集,故停止采集。

为避免基准污染,凡与 GSM8K、MATH 及 CMATH、AGIEval 等基准任意子串完全匹配的 10-gram 片段都剔除;不足 10 gram 但至少 3 gram 的基准文本用精确匹配过滤。

3.2 语料质量验证与 DeepSeekMath-Base 7B

论文用 1.3B 通用模型(DeepSeek-LLM 1.3B)在每种数学语料上各训 150B token 做对比,设置沿袭 DeepSeek LLM:AdamW,$\beta_1=0.9$、$\beta_2=0.95$、weight_decay $=0.1$,多步学习率调度(2000 步 warmup 达峰值,进度 80% 降至峰值 31.6%、90% 降至 10.0%),峰值学习率 5.3e-4,批大小 4M token,上下文 4K,框架为 HAI-LLM。结果显示 DeepSeekMath Corpus 在 8 个中英文基准上全面领先,在 50B token(Proof-Pile-2 的一个完整 epoch)处就已优于 Proof-Pile-2,说明平均质量更高;又因语料含中英等多语言内容,中文数学推理同步受益,而英文为主的既有语料对中文提升有限甚至有害。

DeepSeekMath-Base 7B 以代码模型 DeepSeek-Coder-Base-v1.5 7B 为起点(论文观察到从代码模型出发优于通用 LLM),继续训练 500B token,配比为 56% DeepSeekMath Corpus、4% AlgebraicStack、10% arXiv、20% GitHub 代码、10% 中英文 Common Crawl 自然语言;峰值学习率 4.2e-4、批大小 10M token。

3.3 监督微调与 DeepSeekMath-Instruct 7B

数学指令数据共 776K 条:英文部分对 GSM8K 与 MATH 标注工具集成解法,并采用 MathInstruct 子集与 Lila-OOD 训练集(题目用思维链 CoT 或程序思维 PoT 求解),覆盖代数、概率、数论、微积分、几何等;中文部分收集 K-12 数学题,覆盖线性方程等 76 个子主题,并标注 CoT 与工具集成两种解法。训练时样本随机拼接至最长 4K token,训 500 步,批大小 256,学习率恒为 5e-5。

3.4 GRPO:从 PPO 到组相对策略优化

PPO 通过最大化如下代理目标优化策略:


\mathcal{J}_{PPO}(\theta)=\mathbb{E}_{q\sim P(Q),\,o\sim\pi_{\theta_{old}}(O|q)}\frac{1}{|o|}\sum_{t=1}^{|o|}\min\left[\frac{\pi_{\theta}(o_t|q,o_{<t})}{\pi_{\theta_{old}}(o_t|q,o_{<t})}A_t,\ \mathrm{clip}\left(\frac{\pi_{\theta}(o_t|q,o_{<t})}{\pi_{\theta_{old}}(o_t|q,o_{<t})},1-\varepsilon,1+\varepsilon\right)A_t\right]

其中优势 A_t 由广义优势估计(GAE)基于奖励 \{r_{\ge t}\} 与价值函数 V_{\psi} 计算;为抑制对奖励模型的过度优化,标准做法是在每个 token 的奖励中加入参考模型的 KL 惩罚:


r_t = r_{\varphi}(q,o_{\le t}) - \beta\log\frac{\pi_{\theta}(o_t|q,o_{<t})}{\pi_{ref}(o_t|q,o_{<t})}

GRPO 针对两个痛点:PPO 的价值函数通常与策略模型规模相当,带来可观的显存与计算负担;且 LLM 场景中往往只有最后一个 token 被奖励模型打分,逐 token 准确的价值函数很难训练。因此 GRPO 不做价值函数近似,而是对同一问题 q 从旧策略 \pi_{\theta_{old}} 采样一组输出 ${o_1,\dots,o_G}$,以组内平均奖励为基线,最大化:


\mathcal{J}_{GRPO}(\theta)=\mathbb{E}_{q\sim P(Q),\,\{o_i\}_{i=1}^{G}\sim\pi_{\theta_{old}}(O|q)}\frac{1}{G}\sum_{i=1}^{G}\frac{1}{|o_i|}\sum_{t=1}^{|o_i|}\left\{\min\left[\frac{\pi_{\theta}(o_{i,t}|q,o_{i,<t})}{\pi_{\theta_{old}}(o_{i,t}|q,o_{i,<t})}\hat{A}_{i,t},\ \mathrm{clip}\left(\frac{\pi_{\theta}(o_{i,t}|q,o_{i,<t})}{\pi_{\theta_{old}}(o_{i,t}|q,o_{i,<t})},1-\varepsilon,1+\varepsilon\right)\hat{A}_{i,t}\right]-\beta\,\mathbb{D}_{KL}\left[\pi_{\theta}||\pi_{ref}\right]\right\}

其中 \hat{A}_{i,t} 只基于组内各输出的相对奖励计算,这与奖励模型的比较本质相契合——奖励模型通常就在同一问题的多输出比较数据上训练。与 PPO 把 KL 惩罚加进奖励不同,GRPO 直接把 KL 散度加进损失,从而不干扰 \hat{A}_{i,t} 的计算,并采用保证非负的无偏估计量:


\mathbb{D}_{KL}\left[\pi_{\theta}||\pi_{ref}\right]=\frac{\pi_{ref}(o_{i,t}|q,o_{i,<t})}{\pi_{\theta}(o_{i,t}|q,o_{i,<t})}-\log\frac{\pi_{ref}(o_{i,t}|q,o_{i,<t})}{\pi_{\theta}(o_{i,t}|q,o_{i,<t})}-1

3.5 结果监督、过程监督与迭代式 RL

结果监督:奖励模型只对每个输出给一个末尾分数,奖励经组内去均值、除标准差归一化后赋给该输出所有 token 的优势:


\hat{A}_{i,t}=\widetilde{r}_i=\frac{r_i-\mathrm{mean}(\mathbf{r})}{\mathrm{std}(\mathbf{r})}

过程监督:论文认为结果监督只在末尾给一次奖励,对复杂数学任务不够充分高效,故沿 Wang et al. (2023b) 在每步推理结束时给奖励。设第 j 步结束 token 索引为 $index(j)$、第 i 个输出共 K_i 步,全部步骤奖励整体归一化 $\widetilde{r}_i^{index(j)}=\dfrac{r_i^{index(j)}-\mathrm{mean}(\mathbf{R})}{\mathrm{std}(\mathbf{R})}$,再以「后续各步归一化奖励之和」作为该 token 优势:


\hat{A}_{i,t}=\sum_{index(j)\ge t}\widetilde{r}_i^{index(j)}

迭代式 RL:随训练推进,旧奖励模型可能不再足以监督当前策略。算法 1 每轮先把当前策略复制为参考模型,用其采样结果构造奖励模型的新数据,并以混入 10% 历史数据的 replay 机制持续训练旧奖励模型,再用新模型继续训练策略。

3.6 统一范式:数据来源、奖励函数与梯度系数

论文把各类方法的梯度统一写为:


\nabla_{\theta}\mathcal{J}_{\mathcal{A}}(\theta)=\mathbb{E}_{(q,o)\sim\mathcal{D}}\left(\frac{1}{|o|}\sum_{t=1}^{|o|}GC_{\mathcal{A}}(q,o,t,\pi_{rf})\,\nabla_{\theta}\log\pi_{\theta}(o_t|q,o_{<t})\right)

三个关键组件是数据来源 $\mathcal{D}$、奖励函数 \pi_{rf} 与算法 $\mathcal{A}$(把数据与奖励信号加工成决定奖惩力度的梯度系数 $GC$)。据此,SFT 用人工数据、梯度系数恒为 1;RFT 以 SFT 模型离线采样输出按答案正确性筛选;DPO 用成对偏好损失在 SFT 采样输出上优化;Online RFT 改用实时策略的采样输出;PPO/GRPO 用模型奖励信号强化实时采样输出。观察结论是:在线采样显著优于离线采样,优势主要体现在训练后期;GRPO 的独特之处是依据奖励值调节梯度系数,对不同质量回答做差异化强化与惩罚,而 Online RFT 不惩罚错误回答、对正确回答一律等强度强化;结果监督(GRPO+OS)不如过程监督(GRPO+PS),说明细粒度、步骤感知的梯度系数更有益。

四、主要实验结果

基准 / 任务 本模型 对比对象 说明
MATH(无工具,CoT) Instruct 7B 46.8%;RL 7B 51.7% GPT-4 52.9%、Gemini-Ultra 53.2%、GLM-4 47.9%、Baichuan-3 49.2%、Qwen 72B 35.2% 开源社区首次在竞赛级 MATH 上超过 50%;Instruct 比所有开源模型及多数闭源模型(Inflection-2 34.8%、Gemini Pro 32.6%)至少高 9 个百分点
MATH(自一致性,64 采样) 60.9% — 摘要给出
MATH(工具集成推理) Instruct 57.4%;RL 58.8% GPT-4 Code Interpreter 69.7%、InternLM2-Math 20B 54.3%、ToRA 34B 50.8% Instruct 准确率接近 60%,超过全部开源模型
GSM8K(无工具,CoT) Instruct 82.9%;RL 88.2% Gemini Ultra 94.4%、GPT-4 92.0%、InternLM2-Math 20B 82.6% RL 版本优于 7B–70B 全部开源模型
GSM8K(+Python) Instruct 83.7%;RL 86.7% DeepSeek-LLM-Chat 67B 86.7%、Llemma 34B 64.6% 工具集成设置
MGSM-zh(中文) Instruct 73.2%;RL 79.6% DeepSeek-LLM-Chat 67B 74.0%、MetaMath 70B 66.4% RL 较 Instruct 提升明显
CMATH(中文,域外) Instruct 84.6%;RL 88.8% DeepSeek-LLM-Chat 67B 80.3%、WizardMath-v1.0 70B 65.4% RL 仅用 GSM8K/MATH 的 CoT 数据,仍提升域外任务 4.2 个百分点
DeepSeekMath-Base 7B(8 个中英文基准) GSM8K 64.2%、MATH 36.2%、SAT 84.4%、MMLU-STEM 56.5%、CMATH 71.7%、Gaokao-MathQA 35.3% Minerva 540B:58.8% / 33.6% / − / 63.9%;Llemma 34B:54.0% / 25.3% 领先所有开源基座模型;MATH 上超过开源基座 10 个百分点以上,并超过参数量大 77 倍的闭源 Minerva 540B
miniF2F(Isabelle 形式化证明) Base 7B:valid 25.8%、test 24.6% Llemma 34B:21.0% / 21.3%;Mistral 7B:18.9% / 18.0% 非形式到形式证明任务,few-shot 生成证明骨架后由 Sledgehammer 补全细节
MMLU / BBH / 代码 Base 7B:54.9% / 59.5%;HumanEval 40.9%、MBPP 52.6% 前身 DeepSeek-Coder-Base-v1.5:49.1% / 55.2%,43.2% / 60.4%;Mistral 7B:62.4% / 55.7%,28.0% / 41.4% 数学训练提升了语言理解与推理;纳入代码 token 继续训练使其基本保持代码能力
语料对比(1.3B,150B token) DeepSeekMath Corpus 120.2B:GSM8K 23.8%、MATH 13.6%、SAT 56.3%、CMATH 41.5% Proof-Pile-2 51.9B:14.3% / 11.2% / 43.8% / 19.9%;OpenWebMath 13.6B:11.5% / 8.9% / 31.3% / 16.8%;MathPile 8.9B:2.7% / 3.3% / 12.5% / 1.2% 质量最高、覆盖多语言、规模最大;训练曲线更陡且提升更持久,小语料已被重复多轮、性能很快触顶
代码/数学训练顺序(1.3B) 两阶段(代码 400B → 数学 150B):GSM8K 21.9%、MATH 15.3%、GSM8K+Python 17.4%、MATH+Python 9.4% 两阶段(通用 400B → 数学 150B):19.1% / 14.4% / 14.3% / 6.7%;单阶段数学 150B:20.5% / 13.1% / 11.4% / 6.5% 先代码后数学在有无工具两种设置下都更好;单阶段混合训练(400B 代码 + 150B 数学)缓解了灾难性遗忘、把 MATH+Python 提到 13.5%,但无工具数学推理反而下降(GSM8K 17.6%),论文推测 1.3B 规模不足以同时吸收两类数据
arXiv 语料(1.3B 与 7B) MathPile / ArXiv-RedPajama:1.3B 上 GSM8K 2.7% / 3.3%、MATH 3.3% / 3.4%;7B 上 GSM8K 23.6% / 28.1%、MATH 11.5% / 11.1% 未做数学训练的基线:1.3B 2.9% / 3.0%,7B 29.0% / 12.5% 纯 arXiv 语料未带来明显提升甚至退化;miniF2F 同样退化(7B:基线 20.1%/21.7%,MathPile 16.8%/16.4%,ArXiv-RedPajama 14.8%/11.9%)

DeepSeekMath 系列在中文数学基准上优势尤为明显,因为语料没有像以往工作那样只收英文数据。竞赛级 MATH 上,不带工具 51.7% 与带工具 58.8% 都刷新了开源模型记录,但相对 GPT-4 Code Interpreter 与 Gemini-Ultra 仍有差距。RL 版本只在 GSM8K 与 MATH 的 CoT 数据上继续训练,却全面优于 Instruct 版本;纯 arXiv 语料、几何与定理证明类任务则相对薄弱。

五、结论、局限与影响

  • 结论:DeepSeekMath 在竞赛级 MATH 基准上超过全部开源模型并接近闭源模型;它从 DeepSeek-Coder-v1.5 7B 初始化、继续训练 500B token,核心部分是来自 Common Crawl 的 120B 数学 token。消融表明网页数据潜力巨大,arXiv 作用则不如预期;GRPO 以更少显存显著提升数学推理,即使 Instruct 版本分数已很高依然有效。
  • 局限性:论文自述——尽管定量推理基准成绩亮眼,DeepSeekMath 在几何与定理证明上弱于闭源模型(试运行中无法处理三角形与椭圆相关问题),这可能反映预训练与微调的数据选择偏置;受模型规模限制,其少样本能力不如 GPT-4:GPT-4 能随 few-shot 输入提升,DeepSeekMath 在零样本与少样本评测中则表现相近。此外 RL 提升了 Maj@K 却未提升 Pass@K,说明提升来自输出分布更鲁棒、把正确答案从 TopK 中「抬升」,而非基础能力增强;arXiv 无效的结论也有边界——论文尚未研究 arXiv token 对定理非形式化等任务的影响、与其他数据组合的效果、以及更大规模下是否显现收益。
  • 影响:本文证明公开网页数据经精细筛选即可支撑强数学推理,参数量不是唯一决定因素;GRPO 去掉 critic、以组内相对奖励估计基线,大幅节约显存与算力,成为后续大模型强化学习广泛沿用的基础算法;「先代码、后数学」与「arXiv 收益有限」为数据配方提供可复用参考;统一范式把 SFT、RFT、DPO、PPO、GRPO 纳入同一视角,并指出数据源、算法与奖励函数三个改进方向。

六、关键术语对照表

English 中文
Group Relative Policy Optimization (GRPO) 组相对策略优化
Proximal Policy Optimization (PPO) 近端策略优化
Critic / Value Function 评论家(价值函数)
Group Relative Advantage Estimation 组相对优势估计
Common Crawl (CC) 通用网页爬取语料库
fastText Classifier fastText 分类器
Decontamination 去污染(基准泄漏过滤)
Chain-of-Thought (CoT) 思维链
Program-of-Thought (PoT) 程序思维
Tool-Integrated Reasoning (TIR) 工具集成推理
Supervised Fine-Tuning (SFT) 监督微调
Rejection Sampling Fine-Tuning (RFT) 拒绝采样微调
Direct Preference Optimization (DPO) 直接偏好优化
Outcome Supervision / Process Supervision 结果监督 / 过程监督
Self-Consistency 自一致性
Pass@K / Maj@K 通过率 @K / 多数投票 @K
Autoformalization (Informal-to-Formal Proving) 自动形式化(非形式到形式证明)
miniF2F / Isabelle / Sledgehammer miniF2F 基准 / Isabelle 证明助手 / Sledgehammer 自动证明器