当前位置: 首页 > news >正文

继V1.5之后,幻方又发布了 DeepSeek-Prover-V2-671B,参数提升100倍

我们介绍了 DeepSeek-Prover-V2,这是一个开源的大型语言模型,专为精益 4 中的形式定理证明而设计,其初始化数据是通过 DeepSeek-V3 支持的递归定理证明流水线收集的。冷启动训练程序首先会提示 DeepSeek-V3 将复杂问题分解为一系列子目标。已解决的子目标的证明被合成为一个思维链过程,与 DeepSeek-V3 的逐步推理相结合,为强化学习创建一个初始冷启动。这一过程使我们能够将非正式和正式的数学推理整合到一个统一的模型中。

在这里插入图片描述

通过递归证明搜索合成冷启动推理数据

  • 为了构建冷启动数据集,我们利用 DeepSeek-V3 作为子目标分解和形式化的统一工具,开发了一个简单而有效的递归定理证明流水线。我们促使DeepSeek-V3将定理分解为高级证明草图,同时在Lean 4中将这些证明步骤形式化,从而形成子目标序列。

  • 我们使用较小的 7B 模型来处理每个子目标的证明搜索,从而减少相关的计算负担。一旦挑战性问题的分解步骤得到解决,我们就会将完整的分步形式化证明与 DeepSeek-V3 中相应的思维链配对,从而创建冷启动推理数据。

使用合成冷启动数据进行强化学习

  • 我们将 7B 验证器模型仍未以端到端方式解决,但所有分解子目标都已成功解决的挑战性问题子集整理出来。通过组合所有子目标的证明,我们为原始问题构建了一个完整的形式化证明。然后,这个证明会被附加到 DeepSeek-V3 的思维链中,而 DeepSeek-V3 的思维链会概述相应的 Lemma 分解,从而产生一个非正式推理和后续形式化的内聚综合体。

  • 在合成冷启动数据上对证明者模型进行微调后,我们执行了强化学习阶段,以进一步增强其连接非正式推理和正式证明构建的能力。按照推理模型的标准训练目标,我们使用二进制正确或不正确反馈作为奖励监督的主要形式。

  • 由此产生的 DeepSeek-Prover-V2-671B 模型在神经定理证明方面达到了最先进的性能,在 MiniF2F 测试中达到 88.9 88.9 88.9MiniF2F测试的通过率为100%,解决了PutnamBench 658个问题中的49个。DeepSeek-Prover-V2 针对 miniF2F 数据集生成的证明以 ZIP 压缩包的形式提供下载。

ProverBench: AIME 的形式化和教科书问题

我们介绍 ProverBench,这是一个由 325 个问题组成的基准数据集。其中,15 个问题是根据最近的 AIME 竞赛(AIME 24 和 25)中的数论和代数问题形式化的,提供了真实的高中竞赛级挑战。其余的 310 个问题来自课本例题和教学教程,是一个形式化数学问题的多样化和教学化集合。该基准旨在对高中竞赛问题和本科生数学水平进行更全面的评估。

AreaCount
AIME 24&2515
Number Theory40
Elementary Algebra30
Linear Algebra50
Abstract Algebra40
Calculus90
Real Analysis30
Complex Analysis10
Functional Analysis10
Probability10
Total325

模型和数据集下载

我们发布了两种规模的 DeepSeek-Prover-V2 模型:7B和671B参数。DeepSeek-Prover-V2-671B是在DeepSeek-V3-Base基础上训练的。DeepSeek-Prover-V2-7B是在DeepSeek-Prover-V1.5-Base基础上构建的,其特点是上下文长度可扩展至32K token。

模型下载
DeepSeek-Prover-V2-7B🤗 HuggingFace
DeepSeek-Prover-V2-671B🤗 HuggingFace
模型下载
DeepSeek-ProverBench🤗 HuggingFace

快速启动

您可以直接使用Huggingface’s Transformers进行模型推理。DeepSeek-Prover-V2-671B与DeepSeek-V3采用相同的架构。有关详细信息和支持的功能,请参阅Hugging Face 上的 DeepSeek-V3 文档。

下面是一个从 miniF2F 数据集生成问题证明的基本示例:

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 Aesopset_option maxHeartbeats 0open 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 := bysorry
""".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 lemmas, 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)
http://www.xdnf.cn/news/271351.html

相关文章:

  • 【AI平台】n8n入门6:调用MCP服务(非社区节点)
  • 构建灵活的配置管理系统:YAML 与 TOML 的应用与热更新实践
  • 生成树、Prime、Kruskal
  • 第40课 常用快捷操作——按“Tab键”即时更改属性
  • 为什么需要启动探针(StartupProb)?
  • neatchat轻量级丝滑的ai模型web客户端
  • python进阶(2)二进制
  • 文件操作-
  • 【今日三题】游游的重组偶数(模拟) / 体操队形(回溯) / 二叉树中的最大路径和(树形dp)
  • 注入内部Bean
  • C与指针5——字符串合集
  • 高频数据冲击数据库的技术解析与应对方案
  • 基于构件的软件开发方法及其应用
  • Linux系统如何完成系统周期化任务
  • 什么是 Redis?
  • 定长滑动窗口(基础)
  • 【Mytais系列】核心工作流程
  • C++类_移动构造函数
  • <init-param>和<load-on-startup>的作用
  • 重新构想E-E-A-T:提升销售与搜索可见性的SEO策略
  • 如何优化MySQL主从复制的性能?
  • 【电路笔记】-自耦变压器
  • c++ 函数参数传递
  • 推理能力:五一模型大放送
  • 硬件零基础入门(尚硅谷)
  • JavaScript中的AES加密与解密:原理、代码与实战
  • Day04 新增套餐
  • 双指针算法详解(含力扣和蓝桥杯例题)
  • 王道考研数据结构课后题代码题(2026版)——排序部分
  • 第5章 Python 基本数据类型详解(int, float, bool, str)