新增: DeepSeek 全部 33 篇官方论文(原文 PDF 走 Git LFS + 中文精读笔记与索引)
This commit is contained in:
@@ -0,0 +1,106 @@
|
||||
# DeepSeek-Prover:用大规模合成数据推进大模型的定理证明
|
||||
|
||||
> **原文标题**:DeepSeek-Prover: Advancing Theorem Proving in LLMs through Large-Scale Synthetic Data
|
||||
> **arXiv**:[2405.14333](https://arxiv.org/abs/2405.14333) | **发布**:23 May 2024
|
||||
> **作者/机构**:Huajian Xin、Daya Guo、Zhihong Shao、Zhizhou Ren、Qihao Zhu、Bo Liu、Chong Ruan、Wenda Li、Xiaodan Liang(DeepSeek(深度求索)、中山大学、爱丁堡大学、MBZUAI)
|
||||
> **原文 PDF**:[01-DeepSeek-Prover-2405.14333.pdf](./01-DeepSeek-Prover-2405.14333.pdf)
|
||||
|
||||
## 一、摘要(全文翻译)
|
||||
|
||||
像 Lean 这样的证明助手已经彻底改变了数学证明的验证方式,保证了高准确性与高可靠性。尽管大语言模型(Large Language Model, LLM)在数学推理上展现出潜力,但其在形式化定理证明方面的进展受到了训练数据不足的阻碍。为解决这一问题,我们提出了一种方法,用于生成大量源自高中与本科水平数学竞赛题目的 Lean 4 证明数据。该方法包括:将自然语言问题翻译为形式化陈述、过滤掉低质量陈述、并生成证明以构建合成数据。在由 800 万条带证明的形式化陈述构成的合成数据集上对 DeepSeekMath 7B 模型进行微调后,我们的模型在 Lean 4 miniF2F 测试集上取得了整证明生成(whole-proof generation)准确率 46.3%(64 个样本)与累计 52% 的成绩,超过了 64 个样本下为 23.0% 的基线 GPT-4,以及达到 41.0% 的树搜索强化学习方法。此外,我们的模型在 Lean 4 形式化国际数学奥林匹克(Formalized International Mathematical Olympiad, FIMO)基准上成功证明了 148 道题中的 5 道,而 GPT-4 一道也没能证明。这些结果展示了利用大规模合成数据增强 LLM 定理证明能力的潜力。合成数据集与模型都将公开,以促进该领域的进一步研究。
|
||||
|
||||
## 二、核心贡献
|
||||
|
||||
1. **提出可迭代的合成数据生成流水线**:自动形式化 → 质量过滤 → 证明生成 → 迭代精炼,单轮产出 800 万条「定理–证明」对,同时提升合成数据的规模与质量。
|
||||
2. **刷新 miniF2F 与 FIMO 的 SOTA**:miniF2F 测试集整证明生成达 64 样本 46.3%、累计 52%,超过 GPT-4(23.0%)与树搜索强化学习(41.0%);FIMO 上证明 5/148 题,GPT-4 为 0。
|
||||
3. **用「否定命题并行证明」解决不可证陈述的资源浪费**:同时搜索原命题与否定命题,任一被证明即终止搜索,既加速又充当数据增强。
|
||||
4. **开源数据集与模型**:公开高质量形式化数学证明数据集,推动自动定理证明(Automated Theorem Proving, ATP)社区研究。
|
||||
5. **完整消融**:验证数据来源、陈述打分、迭代轮次、数据规模各自的增益,其中迭代 4 轮使 miniF2F 验证集从 38.1% 升至 59.4%。
|
||||
|
||||
## 三、方法与技术要点
|
||||
|
||||
整体流程由四个关键环节构成(论文 Figure 1):**自动形式化 → 质量过滤 → 陈述证明 → 迭代增强**,循环往复直至模型提升变得微弱。
|
||||
|
||||
### 3.1 自动形式化(Autoformalization)
|
||||
|
||||
形式化证明数据的前提是海量形式化陈述,而人工撰写代价极高,因此转向互联网上丰富的自然语言数学题。作者的观察是:**条件明确、目标清晰的问题比需要复杂定义与构造的高等数学主题更易形式化**,所以本文聚焦高中与本科竞赛题,重点在代数与数论。通过网页抓取与清洗,最终得到 **869,659** 道高质量自然语言数学题。
|
||||
|
||||
初始的 DeepSeek-Prover 基于 DeepSeekMath-Base 7B;因模型起初难以把非形式问题转成形式陈述,作者先用 **MMA 数据集**(来自 Lean 4 mathlib 的形式陈述,由 GPT-4 反向翻译为自然语言描述)微调,再以固定模板要求模型只输出核心声明:
|
||||
|
||||
````text
|
||||
Mathematical Problem in Natural Language:
|
||||
{$informal_statement_with_answers}
|
||||
Translate the problem to Lean 4 (only the core declaration):
|
||||
```lean4
|
||||
{$formal_statement}
|
||||
```
|
||||
````
|
||||
|
||||
### 3.2 质量过滤(Quality Filtering)
|
||||
|
||||
自动形式化结果存在两类主要缺陷,对应两种过滤手段:
|
||||
|
||||
1. **陈述过于简单**:作者设计评分标准,并以 miniF2F-valid 样例作少样本示例,引导模型用思维链(Chain-of-Thought)从前沿相关性、复杂度与深度、跨学科潜力、社区需求缺口、创新性五个维度打分,等级为 "excellent"/"good"/"above average"/"fair"/"poor",**"fair" 与 "poor" 直接剔除**;人工复核确认模型评分与人类直觉高度一致。
|
||||
2. **假设自相矛盾导致空虚结论**:例如模型生成的 `example (θ : ℝ) (h₀ : ∀ z : ℂ, z^2 = -1 ∧ z^3 = -1 ∧ z^6 = 1) ... : θ = 5 * Real.pi / 3`,其对所有复数成立的前提显然为假,结论在数学上无意义(虚真)。为此提出**假设否定(Hypothesis Rejection)**:让模型尝试证明以 `False` 为结论的同一陈述(如用 `simpa using h₀ 1`)——证明成功即说明假设无效,剔除该陈述。
|
||||
|
||||
双策略共同作用后,得到 **712,073** 条高质量形式化陈述。
|
||||
|
||||
### 3.3 陈述证明(Statement Proving)与否定并行搜索
|
||||
|
||||
传统做法是暴力重复尝试直到找到证明或算力耗尽,这在自动形式化场景下代价极高:即便经过质量过滤,作者观察到**至少 20% 的生成陈述仍是错误的**,而对假命题任何可靠证明系统都不可能给出证明。
|
||||
|
||||
为此利用陈述与否定之间的逻辑对称性加速:对每条合成陈述同时启动两条搜索,一条证明 $\Gamma \vdash P$,另一条证明 $\Gamma \vdash \neg P$;**任一条先找到有效证明即终止整个搜索**,因为证明其中一个就决定性地说明另一个不可证。每条搜索流最多尝试 $k$ 个证明。所有被 Lean 4 验证器(`leanprover/lean4:v4.7.0-rc2`)接受的证明——无论对应原命题还是其否定——都被汇总继续训练,因此这一双重搜索同时构成**数据增强**。
|
||||
|
||||
### 3.4 迭代增强(Iterative Enhancement)
|
||||
|
||||
整条流水线高度依赖 DeepSeek-Prover 本身,故每轮之后提升模型能力至关重要:用新生成的数据持续微调,再把更新后的模型用于下一轮自动形式化,循环直到不再有增益。其洞见是模型每轮精炼后都有增量提升,产出的定理–证明对质量逐轮上升,形成正反馈。
|
||||
|
||||
### 3.5 训练设置
|
||||
|
||||
DeepSeek-Prover 基于 DeepSeekMath-Base 7B(decoder-only transformer,预训练语料含 **1200 亿**数学相关 token)。微调使用全局批大小 **512**、恒定学习率 $1\times 10^{-4}$、**6,000** 步 warmup。评测指标为 pass@k,即前 $k$ 次尝试中至少找到一个有效证明。
|
||||
|
||||
## 四、主要实验结果
|
||||
|
||||
| 基准 / 任务 | 本模型 | 对比对象 | 说明 |
|
||||
|---|---|---|---|
|
||||
| miniF2F-test(整证明生成,累计) | **52.0%** | GPT-4-turbo 0409:22.95%(原文 23.0%);Hypertree Proof Search (600M):41.0% | 累计口径为不同采样预算的并集 |
|
||||
| miniF2F-valid(累计) | **60.2%** | GPT-4-turbo 0409:25.4%;Hypertree Proof Search:58.6% | 本文领先所有对比方法 |
|
||||
| miniF2F-test,64 次采样 | **46.3%** | GPT-4-turbo 0409:23.0%;DeepSeekMath-Base 7B:27.5%(128 次) | 整证明生成(非树搜索) |
|
||||
| miniF2F-test,greedy / 8192 / 65536 次 | 30.0% / 48.8% / **50.0%** | — | 性能随采样预算单调提升 |
|
||||
| FIMO(149 道 IMO 短名单题) | 100 次采样证明 4 题;4096 次采样证明 **5 题** | GPT-4:0 题 | 摘要与引言中的 5/148 对应 4096 次采样口径 |
|
||||
| 消融:数据来源(pass@128) | 自动形式化陈述(3.108B token):valid 48.8% / test 42.6% | Mathlib(0.238B token):30.3% / 31.2%;基线:25.4% / 27.5% | 大规模自动形式化数据远胜仅用 mathlib 数据 |
|
||||
| 消融:陈述打分(pass@128) | 高分档(excellent/good/above average):48.8% / 42.6% | 低分档(fair/poor):41.4% / 38.1% | 高分数据领先 4.5% |
|
||||
| 消融:迭代轮次(pass@128,validation) | iteration 0→4:38.1%、45.1%、49.2%、54.5%、**59.4%** | test 同步为 34.0%、39.3%、41.4%、45.1%、46.3% | 每轮迭代稳定带来增益 |
|
||||
| 消融:数据规模(pass@128) | 1K→8,066,621 条:valid 22.95%→42.62%,test 24.18%→40.16% | — | 性能随数据量指数增长而近似成比例提升 |
|
||||
|
||||
DeepSeek-Prover 在 miniF2F 上全面领先:累计口径下 valid 60.2%、test 52.0%,明显高于 GPT-4 的 25.41% 与 22.95%;即便最强的树搜索方法 Hypertree Proof Search(600M)也只在 valid 上达到 58.6%、test 上 41.0%。可扩展性突出:从 greedy 的 30.03% 到 65536 次采样的 50.0% 持续上升。差距仍在——test 累计准确率(52.0%)尚未过半,FIMO 上 4096 次采样也只解出 5/148 题,说明竞赛级难题的形式化证明仍是短板。
|
||||
|
||||
## 五、结论、局限与影响
|
||||
|
||||
- **结论**:从高中与本科数学竞赛题生成大规模合成证明数据——自然语言转形式陈述、低质量过滤、迭代式证明生成——构建 800 万条证明数据,显著提升 DeepSeekMath 7B 的定理证明表现,在 miniF2F 与 FIMO 上超过 GPT-4 及其他方法,并开源数据集与模型。
|
||||
- **局限性**:论文自述当前工作**主要聚焦中学与本科水平的代数与数论**,未来将扩展问题多样性以提升方法的通用适用性;论文未明确给出除「过滤后至少 20% 陈述仍错误」以外的错误率统计。
|
||||
- **影响**:表明大规模合成数据可有效缓解形式化证明语料稀缺这一核心瓶颈,为神经定理证明器提供可复制的数据构造范式;开源代码、模型与数据有助于提升证明验证可靠性,并为学生与研究者提供教育资源。作者在「更广泛影响」中强调负责任使用,并关注数据隐私与知识产权合规。
|
||||
|
||||
## 六、关键术语对照表
|
||||
|
||||
| English | 中文 |
|
||||
|---|---|
|
||||
| Automated Theorem Proving (ATP) | 自动定理证明 |
|
||||
| Autoformalization | 自动形式化 |
|
||||
| Formal Statement | 形式化陈述 |
|
||||
| Informal Problem | 非形式化问题 |
|
||||
| Whole-Proof Generation | 整证明生成 |
|
||||
| Proof Assistant (Lean 4) | 证明助手(Lean 4) |
|
||||
| Formal Verifier | 形式化验证器 |
|
||||
| Hypothesis Rejection | 假设否定 / 假设排斥 |
|
||||
| Quality Filtering | 质量过滤 |
|
||||
| Statement Scoring | 陈述打分 |
|
||||
| Iterative Enhancement | 迭代增强 |
|
||||
| negation $\Gamma \vdash \neg P$ | 否定式(证明否定命题) |
|
||||
| vacuous conclusion | 空虚结论(虚真结论) |
|
||||
| pass@k | pass@k(前 k 次尝试中至少一次成功) |
|
||||
| miniF2F | miniF2F 基准 |
|
||||
| FIMO (Formalized International Mathematical Olympiad) | 形式化国际数学奥林匹克 |
|
||||
| Expert Iteration | 专家迭代 |
|
||||
| Tree Search | 树搜索 |
|
||||
| mathlib | mathlib 数学库 |
|
||||
Binary file not shown.
@@ -0,0 +1,115 @@
|
||||
# DeepSeek-Prover-V1.5:借助证明助手反馈的强化学习与蒙特卡洛树搜索
|
||||
|
||||
> **原文标题**:DeepSeek-Prover-V1.5: Harnessing Proof Assistant Feedback for Reinforcement Learning and Monte-Carlo Tree Search
|
||||
> **arXiv**:[2408.08152](https://arxiv.org/abs/2408.08152) | **发布**:15 Aug 2024
|
||||
> **作者/机构**:Huajian Xin、Z.Z. Ren、Junxiao Song、Zhihong Shao 等(DeepSeek-AI,深度求索)
|
||||
> **原文 PDF**:[02-DeepSeek-Prover-V1.5-2408.08152.pdf](./02-DeepSeek-Prover-V1.5-2408.08152.pdf)
|
||||
|
||||
## 一、摘要(全文翻译)
|
||||
|
||||
我们提出了 DeepSeek-Prover-V1.5,这是一个面向 Lean 4 定理证明的开源语言模型,它通过同时优化训练过程与推理过程来改进 DeepSeek-Prover-V1。该模型在 DeepSeekMath-Base 上进行了预训练,并在形式化数学语言方面做了专门化;随后,它使用一个源自 DeepSeek-Prover-V1 的、经过增强的形式化定理证明数据集进行监督微调。进一步的提升则通过基于证明助手反馈的强化学习(Reinforcement Learning from Proof Assistant Feedback, RLPAF)来实现。在 DeepSeek-Prover-V1 的单遍完整证明生成方法之外,我们提出了 RMaxTS——一种蒙特卡洛树搜索的变体,它采用由内在奖励驱动的探索策略来生成多样化的证明路径。DeepSeek-Prover-V1.5 相比 DeepSeek-Prover-V1 取得了显著改进,在高中水平的 miniF2F 基准测试集上取得了新的最优结果(63.5%),在本科水平的 ProofNet 基准测试集上也取得了新的最优结果(25.3%)。
|
||||
|
||||
## 二、核心贡献
|
||||
|
||||
1. **形式化数学专用预训练**:在 DeepSeekMath-Base 上用数学与代码数据继续预训练,重点覆盖 Lean、Isabelle、Metamath 等形式语言,弥补通用基座对形式系统语法语义掌握不足的问题。
|
||||
2. **两类数据增强的监督微调**:用 DeepSeek-Coder V2 236B 为 Lean 4 代码标注自然语言思维链注释,并把验证器返回的中间 tactic state 以注释插入代码,使模型兼顾自然语言推理对齐与编译器反馈利用,最终数据集含 9,645k 条序列。
|
||||
3. **基于证明助手反馈的强化学习(RLPAF)**:用 GRPO 以 Lean 验证结果(正确为 1、否则为 0)作为奖励做在线强化学习,避免训练学习式奖励模型带来的失配。
|
||||
4. **截断-恢复(truncate-and-resume)机制**:在首个验证错误处截断、把成功片段解析为树节点、再从节点恢复生成,无需改变模型目标即把树搜索嵌入整段生成框架,统一了逐步生成与整段生成两条路线。
|
||||
5. **RMaxTS 搜索算法**:以「新增节点即给奖励」的内在奖励驱动探索,并用折扣 UCB(DUCB)应对奖励非平稳性,配合根并行、树并行与虚拟损失实现大规模并行搜索。
|
||||
|
||||
## 三、方法与技术要点
|
||||
|
||||
### 3.1 预训练与监督微调(Section 2.1–2.2)
|
||||
|
||||
在 DeepSeekMath-Base 上继续预训练高质量数学与代码数据得到 DeepSeek-Prover-V1.5-Base,重点覆盖 Lean、Isabelle、Metamath 等形式语言。**痛点**:形式化证明既要掌握 Lean 的语法语义,又要把抽象推理落到精确形式表示,通用数学基座不足。
|
||||
|
||||
证明代码取自 Mathlib4、DeepSeek-Prover-V1 合成定理、Lean Workbook 与 miniF2F/ProofNet 验证集,并用专家迭代(生成—验证—重训—再生成)扩充。针对「自然语言有细致推导、Lean 里却靠高层 tactic 暴力求解、掩盖内部机理」的问题,作者用 DeepSeek-Coder V2 236B 把自然语言推理**作为注释嵌入代码**:证明块开头插入完整解法,并在每个 tactic 前交替插入对应步骤,用两种引导提示区分 CoT 与非 CoT。为支持截断-恢复,借 LeanDojo 增强 Lean REPL 抽取 tactic 三元组(位置及前后 tactic state),并把状态以 `/- tactic state: … -/` 插入;训练时该注释之后的 token 计入监督损失,之前作为提示不参与。微调共 9B token,批 2,048,常数学习率 1e-4,100 步预热,最大上下文 4,096。
|
||||
|
||||
### 3.2 基于证明助手反馈的强化学习(Section 2.3)
|
||||
|
||||
训练提示从 SFT 数据中筛选「多次尝试成功率中等」的定理,兼顾提升空间与正反馈可得性,过滤后保留约 4.5k 条定理陈述,每条同时加 CoT 与非 CoT 提示。奖励无需奖励模型:Lean 验证正确给 1、否则给 0;该信号精确但稀疏,故靠上述筛选缓解。算法采用 GRPO——按组内相对奖励优化、无需 critic 模型,且组内恰好同时含正确与错误证明,与组相对特性契合。训练以 SFT 模型兼作初始模型与 KL 惩罚参考模型,学习率 5e-6,KL 系数 0.02,每定理采样 32 条候选、最长 2,048,批大小 512。
|
||||
|
||||
### 3.3 评估设置(Section 2.4)
|
||||
|
||||
基准为 miniF2F(高中数学竞赛,244 验证 + 244 测试)与 ProofNet(本科数学,185 验证 + 186 测试),均由 Lean 3 人工转为 Lean 4.9.0。Base 用 3-shot,SFT/RL 用 CoT 与非 CoT 两种引导提示。度量是 pass@$K$;单张 A100-40G 配 vLLM 采样(temperature 1、top-p 0.95、上限 2,048 token),导入 Mathlib4 与 Aesop 验证,单次限时 300 秒。
|
||||
|
||||
### 3.4 Tactic 级树抽象:截断与恢复(Section 3.1)
|
||||
|
||||
证明树建在 tactic 级,每条边代表一次 tactic state 转换。**截断**:把整段证明交 Lean 解析,在最早验证错误处截断,保证之前的 tactic 均可成功推进;代码切成若干片段,每片段含一个合法 tactic 及其思维链注释、对应一条树边,形成根到某节点的路径。**恢复**:Lean 4 中不同 tactic 可到达同一状态,故每个节点存一组等价 tactic;扩展时随机选一个作提示,提示由「以该 tactic 结尾的不完整代码 + 当前 tactic state 注释块」组成,微调模型正是被训练来识别该格式并续写。该抽象把不确定长度的整段生成转为可比较复用的离散动作,使搜索无需改动模型即可复用单遍生成模型。
|
||||
|
||||
### 3.5 基于 MCTS 的交互式定理证明(Section 3.2)
|
||||
|
||||
采用标准 MCTS 的选择、扩展、模拟、反向传播四步,但**把模拟并入扩展**,因为整段生成模型在扩展节点时本身就完成了一次 rollout。
|
||||
|
||||
**选择**:从根向下按树策略挑节点:
|
||||
|
||||
$$\text{TreePolicy}(s)=\mathop{\arg\max}_{a\in Children(s)\cup\{\oslash\}}Q_{UCB}(s,a)$$
|
||||
|
||||
动作既可是走向子节点 $a\in Children(s)$,也可是扩展当前节点(记 $a=\oslash$)。这里用**虚拟节点**技术:为每个节点配一个「假想子节点」代表选中自身做扩展,使搜索能持续扩展非叶节点——这对生成模型很关键,其输出范围无法用固定次数的试探界定。价值估计由利用与探索项组成:
|
||||
|
||||
$$Q_{UCB}(s,a)=\underbrace{Q(s,a)}_{\text{Exploitation}}+\underbrace{UCB(s,a)}_{\text{Exploration}}$$
|
||||
|
||||
$Q(s,a)$ 是依据历史的采样估计,$UCB(s,a)$ 随 $(s,a)$ 被反复执行而衰减,$Q_{UCB}(s,a)$ 可视为以高概率成立的上界。
|
||||
|
||||
**扩展**:从节点恢复不完整代码、做一次完整证明生成并交 Lean 验证;通过即终止搜索得新证明,否则在最早错误处截断,把剩余 tactic 转为一条路径并入树。传统竞赛 MCTS 每次只扩一层,这里每次迭代可能**插入整条节点路径**。**反向传播**:对第 $t$ 次迭代轨迹 $\tau=\{(root,s^{(1)}),\dots,(s_t,\oslash)\}$ 上所有 $(s,a)$ 更新价值;外在奖励来自编译器:完成 $R_{\text{extrinsic}}(\tau)=1$,否则为 0。
|
||||
|
||||
### 3.6 面向搜索的内在奖励:RMaxTS(Section 3.3)
|
||||
|
||||
证明搜索的外在奖励极度稀疏——只有完全解出才有非零奖励,是典型的「难探索」问题。RMaxTS 借鉴 RMax「到达未见状态即给最大奖励」的思想:完成前既无外在奖励,探索便完全由内在奖励驱动,即 $R(\tau)=R_{\text{intrinsic}}(\tau)$(类似 ZeroRMax):
|
||||
|
||||
$$R_{\text{intrinsic}}(\tau)=\mathbb{I}\left[\text{at least one new node is added to the search tree}\right]$$
|
||||
|
||||
即一次扩展只要新增节点就给奖励,从而优先扩展能生成多样 tactic state 的节点;由于不同代码可能产生相同状态转移,该启发式还减少冗余。
|
||||
|
||||
**非平稳性**是第二个难点:随搜索树扩张,发现含未见状态的新节点越来越难,内在奖励期望值随探索衰减;标准 UCB1($Q_{UCB1}(s,a)=\frac{W(s,a)}{N(s,a)}+\sqrt{\frac{2\ln\sum_{a'}N(s,a')}{N(s,a)}}$,$W,N$ 为奖励之和与次数)无法适应,故改用折扣上置信界:
|
||||
|
||||
$$Q_{DUCB}(s,a)=\frac{W_{\gamma}(s,a)}{N_{\gamma}(s,a)}+\sqrt{\frac{2\ln\sum_{a'}N_{\gamma}(s,a')}{N_{\gamma}(s,a)}},\quad W_{\gamma}=\sum_{t=1}^{N}\gamma^{N-t}R(\tau_{t}),\quad N_{\gamma}=\sum_{t=0}^{N-1}\gamma^{t}$$
|
||||
|
||||
使新反馈权重更大,实践中取 $\gamma=0.99$。与无限时域 MDP 值迭代不同,此处的折扣施加在**树搜索迭代**上而非单条轨迹的动作步长上。
|
||||
|
||||
### 3.7 并行化与既有方法对比(Section 3.4–3.5)
|
||||
|
||||
并行手段有三:根并行(每节点 256 个 runner、每 GPU 一个模型,Lean 在数千核集群上以沙箱进程异步验证)、树并行(每棵树 32 个线程 worker 循环执行选点—生成—验证—回传)、虚拟损失(进行中的迭代暂记奖励 0,促使并发 worker 选不同节点)。以往方法分两路:多遍逐步生成(GPT-f、Thor、ReProver、HTPS 等,适配搜索但通信开销大)与单遍整段生成(DSP、LEGO-Prover、Lyra 等,高效却用不上中间状态、易误差累积);截断-恢复把二者统一,用近乎相同目标同时支撑两种范式。
|
||||
|
||||
## 四、主要实验结果
|
||||
|
||||
| 基准 / 任务 | 本模型 | 对比对象 | 说明 |
|
||||
|---|---|---|---|
|
||||
| miniF2F-test(单遍 pass@128) | 51.6% ± 0.5%(RL, CoT) | V1 46.1% ± 0.5%;SFT 50.4% ± 0.4%;Base 29.7% ± 0.5% | RL 在全部 $K$ 上均有提升 |
|
||||
| miniF2F-test(单遍最大预算) | 60.2%(RL, 16×6400) | V1 50.0%;SFT 57.4% | 提升 10.2 个百分点 |
|
||||
| miniF2F-test(树搜索) | 63.5%(RL + RMaxTS, 32×6400†) | InternLM2-StepProver 54.5%;HTPS 41.0%;SFT+RMaxTS 60.2% | 新 SOTA;† 为两种提示混合 |
|
||||
| miniF2F-test(等预算) | 54.9% ± 0.7%(RL, 3200 次单遍采样) | InternLM2-StepProver 54.5%(64×3200 树搜索) | 采样预算小一个量级以上 |
|
||||
| ProofNet-test(单遍) | 23.7%(SFT/RL, 4×6400) | Base 9.7% | RL 在 128 次预算下 18.2% ± 0.5% |
|
||||
| ProofNet(树搜索) | 25.3%(RL + RMaxTS),验证集 25.4% | ReProver 13.8%;InternLM2-StepProver 18.1% | 全量(all)22.6%→25.3% |
|
||||
| RMaxTS 消融(16×6400) | RMaxTS 62.7% | 单遍 60.2%;UCT(无内在奖励)61.1%;DUCB→UCB1 60.7%;无 tactic state 61.1% | 两个核心组件都必要 |
|
||||
|
||||
本模型在 miniF2F-test 上全面领先:单遍 60.2% 较 V1 的 50.0% 提升 10.2 个百分点,结合 RMaxTS 后达 63.5%;ProofNet 上单遍与树搜索分别为 23.7%(test)与 25.3%,超过 ReProver(13.8%)与 InternLM2-StepProver(18.1%)。等预算优势更明显:RL 模型仅 3200 次单遍采样即达 54.9%,后者需 64×3200 次树搜索才达 54.5%。消融显示去掉内在奖励的 UCT 退化为 61.1%、DUCB 换成 UCB1 为 60.7%、去掉 tactic state 提示亦为 61.1%,三者缺一不可;CoT 与非 CoT 互补(16×6400 时 60.2% vs 57.4%),混合策略把 RL 模型推到 63.5%。
|
||||
|
||||
## 五、结论、局限与影响
|
||||
|
||||
- **结论**:DeepSeek-Prover-V1.5 是 70 亿参数模型,在 Lean 4 形式化证明上超越所有开源模型:先以形式化数学语料扩展 DeepSeekMath-Base 7B,再经 Lean 4 代码补全数据监督微调与 GRPO 在线强化学习,最后由 RMaxTS 做大规模探索式搜索。该框架意在建立形式化证明的 AlphaZero 式流水线——专家迭代对应试错循环,编译器充当「世界模型」提供监督。
|
||||
- **局限性**:作者自述目前只覆盖强化学习的**探索**侧面(RMaxTS 多样化生成),**利用**侧面即搜索本身尚未探索;附录示例显示 CoT 偏系统性数学思考、非 CoT 更擅长用高层 tactic 解决可自动化的计算问题,单一模式各有短板;且 ProofNet 验证集参与了监督微调的专家迭代,其成绩需谨慎解读。
|
||||
- **影响**:作者认为有前景的方向是训练 critic 模型评估不完整证明并剪枝搜索分支,这种「部分证明」critic 会隐式实现时序信用分配,把证明级反馈分解为步级价值差;如何为长规划路径构建 critic 并给出引导奖励仍是难题。此外研究已从单定理证明走向复杂多定理 Lean 文件中的真实理论证明,作者观察到当前模型已具备一定文件级上下文理解能力。
|
||||
|
||||
## 六、关键术语对照表
|
||||
|
||||
| English | 中文 |
|
||||
|---|---|
|
||||
| Formal Theorem Proving | 形式化定理证明 |
|
||||
| Lean 4 / tactic mode | Lean 4 / tactic 模式 |
|
||||
| Whole-Proof Generation | 完整证明生成 |
|
||||
| Proof-Step Generation | 逐步证明生成 |
|
||||
| Supervised Fine-Tuning (SFT) | 监督微调 |
|
||||
| Reinforcement Learning from Proof Assistant Feedback (RLPAF) | 基于证明助手反馈的强化学习 |
|
||||
| Group Relative Policy Optimization (GRPO) | 组相对策略优化 |
|
||||
| Chain of Thought (CoT) | 思维链 |
|
||||
| Expert Iteration | 专家迭代 |
|
||||
| Tactic State | tactic 状态 |
|
||||
| Truncate-and-Resume | 截断-恢复机制 |
|
||||
| Monte-Carlo Tree Search (MCTS) | 蒙特卡洛树搜索 |
|
||||
| RMaxTS (RMax applied to Tree Search) | 应用于树搜索的 RMax 算法 |
|
||||
| Intrinsic Reward | 内在奖励 |
|
||||
| Discounted Upper Confidence Bound (DUCB) | 折扣上置信界 |
|
||||
| Virtual Loss | 虚拟损失 |
|
||||
| miniF2F / ProofNet | miniF2F / ProofNet 基准 |
|
||||
| Pass@K | 前 K 次尝试通过率 |
|
||||
Binary file not shown.
@@ -0,0 +1,93 @@
|
||||
# DeepSeek-Prover-V2:通过子目标分解强化学习推进形式化数学推理
|
||||
|
||||
> **原文标题**:DeepSeek-Prover-V2: Advancing Formal Mathematical Reasoning via Reinforcement Learning for Subgoal Decomposition
|
||||
> **arXiv**:[2504.21801](https://arxiv.org/abs/2504.21801) | **发布**:30 Apr 2025(最后修订 18 Jul 2025)
|
||||
> **作者/机构**:Z.Z. Ren、Zhihong Shao、Junxiao Song、Huajian Xin、Haocheng Wang、Wanjia Zhao、Liyue Zhang、Zhe Fu、Qihao Zhu、Dejian Yang、Z.F. Wu、Zhibin Gou、Shirong Ma、Hongxuan Tang、Yuxuan Liu、Wenjun Gao、Daya Guo、Chong Ruan 等 + DeepSeek(深度求索)
|
||||
> **原文 PDF**:[03-DeepSeek-Prover-V2-2504.21801.pdf](./03-DeepSeek-Prover-V2-2504.21801.pdf)
|
||||
|
||||
## 一、摘要(全文翻译)
|
||||
|
||||
我们提出 DeepSeek-Prover-V2,这是一个开源大语言模型,专为 Lean 4 中的形式化定理证明而设计,其初始化数据由一个以 DeepSeek-V3 为驱动的递归定理证明流水线(recursive theorem proving pipeline)收集而来。冷启动(cold-start)训练过程首先提示 DeepSeek-V3 将复杂问题分解为一系列子目标。已解出子目标的证明被合成为一条思维链(chain-of-thought)过程,并与 DeepSeek-V3 的逐步推理相结合,从而为强化学习构建出初始的冷启动数据。这一过程使我们能够把非形式化(informal)与形式化(formal)数学推理整合进同一个统一模型。由此得到的模型 DeepSeek-Prover-V2-671B 在神经定理证明中取得了当前最优(state-of-the-art)性能:在 MiniF2F-test 上达到 88.9% 的通过率,并解出了 PutnamBench 中 658 道题目里的 47 道。除标准基准之外,我们还提出了 ProverBench,这是一个包含 325 道形式化题目的集合,用以丰富我们的评测,其中含 15 道选自近期 AIME 竞赛(24–25 年)的题目。对这 15 道 AIME 题目的进一步评测显示,该模型成功解出其中 6 道。作为对比,DeepSeek-V3 使用多数投票解出其中 8 道,这表明大语言模型中形式化数学推理与非形式化数学推理之间的差距正在显著缩小。
|
||||
|
||||
## 二、核心贡献
|
||||
|
||||
1. **递归子目标分解的证明流水线**:用 DeepSeek-V3 把复杂定理拆成自然语言证明草图并同步形式化为带 `sorry` 占位符的 Lean 4 语句序列,再用 7B prover 递归求解各子目标,大幅降低证明搜索算力。
|
||||
2. **子目标驱动的课程学习**:把子目标转写为两类新定理(带前缀子目标作前提、不带前提)注入 expert iteration,把稀疏的证明成功信号变密,引导模型逐步攻克难题。
|
||||
3. **非形式推理与形式化证明的统一模型**:把子目标证明拼成完整形式化证明后接在 DeepSeek-V3 的思维链之后,构成数百条合成冷启动数据,使单一模型兼具自然语言推理与 Lean 形式化能力。
|
||||
4. **面向推理的强化学习与一致性奖励**:在二元对错奖励之上,早期训练引入一致性奖励(consistency reward)惩罚证明结构与思维链引理分解的不一致,强制证明包含全部 `have` 结构引理。
|
||||
5. **新的最优性能与开源基准 ProverBench**:671B 模型在 MiniF2F-test 上以 32 次采样达 82.4%、8192 次采样达 88.9%,ProofNet-test Pass@1024 为 37.1%,解出 PutnamBench 47/658,并开源含 15 道 AIME 24&25 题在内的 ProverBench。
|
||||
|
||||
## 三、方法与技术要点
|
||||
|
||||
### 3.1 基于子目标分解的递归证明搜索
|
||||
|
||||
**从自然语言推理勾勒形式化证明(Sketching Formal Proofs from Natural Language Reasoning)**。人类数学家惯于把复杂定理拆成一串中间引理,论文沿用该思路直接调用现成的 DeepSeek-V3:先让它用自然语言分析问题,再把证明拆成小步并逐句翻译为 Lean 语句。痛点是通用模型写不出完整可验证的 Lean 证明,因此只要求它输出高层证明草图、细节留空——最终得到一条由若干 `have` 语句构成的 Lean 定理,每个 `have` 以 `sorry` 占位符结尾,标记一个待解子目标。
|
||||
|
||||
**子目标的递归求解(Recursive Resolution of Subgoals)**。系统从 `have` 语句抽取子目标表达式,一方面用它替换原问题目标(图 3(a)),另一方面把先前子目标作为前提加入(图 3(b))。如此后置子目标可利用前面步骤的中间结果,形成更局部的依赖结构、生成更简单的引理。为控制开销,每个分解引理的证明搜索交给专门优化的 7B prover;所有分解步解出后,原定理的完整证明可自动拼装。
|
||||
|
||||
**面向子目标定理证明的课程学习(Curriculum Learning)**。prover 训练依赖大规模形式化题集,但自动形式化所得题目的奖励信号稀疏:大量尝试产不出成功证明,没有正反馈。论文的做法是用子目标扩张训练语句覆盖面:生成"带前缀前提"与"不带前提"两类子目标定理(对应图 3(b) 与 (a)),二者并入 expert iteration,构成逐步引导模型攻克精选难题的课程。
|
||||
|
||||
### 3.2 统一非形式推理与证明形式化
|
||||
|
||||
**合成数据冷启动**。论文筛选出 7B prover 端到端无法解决、但全部子目标均已被解出的一批难题,把子目标证明拼成原问题的完整形式化证明,再接在 DeepSeek-V3 那条描述引理分解的思维链之后,形成"非形式推理 + 后续形式化"的连贯数据,累积数百条高质量冷启动样本。与同期工作 Kimina-Prover 的"反向流程"(先收集完整形式化证明,再逆向合成中间自然语言推理步骤)不同,本文直接把自然语言证明形式化为结构化证明草图。
|
||||
|
||||
**面向推理的强化学习**。在冷启动数据上微调后,论文按推理模型的标准训练目标,用正确/错误的二元反馈作为主要奖励监督。训练中发现生成的证明结构经常偏离思维链所引导的引理分解,为此在早期训练引入一致性奖励显式惩罚这种结构错位,该约束在需要多步推理的复杂定理上明显提升了正确率。
|
||||
|
||||
### 3.3 DeepSeek-Prover-V2 的训练细节
|
||||
|
||||
**两阶段训练(Two-Stage Training)**。模型建立两种互补的证明生成模式,由两条不同提示词控制(与 Prover-V1.5 一致):高吞吐的非思维链模式(non-CoT)直接产出简洁 Lean 代码;高精度的思维链模式(CoT)先系统陈述中间推理再构造最终形式化证明。第一阶段在课程学习框架内用 expert iteration 训练 non-CoT prover,同时借助子目标递归证明为难题合成证明——选 non-CoT 是因其推理与验证周期更快。第二阶段利用冷启动 CoT 数据再做一轮强化学习增强 CoT 模式。
|
||||
|
||||
**Expert iteration**。每轮迭代用当前最优策略对历史未解难题生成证明尝试,经 Lean 校验成功的尝试并入 SFT 数据集训练更强的模型。与 Prover-V1/V1.5 相比仅两处训练题分布改动:加入自动形式化与多个开源数据集的题目以拓宽领域覆盖;加入经子目标分解生成的题目,目标是攻克 MiniF2F 验证集中更难的实例。
|
||||
|
||||
**监督微调**。在 DeepSeek-V3-Base-671B 上以恒定学习率 $5\times 10^{-6}$、上下文窗口 16,384 tokens 做 SFT;语料由 non-CoT 数据与冷启动 CoT 数据组成——前者强调 Lean 形式验证技能,后者显式建模从数学直觉到形式证明结构的认知过程。
|
||||
|
||||
**强化学习**。算法采用 GRPO(Group Relative Policy Optimization)。与 PPO 不同,GRPO 无需单独的 critic 模型,而是对每个定理提示采样一组候选证明、按相对奖励优化策略。奖励为二元信号:Lean 证明验证正确得 1,否则得 0。训练提示词只保留"足够难但 SFT 模型可解"的问题;每轮采样 256 道问题,每题生成 32 个候选证明,最大序列长度 32,768 tokens。
|
||||
|
||||
**蒸馏**。把 DeepSeek-Prover-V1.5-Base-7B 的上下文长度从 4,096 扩到 32,768 tokens,用 671B 模型强化学习阶段的 rollout 数据微调;另纳入 expert iteration 的 non-CoT 数据,以提供小模型上的低成本证明选项,并施加与 671B 相同的强化学习阶段。
|
||||
|
||||
## 四、主要实验结果
|
||||
|
||||
所有实验在 Lean 4.9.0-rc2 下进行,测试环境与 Prover-V1.5 相同;未特别说明的基线成绩取自各自原论文。
|
||||
|
||||
| 基准 / 任务 | 本模型 | 对比对象 | 说明 |
|
||||
|---|---|---|---|
|
||||
| MiniF2F-test(Pass@32) | 82.4%(671B, CoT) | Kimina-Prover-Preview 72B:68.85%;Goedel-Prover-SFT 7B:64.7% | 仅用 32 个样本即超越所有 8192 样本基线 |
|
||||
| MiniF2F-test(Pass@8192) | 88.9%(671B, CoT) | Kimina-Prover-Preview 72B:80.74% | 论文报告的最优数字 |
|
||||
| MiniF2F-test(Pass@1 / 1024) | 61.9% / 86.6%(671B, CoT) | 同模型 non-CoT:59.5% / 76.7% | CoT 相对 non-CoT 全面领先 |
|
||||
| MiniF2F-valid(课程学习,Pass@8192) | 219(+2)/244 = 90.6% | miniF2F-test:217/244 = 88.9% | V3+7B 的子目标课程在 valid 上达 89.8%,接近 671B |
|
||||
| ProofNet-test(Pass@1024) | 37.1%(671B, CoT) | STP 7B:26.9%(25600);671B non-CoT:31.2% | 训练数据以高中为主,仍能泛化到本科数学 |
|
||||
| PutnamBench(Pass@1024) | 47/658(671B, CoT) | STP 7B:8/644;Goedel-Prover-SFT 7B:7/644 | 初轮解出 49 题,剔除 2 道表述有误题后为 47 |
|
||||
| CombiBench with-solution(Pass@16) | 10/100(671B, CoT) | Kimina-Prover-Preview 7B:7/100 | 过滤后实际评测 77 题,初报 12 题、终报 10 题 |
|
||||
| FormalMATH-All / Lite(Pass@32) | 28.31% / 56.00%(671B, CoT) | STP 7B:13.87% / 48.59% | Lite 上 Pass@3200 提升到 61.88% |
|
||||
| ProverBench 全量(Pass@512) | 59.1%(671B, CoT) | STP 7B:36.3% | ProverBench 共 325 题 |
|
||||
| ProverBench 中 AIME 24&25(Pass@512) | 6/15(671B, CoT) | DeepSeek-V3-0324 以 Maj@16 解出 8/15 | 形式化与非形式化推理差距"显著收窄" |
|
||||
|
||||
论文在几乎所有基准上刷新最优成绩:MiniF2F-test 以 32 样本即达 82.4%,参数量远小的 7B 版本(CoT,Pass@8192 为 82.0%)也超过所有已开源 prover。采样预算从 1 增至 8192 时 7B 与 671B 差距明显拉大,说明大模型样本效率更高、改进曲线更陡。本科级别提升尤为突出:PutnamBench 从 non-CoT 的 15/658 升至 CoT 的 47/658。差距仍存于最高难度赛事题——AIME 24&25 上形式化模型解出 6/15,低于非形式化的 DeepSeek-V3(8/15);且 CoT 开销高昂:MiniF2F-test 平均输出 tokens 为 7B 4488.5、671B 6751.9,non-CoT 仅 442.6 与 761.8。
|
||||
|
||||
## 五、结论、局限与影响
|
||||
|
||||
- **结论**:论文提出一套合成冷启动推理数据的流水线:以递归定理证明框架为基础,DeepSeek-V3 统一承担子目标分解与引理形式化,高层证明草图被拆成可用 7B 小模型高效求解的子目标序列;课程学习用子目标生成由易到难的训练任务;完整形式化证明与思维链配对,得到衔接非形式数学思维与形式证明结构的冷启动数据,后续强化学习进一步强化这一衔接。最终 671B 模型在从高中竞赛到本科数学的基准上一致超越所有基线。
|
||||
- **局限性**:论文未设"局限性"专节,作者自述的相关问题有三处。其一,强化学习初期出现"奖励作弊(reward hacking)"——7B 模型曾解出 13 道 671B 未解的 PutnamBench 题,追查确认是 Lean 4.9.0 的用户界面 bug(`apply?` 战术在某些边界情形下不生成 `sorry` 声明),7B 输出频繁使用 `Cardinal.toNat` 与 `Cardinal.natCast_inj` 利用该 bug。其二,评测中多处需剔除与 Lean 4.9.0 不兼容或表述有误的题目(PutnamBench、CombiBench 各剔除 2 题),说明形式化基准本身仍有质量问题。其三,CoT 模式推理开销远高于 non-CoT。
|
||||
- **影响**:论文开源模型与 ProverBench 基准(325 题,含 15 道 AIME 24&25 与 310 道教材题,覆盖数论、代数、分析、概率等领域),补上高中竞赛与本科数学的评测覆盖面。方法上,"通用大模型做子目标分解 + 小模型做子目标求解 + 一致性奖励的强化学习"把非形式推理的可扩展性与形式验证的严谨性接了起来;作者指出未来将把该范式扩展为 AlphaProof 式系统,以攻克 IMO 级别问题。
|
||||
|
||||
## 六、关键术语对照表
|
||||
|
||||
| English | 中文 |
|
||||
|---|---|
|
||||
| Formal theorem proving | 形式化定理证明 |
|
||||
| Subgoal decomposition | 子目标分解 |
|
||||
| Recursive proof search | 递归证明搜索 |
|
||||
| Proof sketch | 证明草图 |
|
||||
| Chain-of-Thought (CoT) | 思维链 |
|
||||
| Cold start | 冷启动 |
|
||||
| Expert iteration | 专家迭代 |
|
||||
| Curriculum learning | 课程学习 |
|
||||
| Group Relative Policy Optimization (GRPO) | 组相对策略优化 |
|
||||
| Consistency reward | 一致性奖励 |
|
||||
| Reward hacking | 奖励作弊 |
|
||||
| Distillation | 蒸馏 |
|
||||
| Autoformalization | 自动形式化 |
|
||||
| Pass@k(sample budget) | 前 k 次采样通过率(采样预算) |
|
||||
| Test-time scaling / inference-time scaling | 测试时扩展 / 推理时扩展 |
|
||||
| Lean 4 proof assistant | Lean 4 证明助手 |
|
||||
| sorry placeholder | sorry 占位符 |
|
||||
Binary file not shown.
Reference in New Issue
Block a user