shimmyshimmer commited on
Commit
57d94f7
·
verified ·
1 Parent(s): a7bc168

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +168 -1
README.md CHANGED
@@ -10,4 +10,171 @@ tags:
10
  license: mit
11
  ---
12
 
13
- # deepseek-ai/DeepSeek-Prover-V2-671B
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  license: mit
11
  ---
12
 
13
+ # deepseek-ai/DeepSeek-Prover-V2-671B
14
+
15
+ <div align="center">
16
+ <img src="https://github.com/deepseek-ai/DeepSeek-V2/blob/main/figures/logo.svg?raw=true" width="60%" alt="DeepSeek-V3" />
17
+ </div>
18
+ <hr>
19
+ <div align="center" style="line-height: 1;">
20
+ <a href="https://www.deepseek.com/" target="_blank" style="margin: 2px;">
21
+ <img alt="Homepage" src="https://github.com/deepseek-ai/DeepSeek-V2/blob/main/figures/badge.svg?raw=true" style="display: inline-block; vertical-align: middle;"/>
22
+ </a>
23
+ <a href="https://chat.deepseek.com/" target="_blank" style="margin: 2px;">
24
+ <img alt="Chat" src="https://img.shields.io/badge/🤖%20Chat-DeepSeek%20V3-536af5?color=536af5&logoColor=white" style="display: inline-block; vertical-align: middle;"/>
25
+ </a>
26
+ <a href="https://huggingface.co/deepseek-ai" target="_blank" style="margin: 2px;">
27
+ <img alt="Hugging Face" src="https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-DeepSeek%20AI-ffc107?color=ffc107&logoColor=white" style="display: inline-block; vertical-align: middle;"/>
28
+ </a>
29
+ </div>
30
+
31
+ <div align="center" style="line-height: 1;">
32
+ <a href="https://discord.gg/Tc7c45Zzu5" target="_blank" style="margin: 2px;">
33
+ <img alt="Discord" src="https://img.shields.io/badge/Discord-DeepSeek%20AI-7289da?logo=discord&logoColor=white&color=7289da" style="display: inline-block; vertical-align: middle;"/>
34
+ </a>
35
+ <a href="https://github.com/deepseek-ai/DeepSeek-V2/blob/main/figures/qr.jpeg?raw=true" target="_blank" style="margin: 2px;">
36
+ <img alt="Wechat" src="https://img.shields.io/badge/WeChat-DeepSeek%20AI-brightgreen?logo=wechat&logoColor=white" style="display: inline-block; vertical-align: middle;"/>
37
+ </a>
38
+ <a href="https://twitter.com/deepseek_ai" target="_blank" style="margin: 2px;">
39
+ <img alt="Twitter Follow" src="https://img.shields.io/badge/Twitter-deepseek_ai-white?logo=x&logoColor=white" style="display: inline-block; vertical-align: middle;"/>
40
+ </a>
41
+ </div>
42
+
43
+ <div align="center" style="line-height: 1;">
44
+ <a href="https://github.com/deepseek-ai/DeepSeek-V3/blob/main/LICENSE-CODE" style="margin: 2px;">
45
+ <img alt="Code License" src="https://img.shields.io/badge/Code_License-MIT-f5de53?&color=f5de53" style="display: inline-block; vertical-align: middle;"/>
46
+ </a>
47
+ <a href="https://github.com/deepseek-ai/DeepSeek-V3/blob/main/LICENSE-MODEL" style="margin: 2px;">
48
+ <img alt="Model License" src="https://img.shields.io/badge/Model_License-Model_Agreement-f5de53?&color=f5de53" style="display: inline-block; vertical-align: middle;"/>
49
+ </a>
50
+ </div>
51
+
52
+ ## 1. Introduction
53
+
54
+ We introduce DeepSeek-Prover-V2, an open-source large language model designed for formal theorem proving in Lean 4, with initialization data collected through a recursive theorem proving pipeline powered by DeepSeek-V3. The cold-start training procedure begins by prompting DeepSeek-V3 to decompose complex problems into a series of subgoals. The proofs of resolved subgoals are synthesized into a chain-of-thought process, combined with DeepSeek-V3's step-by-step reasoning, to create an initial cold start for reinforcement learning. This process enables us to integrate both informal and formal mathematical reasoning into a unified model.
55
+
56
+ <p align="center">
57
+ <img width="100%" src="https://github.com/deepseek-ai/DeepSeek-Prover-V2/blob/main/figures/performance.png?raw=true">
58
+ </p>
59
+
60
+ ## 2. Model Summary
61
+
62
+ ---
63
+
64
+ **Synthesize Cold-Start Reasoning Data through Recursive Proof Search**
65
+
66
+ - To construct the cold-start dataset, we develop a simple yet effective pipeline for recursive theorem proving, utilizing DeepSeek-V3 as a unified tool for both subgoal decomposition and formalization. We prompt DeepSeek-V3 to decompose theorems into high-level proof sketches while simultaneously formalizing these proof steps in Lean 4, resulting in a sequence of subgoals.
67
+
68
+ - We use a smaller 7B model to handle the proof search for each subgoal, thereby reducing the associated computational burden. Once the decomposed steps of a challenging problem are resolved, we pair the complete step-by-step formal proof with the corresponding chain-of-thought from DeepSeek-V3 to create cold-start reasoning data.
69
+
70
+ ---
71
+
72
+ **Reinforcement Learning with Synthetic Cold-Start Data**
73
+
74
+ - We curate a subset of challenging problems that remain unsolved by the 7B prover model in an end-to-end manner, but for which all decomposed subgoals have been successfully resolved. By composing the proofs of all subgoals, we construct a complete formal proof for the original problem. This proof is then appended to DeepSeek-V3's chain-of-thought, which outlines the corresponding lemma decomposition, thereby producing a cohesive synthesis of informal reasoning and subsequent formalization.
75
+
76
+ - After fine-tuning the prover model on the synthetic cold-start data, we perform a reinforcement learning stage to further enhance its ability to bridge informal reasoning with formal proof construction. Following the standard training objective for reasoning models, we use binary correct-or-incorrect feedback as the primary form of reward supervision.
77
+ - The resulting model, DeepSeek-Prover-V2-671B, achieves state-of-the-art performance in neural theorem proving, reaching $88.9$% pass ratio on the MiniF2F-test and solving 49 out of 658 problems from PutnamBench. The proofs generated by DeepSeek-Prover-V2 for the miniF2F dataset are available for download as a [ZIP archive](https://github.com/deepseek-ai/DeepSeek-Prover-V2/blob/master/minif2f-solutions.zip).
78
+
79
+ ---
80
+
81
+ ## 3. ProverBench: Formalization of AIME and Textbook Problems
82
+
83
+ we introduce ProverBench, a benchmark dataset comprising 325 problems. Of these, 15 are formalized from number theory and algebra questions featured in the recent AIME competitions (AIME 24 and 25), offering authentic high-school competition-level challenges. The remaining 310 problems are drawn from curated textbook examples and educational tutorials, contributing a diverse and pedagogically grounded collection of formalized mathematical problems. This benchmark is designed to enable more comprehensive evaluation across both high-school competition problems and undergraduate-level mathematics.
84
+
85
+ <div align="center">
86
+
87
+ | Area | Count |
88
+ | :---------------------: | :-------: |
89
+ | AIME 24&25 | 15 |
90
+ | Number Theory | 40 |
91
+ | Elementary Algebra | 30 |
92
+ | Linear Algebra | 50 |
93
+ | Abstract Algebra | 40 |
94
+ | Calculus | 90 |
95
+ | Real Analysis | 30 |
96
+ | Complex Analysis | 10 |
97
+ | Functional Analysis | 10 |
98
+ | Probability | 10 |
99
+ | Total | 325 |
100
+
101
+ </div>
102
+
103
+ ## 4. Model & Dataset Downloads
104
+
105
+ We release DeepSeek-Prover-V2 in two model sizes: 7B and 671B parameters. DeepSeek-Prover-V2-671B is trained on top of DeepSeek-V3-Base. DeepSeek-Prover-V2-7B is built upon DeepSeek-Prover-V1.5-Base and features an extended context length of up to 32K tokens.
106
+
107
+ <div align="center">
108
+
109
+ | **Model** | **Download** |
110
+ | :-----------------------------: | :----------------------------------------------------------: |
111
+ | DeepSeek-Prover-V2-7B | [🤗 HuggingFace](https://huggingface.co/deepseek-ai/DeepSeek-Prover-V2-7B) |
112
+ | DeepSeek-Prover-V2-671B | [🤗 HuggingFace](https://huggingface.co/deepseek-ai/DeepSeek-Prover-V2-671B) |
113
+
114
+ </div>
115
+
116
+ <div align="center">
117
+
118
+ | **Dataset** | **Download** |
119
+ | :-----------------------------: | :----------------------------------------------------------: |
120
+ | DeepSeek-ProverBench | [🤗 HuggingFace](https://huggingface.co/datasets/deepseek-ai/DeepSeek-ProverBench) |
121
+
122
+ </div>
123
+
124
+ ## 5. Quick Start
125
+
126
+ You can directly use [Huggingface's Transformers](https://github.com/huggingface/transformers) for model inference. DeepSeek-Prover-V2-671B shares the same architecture as DeepSeek-V3. For detailed information and supported features, please refer to [the DeepSeek-V3 documentation on Hugging Face](https://github.com/huggingface/transformers/blob/main/docs/source/en/model_doc/deepseek_v3.md).
127
+
128
+ The following is a basic example of generating a proof for a problem from the miniF2F dataset:
129
+ ````python
130
+ from transformers import AutoModelForCausalLM, AutoTokenizer
131
+ import torch
132
+ torch.manual_seed(30)
133
+
134
+ model_id = "DeepSeek-Prover-V2-7B" # or DeepSeek-Prover-V2-671B
135
+ tokenizer = AutoTokenizer.from_pretrained(model_id)
136
+
137
+ formal_statement = """
138
+ import Mathlib
139
+ import Aesop
140
+
141
+ set_option maxHeartbeats 0
142
+
143
+ open BigOperators Real Nat Topology Rat
144
+
145
+ /-- What is the positive difference between $120\%$ of 30 and $130\%$ of 20? Show that it is 10.-/
146
+ theorem mathd_algebra_10 : abs ((120 : ℝ) / 100 * 30 - 130 / 100 * 20) = 10 := by
147
+ sorry
148
+ """.strip()
149
+
150
+ prompt = """
151
+ Complete the following Lean 4 code:
152
+
153
+ ```lean4
154
+ {}
155
+ ```
156
+
157
+ Before producing the Lean 4 code to formally prove the given theorem, provide a detailed proof plan outlining the main proof steps and strategies.
158
+ The plan should highlight key ideas, intermediate lemmas, and proof structures that will guide the construction of the final formal proof.
159
+ """.strip()
160
+
161
+ chat = [
162
+ {"role": "user", "content": prompt.format(formal_statement)},
163
+ ]
164
+
165
+ model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto", torch_dtype=torch.bfloat16, trust_remote_code=True)
166
+ inputs = tokenizer.apply_chat_template(chat, tokenize=True, add_generation_prompt=True, return_tensors="pt").to(model.device)
167
+
168
+ import time
169
+ start = time.time()
170
+ outputs = model.generate(inputs, max_new_tokens=8192)
171
+ print(tokenizer.batch_decode(outputs))
172
+ print(time.time() - start)
173
+ ````
174
+
175
+ ## 6. License
176
+ The use of DeepSeek-Prover-V2 models is subject to [the Model License](LICENSE-MODEL).
177
+
178
+ ## 7. Contact
179
+
180
+ If you have any questions, please raise an issue or contact us at [[email protected]](mailto:[email protected]).