Nemotron-Math-Proofs-v3-SFT的proof样本深度剖析:58,543条初始证明如何训练大模型的定理生成能力

原创2026-10-19 23:58:36544 阅读

Nemotron-Math-Proofs-v3-SFT的proof样本深度剖析:58,543条初始证明如何训练大模型的定理生成能力

Nemotron-Math-Proofs-v3-SFT 是 NVIDIA 发布的长文本数学推理 SFT 训练数据集,围绕 58,543 条 proof(初始证明)样本,配合 refinement、verification、meta-verification 三类轨迹,共计 414,890 条样本,用于训练大模型的定理生成与数学证明能力。本文将拆解这些 proof 样本的来源、结构与价值。

一、Nemotron-Math-Proofs-v3-SFT 是什么?

这是一个专为数学证明生成设计的监督微调(SFT)数据集,核心信息如下:

维度 说明
样本总量 414,890 条(质量过滤后)
唯一题目数 15,818 道(源自 15,879 道高难度题)
题目来源 AoPS 社区的证明类题目(高难度筛选)
生成模型 DeepSeek-V4-Pro(Max 推理模式)
磁盘占用 121.95 GiB
许可协议 CC BY 4.0,可商用、可非商用

🎯 它的定位是 Nemotron-Math-Proofs-v2 的替代升级版:更难的问题池、多轮证明打磨、以及额外的验证与元验证轨迹。

二、58,543 条 proof 样本:初始证明是怎么来的?

数据集按 metadata.data_type 字段分为四类任务,其中 proof 是第 1 轮的初始证明生成:

子集(data_type) 样本数 平均生成 token 数
proof(初始证明) 58,543 210,267
refinement(证明打磨) 67,971 208,965
verification(证明验证) 236,360 41,361
meta_verification(元验证) 52,016 29,057
总计 414,890 91,110

生成流程遵循 DeepSeekMath-V2 风格的"生成—验证—打磨"四轮管线:

  1. 第 1 轮(proof):对每道题目生成多条初始证明尝试,单条生成上限高达 400,000 tokens;
  2. 第 2~4 轮(refinement):对仍未严格解决(strictly solved)的题目,利用前序尝试 + 验证器反馈产出修订证明;
  3. verification:多条验证轨迹评估候选证明,给出 0、0.5、1 三档最终分数;
  4. meta_verification:对候选证明的自评估或代表性验证输出做二次评估。

⚡ 值得注意的细节:

  • 推理参数为 temperature 1.0、top-p 0.95,鼓励证明思路的多样性;
  • proof 样本平均生成长度约 21 万 token,属于超长思维链(long-form reasoning),这正是"长上下文定理证明"能力的关键训练信号;
  • 全数据集累计记录生成 token 数达 378 亿,总 token 规模约 390 亿。

三、一条 proof 样本里有什么?

数据集以 JSONL 格式存储,每条记录包含以下字段:

  • uuid:样本唯一标识;
  • messages:标准化的 user/assistant 消息序列,assistant 消息同时包含可见的 content 和长文本 reasoning_content;
  • metadata:任务元数据,含 problem、problem_idx、data_type、输入/生成 token 数,以及可选的轮次(round)或阶段信息;
  • source:题目来源标签(本数据集统一为 AoPS);
  • license:逐样本许可标签(cc-by-4.0)。

💡 新手提示:识别任务类型请以 metadata.data_type 为准(proof / refinement / verification / meta_verification),而不是兼容字段 subset。

四、数据文件组织:10 个分片的 JSONL

训练集存储在 data/ 目录下的 10 个分片中,按序拼接可逐字节还原原始单文件:

load_dataset 会将这 10 个分片作为同一个 train split 读取,无需手动合并。完整的字段说明与统计信息见 README.md。

五、质量过滤:什么样的样本能留下来?

官方通过严格的后处理管线淘汰不合格样本,这是数据集质量的核心保障:

过滤规则 适用对象
剔除不完整、被长度截断的生成 全部
剔除空响应或格式错误的响应 全部
剔除使用 reasoning fallback 的行 全部
剔除可见答案文本中暴露 <think> 标记的行 全部
必须包含非空的可见 Solution 与 Self Evaluation 段落 proof / refinement
必须包含可解析的最终分数,且使用可见最终证明而非草稿作为输入 verification / meta_verification

📊 过滤后验证子集的分布也非常均衡:117,622 条得分为 0 的轨迹,与 118,738 条得分为 0.5 或 1 的轨迹,让模型既能学会"识别错误",也能学会"确认正确"。

六、它能训练出什么能力?

按照官方说明,Nemotron-Math-Proofs-v3-SFT 适用于:

  1. 结构化数学推理与证明生成——58,543 条 proof 样本是主力;
  2. 基于历史尝试与验证反馈修订证明——refinement 子集提供多轮打磨轨迹;
  3. 生成验证轨迹、定位论证缺口——verification 子集规模最大(236,360 条);
  4. 评估证明自评估与验证器输出——meta-verification 子集;
  5. 构建长上下文或多轨迹的定理证明推理系统——平均 21 万 token 的生成长度是天然训练素材;
  6. 研究证明有效性、验证器精度与错误模式等学术方向。

七、快速上手建议

  • 加载数据:使用 Hugging Face 的 load_dataset 读取 train split 即可,10 个分片自动合并;
  • 按任务切分:用 metadata.data_type == "proof" 筛出 58,543 条初始证明样本;
  • 控制长度:proof/refinement 平均 20 万+ token,训练前建议按自身上下文窗口规划截断或分块策略;
  • 版本选择:如需自然语言证明子集,可参考同源问题的 Nemotron-Cascade-2-SFT-Data;
  • 许可合规:CC BY 4.0 协议,商用无需额外授权,保留署名即可。

总结

Nemotron-Math-Proofs-v3-SFT 通过 15,879 道高难度题目 × 四轮"生成—验证—打磨"管线,产出了以 58,543 条 proof 样本为核心的 414,890 条长文本训练数据。对于希望让大模型掌握奥林匹克级别定理生成能力的团队来说,这是一份结构清晰、质量可控、可直接商用的完整训练配方。

登录后查看全文
Nemotron-Math-Proofs-v3-SFT