开启左侧

DeepSeek-Prover-V2模型原理速览

[复制链接]
文章速览:
    prerequisite:Lean4钻研明面颠末子目标合成完毕递回证实搜刮
      鉴于子目标的定理证实中的课程进修
    分歧非方法化拉理战方法化证实
      颠末分解数据完毕热启用以拉理为导背的加强进修
    DeepSeek-Prover-V2 的锻炼细节
      大师迭代监视衰落调
    快速使用REF

DeepSeek-Prover-V2-671B 是deepseek正在4月30日搁进去的一个用于数教拉理的模子,模子鉴于deepseekV3, 正在lean4证实框架内乱干了主动定理证实才气的锻炼。模子架构如图所示:

DeepSeek-Prover-V2模子道理速览w2.jpg

prerequisite:Lean4

Lean4:Lean 是微硬钻研院正在 2013 年拉出的计较机定理证实器。Lean4 于 2021 年公布,为 Lean 定理证实器的从头完毕,能够天生 C 代码后截至编译,以就开辟下效的一定范围主动化。 Lean动作一门共同的语言,兼具数教战编程二圆里的特征。 动作接互式定理证实器,Lean 供给了严峻的逻辑框架,数教野能够将数教定理变换成代码,并严峻考证那些定理的准确性。 动作通用函数式编程语言,它具备依靠范例的严峻的杂函数式语言性子。
ProverV2 钻研明面

    DeepSeek-Prover-V2论文提出了一个分析热启用阶段分解拉理数据的pipeline,用于初级方法化定理证实。DeepSeek-V3 动作动作子目标合成战引理方法化(Lean4证实框架)的分歧模子,将下条理的证实草图取方法化步调相分离,天生一系列可办理的子目标;子目标能够使用较小的7B模子下效处置,进而清楚低落了计较需要开辟的课程进修框架使用那些合成后的子目标天生易度逐步增加的锻炼任务,进而创立了更有用的进修历程颠末将残破的邪式证实取DeepSeek-V3的思惟链拉理相分离,成立了贵重的热启用拉理数据,化解了非方法化数教思惟取方法化证实构造之间的差异。随即的加强进修阶段清楚增强了这类联系,进而正在方法化定理证实才气上得到了严峻进步;
颠末子目标合成完毕递回证实搜刮

将庞大定理的证实合成为一系列较小的引理,使用 DeepSeek-V3动作方法化定理证实中子目标合成的分歧东西。

鉴于V3合成证实步调:为了证实一个给定的方法化定理陈说,钻研者提醒 DeepSeek-V3 起首用天然语言阐发数教成就,而后将证实合成为更小的步调,并将每步翻译为对于应的 Lean 方法化陈说。因为通用模子已经知正在天生残破的 Lean 证实圆里存留艰难,钻研者辅导 DeepSeek-V3 仅天生一个简略细节的下条理证实草图。终极的思惟链以一个由一系列 “have” 语句构成的 Lean 定理了结,每一条语句皆以 “sorry” 占位符完毕,暗示需要处置的子目标。这类办法反应了人类建立证实的气势派头,行将庞大定理逐步简化为一系列更容易于处置的引理序列。

递回供解:借帮 DeepSeek-V3 天生的子目标,接纳递回供解战略,体系天处置每个中心证实步调。从“have”语句中提炼子目标表示式,将其交流为本初成就中的目标(睹图3(a)),并将前面的子目标动作条件前提纳入(睹图3(b))。这类机关使患上后绝子目标能够使用晚期步调的中心成果去供解,进而增进更部门化的依靠构造,并有帮于开辟更简朴的引理。 为了削减普遍证实搜刮的计较开销,使用了一个较小的7B证实模子,该模子特地针对于处置合成后的引理截至了劣化。正在胜利处置统统合成步调后,能够主动天生本初定理的残破证实。
DeepSeek-Prover-V2模子道理速览w3.jpg

鉴于子目标的定理证实中的课程进修

