# DeepSeekMath:推动开源语言模型数学推理的极限 > **原文标题**:DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models > **arXiv**:[2402.03300](https://arxiv.org/abs/2402.03300) | **发布**:5 Feb 2024(最后修订 27 Apr 2024) > **作者/机构**:Zhihong Shao、Peiyi Wang、Qihao Zhu 等(DeepSeek-AI(深度求索),联合清华大学、北京大学) > **原文 PDF**:[01-DeepSeekMath-2402.03300.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_{