DeepSeekMath:挑战大语言模型的数学推理极限
数学推理,可能是AGI皇冠上的明珠...
数据:来自Common Crawl提取的120B高质量数学网页数据,总数据量是开源数据集OpenWebMath的9倍 训练:使用了代码领域模型DeepSeek-Coder-v1.5初始化,可以获得比从通用用模型初始化更好的数学能力 对齐:引入了PPO变体的强化学习算法GRPO,丢弃了Critic Model,显著减少了训练显存并提升了对齐效果 实验:在中英数学基准榜单上超过Mistral 7B、Llemma-34B,逼近GPT-4能力,跟Minerva 540B效果相当 分析:比如代码训练是否提升推理能力? 我们认为它确实如此,至少对于数学推理是这样
模型和论文均已开源:
论文地址: https://arxiv.org/abs/2402.03300
模型下载:https://huggingface.co/deepseek-ai
GitHub主页:https://github.com/deepseek-ai/DeepSeek-Math
迭代式数据采集
数据采集过程是迭代式进行的,最后经过四次数据收集迭代,我们最终收集了35.5M个数学网页,共计120B Tokens,具体流程如下:
步骤 1:选择一部分高质量的数学网页,作为种子集合,用来训练FastText打分模型。
步骤 2:利用训练好的FastText模型,在包含400亿网页的Common Crawl中召回更多与数学相关的网页。
步骤 3:在召回的数学网页中,通过统计识别出与数学相关的域名(例如,mathoverflow.net)。
步骤 4: 对这些域名下的URL路径进行人工标注,标记出与数学内容相关的路径(例如,mathoverflow.net/questions)。
步骤 5: 将这些特定路径下的网页,如果它们未被前述步骤召回,则将它们作为正样本加入到种子集合中,以供下一轮迭代使用。重复这一过程直到完成四轮迭代。
为了确保数据不被来自测试集的数据污染(例如GSM8K和MATH普遍存在于网页中),我们沿用DeepSeek-Coder的n-gram过滤方法。
与开源数据对比
下表展示更多榜单/数据集结果。简而言之,DeepSeekMath数据胜在:中英双语、更大规模、更高质量。
预训练实验细节
初始化模型选取了深度求索开源的DeepSeek-Coder-Base-v1.5,继续训练了500B Tokens。最大学习率为4.2e-4,Batch Size为10M。数据分布如下图:
预训练模型效果
为了对DeepSeekMath-Base 7B的数学能力进行了全面评估,我们采取了三类实验:1)依靠CoT解决数学问题的能力;2)使用工具解决数学问题的能力;3)进行形式化定理证明的能力;4)更通用场景下的语言理解、推理和代码能力。
下表首先展示了模型依靠CoT解决数学问题的能力。DeepSeekMath-Base 7B在所有八个基准测试中领先于开源基础模型(包括数学推理能力超强的Mistral 7B和最近发布的数学领域模型Llemma 34B)。值得注意的是,在竞赛级别的MATH数据集上,DeepSeekMath-Base超过了现有开源基础模型超过10%的绝对值,并且优于540B的闭源模型Minerva,但仅用了1/77的参数量。
其次来看下利用工具来解数学题的能力,即通过Prompt引导模型生成包含math和sympy等包的Python代码来解题。下表可以看出,DeepSeekMath-Base 7B明显超过CodeLlama 34B和Llemma 34B。
紧接着看下形式化定理证明能力,评估方式是将非形式化证明转为形式化证明。我们在miniF2F上进行评估,这是一个用于奥林匹克级别的数学基准测试。结果如下表所示,DeepSeekMath-Base 7B在自动定理证明方面,同样表现出强大的性能。
为了验证在更广泛场景下DeepSeekMath的能力,我们在大模型的语言理解、推理和代码的公开榜单上测试了模型。结果如下表,DeepSeekMath-Base 7B相比初始化的Coder模型,在MMLU和BBH上表现更佳,也就是说数学预训练有助于语言理解和推理能力的提升。
SFT阶段
我们构建了一个中英数学SFT数据集,包括CoT、PoT和工具集成推理等三种格式,训练样本总数为776K。
RL阶段
我们采纳了一种高效的强化学习算法,Group Relative Policy Optimization (GRPO)。与传统的PPO算法相比,GRPO摒弃了对critic模型的依赖,转而基于组内样本得分计算baseline,显著减少了PPO训练所需要的计算资源。基于GRPO,我们探究了结果式监督、过程式监督以及迭代式强化学习的效果。
模型效果
下表评估的是模型未使用工具情况下,通过自身CoT解决数学题的能力。在MATH数学竞赛数据集上,我们的模型DeepSeekMath-RL 7B超过了7B~70B所有开源模型,以及大多数闭源模型(例如Inflection-2和Gemini Pro)13%的绝对值,非常接近GPT-4和Gemini Ultra性能。
其中值得注意的是,DeepSeekMath-RL 7B所有评估指标上都超过了基准模型DeepSeekMath-Instruct 7B,展示了GRPO强化学习训练的有效性。
代码预训练会提升模型数学能力吗?
我们探究了不同训练方式对模型结果的影响,包括:
1)General训练400B Tokens -> Math训练150B Tokens
2)Code训练400B Tokens -> Math训练150B Tokens
3)Math单阶段训练150B Tokens
4)Code和Math混合训练400B+150B Tokens
结果如下表,可以发现:代码训练可以提升模型工具进行数学推理的能力(w/ Tool Use),无论是在两阶段训练还是一阶段训练设置下。
惊喜的是,数学和代码混合预训练有助于数学推理(w/ Tool Use)和代码生成能力(HumanEval)的协同提升。
更多分析实验(例如:ArXiv论文对提高数学推理能力无效)见论文,阅读原文即可获取。
DeepSeek(深度求索),致力于探索AGI的本质,以开源汇聚更多的创造力和生产力。未来我们会持续发布更大规模、创新框架、以及复杂推理能力更好的模型!
点击阅读:
深度求索开源国内首个MoE大模型,技术报告、模型权重同时发布
深度求索发布 67B 大模型,以「开源」加速 AGI 时代到来
可能是最强的开源代码大模型!深度求索发布 DeepSeek Coder
—end—