二品种型的子目标定理:使用子目标去扩大用于模子锻炼的方法化陈说的范畴。钻研者天生了二品种型的子目标定理:一种将前面的子目标动作条件前提,另外一种则没有包罗,别离对于应于图3(b)战图3(a)。那二品种型皆被调整到大师迭代阶段(Polu 战 Sutskever,2020),成立了一个逐步指导证实器模子体系天处置一组粗选的具备挑战性成就的课程。 那一历程鉴于取 AlphaProof 的尝试时加强进修(DeepMind,2024)差异的下层道理,即颠末天生目标成就的变体去增强模子处置具备挑战性的国内数教奥林匹克(IMO)级别成就的才气。
DeepSeek-Prover-V2模子道理速览w4.jpg

分歧非方法化拉理战方法化证实

proverV2的算法框架分为二个阶段,使用了二种互补的模子:DeepSeek-V3 用于引理合成,和一个7B证实模子用于完毕响应的方法化证实细节。这类过程供给了一种天然且可扩大的体制,颠末分离语言模子的下条理拉理取精确的方法化考证,分解方法化拉理数据。颠末这类方法,正在简单模子内乱分歧了非方法化数教拉理战证实方法化的才气。
颠末分解数据完毕热启用

钻研者选择出一组具备挑战性的成就,那些成就正在端到真个处置过程当中还没有被7B证实模子处置,但是统统合成后的子目标均已经胜利处置。 颠末拉拢统统子目标的证实,钻研者建立了本初成就的残破方法化证实。而后,将那个证实附带到DeepSeek-V3的思惟链中,该思惟链概括了响应的引理合成,进而发生了一个毗连的非方法化拉理取后绝方法化证实的分析。那使患上钻研者能够汇集数百个下品质的分解热启用数据,那些数据成为锻炼DeepSeek-Prover-V2的根底。
以拉理为导背的加强进修

正在对质明模子截至分解热启用数据的微调以后,施行一个加强进修阶段,以退一步增强其将非方法化拉理取方法化证实建立相分离的才气。鉴于RLPAF(鉴于证实帮忙反应的加强进修)办法,使用两元准确取可的反应动作主要的嘉奖监视方法。正在锻炼过程当中,钻研者察看到天生的证实构造经常偏偏离由思惟链辅导供给的引理合成。 为处置那一成就,正在锻炼的晚期步调中引进了不合性嘉奖,处罚构造上的没有不合,大白自愿正在终极证实中包罗统统合成的“have”构造引理。正在实践中,自愿这类对于齐能够进步证实的精确性,特别是正在需要多步拉理的庞大定理上。
DeepSeek-Prover-V2 的锻炼细节

DeepSeek-Prover-V2 是颠末一个二阶段锻炼过程开辟的,该过程成立了二种互补的证实天生情势:
    下服从非思惟链(non-CoT)情势:这类情势专一于快速天生方法化的Lean证实代码,偏重于天生繁复的证实,而没有显现大白的中心拉理步调。下粗度思惟链(CoT)情势:这类情势体系天论述中心拉理步调,夸大通明性战逻辑毗连性,而后建立终极的方法化证实。 取DeepSeek-Prover-V1.5(Xin等人,2024b)不合,那二种天生情势由二个差别的指导提醒掌握。正在第一阶段,正在课程进修框架内乱接纳大师迭代办法锻炼一个非思惟链(non-CoT)证实模子,共时颠末鉴于子目标的递回证实难堪题分解证实。挑选非思惟链天生情势是为了加快迭代锻炼战数据汇集历程,因为它供给了清楚更快的拉理战考证周期。正在此根底上,第两阶段使用颠末调整DeepSeek-V3的庞大数教拉理情势取分解方法化证实天生的热启用思惟链(CoT)数据。思惟链(CoT)情势颠末退一步的加强进修阶段获得增强,依照凡是用于拉理模子的尺度锻炼过程。
大师迭代

DeepSeek-Prover-V2的非思惟链(non-CoT)情势的锻炼历程依照大师迭代(Polu战Sutskever,2020)的范式,那是开辟方法化定理证实器的普遍接纳的框架。正在屡屡锻炼迭代中,目前最好的证实战略被用于天生对于以前迭代中还没有处置的困难的证实测验考试。那些由Lean证实帮忙考证胜利的测验考试被纳入SFT数据散,用于锻炼改良的模子。这类迭代轮回保证模子不但从初初示范数据集合进修,借能提取出自己的胜利拉理轨迹,逐步进步处置更易成就的才气。部分锻炼历程取DeepSeek-Prover-V1(Xin等人,2024a)战DeepSeek-Prover-V1.5(Xin等人,2024b)根本连结不合,仅对于锻炼成就的散布截至了二处改正。 起首,纳入了去自主动方法化战各类启源数据散(Ying等人,2024;Dong战Ma,2025;Lin等人,2025)的分外成就,扩大了锻炼成就范围的笼盖范畴。其次,颠末子目标合成天生的成就扩展了数据散,旨正在处置MiniF2F基准尝试(Zheng等人,2022)的考证集合更具挑战性的真例。
监视衰落调

正在DeepSeek-V3-Base-671B(DeepSeek-AI,2024)上截至监视衰落调,使用恒定的进修率5e-6,正在16,384个标识表记标帜的高低文窗心内乱截至锻炼。

锻炼语料库由二个互补的滥觞构成:(1)颠末大师迭代汇集的非思惟链(non-CoT)数据,那些数据天生没有露中心拉理步调的Lean代码;(2)正在论文第2.2节中描绘的热启用思惟链(CoT)数据,那些数据将DeepSeek-V3的初级数教拉理历程提取成构造化的证实路子。非思惟链(non-CoT)部门夸大正在Lean定理证实器死态体系中的方法化考证妙技,而思惟链(CoT)示例则大白模仿将数教直观转移为方法化证实构造的认知历程。

未来事情将勤奋于将那一范式扩大到类似AlphaProof的体系,终极目标是霸占代表主动化定理证实前沿挑战的国内数教奥林匹克(IMO)级此外数教成就。

快速使用

DeepSeek-Prover-V2-671B 取DeepSeek-V3使用异常的模子架构。使用transformers库减载Prover-V2-7B模子。
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
torch.manual_seed(30)

model_id = "DeepSeek-Prover-V2-7B"  # or DeepSeek-Prover-V2-671B
tokenizer = AutoTokenizer.from_pretrained(model_id)

formal_statement = """
import Mathlib
import Aesop

set_option maxHeartbeats 0

open BigOperators Real Nat Topology Rat

/-- What is the positive difference between $120\%$ of 30 and $130\%$ of 20? Show that it is 10.-/
theorem mathd_algebra_10 : abs ((120 : ℝ) / 100 * 30 - 130 / 100 * 20) = 10 := by
  sorry
""".strip()

prompt = """
Complete the following Lean 4 code:

```lean4
{}
Before producing the Lean 4 code to formally prove the given theorem, provide a detailed proof plan outlining the main proof steps and strategies.
The plan should highlight key ideas, intermediate le妹妹as, and proof structures that will guide the construction of the final formal proof.
""".strip()

chat = [
  {"role": "user", "content": prompt.format(formal_statement)},
]

model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto", torch_dtype=torch.bfloat16, trust_remote_code=True)
inputs = tokenizer.apply_chat_template(chat, tokenize=True, add_generation_prompt=True, return_tensors="pt").to(model.device)

import time
start = time.time()
outputs = model.generate(inputs, max_new_tokens=8192)
print(tokenizer.batch_decode(outputs))
print(time.time() - start)

REF

https://github.com/deepseek-ai/DeepSeek-Prover-V2 https://deepseeksai.com/prover-v2-671b/ DeepSeek-Prover-V2:AdvancingFormalMathematicalReasoningvia ReinforcementLearningforSubgoalDecomposition:https://arxiv.org/pdf/2504.21801 https://huggingface.co/deepseek-ai/DeepSeek-Prover-V2-7B/tree/main https://lean-zh.lookeng.cn/
您需要登录后才可以回帖 登录 | 立即注册 qq_login

本版积分规则

发布主题
阅读排行更多+
用专业创造成效
400-778-7781
周一至周五 9:00-18:00
意见反馈:server@mailiao.group
紧急联系:181-67184787
ftqrcode

扫一扫关注我们

Powered by 职贝云数A新零售门户 X3.5© 2004-2025 职贝云数 Inc.( 蜀ICP备2024104722号 )