问题:
正确的答案不能保证正确的推理,利用强化学习让模型学习最终真实值答案的方式对于需要推导证明的方式不合理。
解决方案:
利用自验证机制,为定理证明训练出一个基于LLM的验证器,使用验证器作为奖励模型来训练一个证明生成器,并激励生成器在完成证明之前尽可能地识别和解决更多问题;同时为了保证生成器和验证器之间的差异,让验证器比生成器更强,才能够发现生成器的问题,它提出扩展验证的方法提高验证器的能力。
观点支撑点:
① 不依赖标准答案的纠错能力,人类数学家在检查证明时,不需要拿着"标准答案"对照。我们通过逻辑推导就能发现某一步推导不严谨。因为未解决的数学难题 是没有标准答案的,模型必须具备"内在的逻辑判别能力",而不是仅仅做文本匹配。
② 如果一个证明经过了大量的、高强度的"找茬"和攻击(Scaled verification efforts) ,依然没有发现漏洞,那么这个证明是正确的概率就极高。因此,在推理阶段,可以增加**验证**的算力来提高答案的可靠性。
③ 如果一个证明,模型一眼就能看出错误 ,说明证明质量很差。但是如果模型花费了很大精力才找到一个隐蔽的逻辑漏洞,则说明这个证明虽然错了,但是质量却非常高。
逻辑闭环:
构建一个自动化的"正向循环",让模型从"盲目尝试"进化为"有意识的推理"。
① 以评估促进生成器学习:利用现有的验证器(Verifier)给生成器(Generator/Actor)打分或提供反馈,通过强化学习让生成器写出更好的证明。
② 通过算力构建新数据:对于那些很难判断对错的新证明(Hard-to-verify),DeepSeek 并不依赖人工标注,而是投入大量的计算资源 (比如通过蒙特卡洛树搜索 MCTS 或多次采样验证)来强行算出正确标签。它通过自动生成高质量的训练数据(合成数据),用来训练更强的验证器。
③ 更强的验证器带来更强的生成器:验证器变强了,就能发现以前发现不了的错误。再用这个更强的"老师"去训练生成器,如此循环往复。
通过让模型去思考,即显式的规划和逻辑推演,让其理解什么是更好的证明。
数据集的构建:
在强化学习的初期,模型往往没有足够的能力自我生成高质量的样本,也没有现成的Reward Model来自动打分。因此,必须通过人工介入和精心设计的数据工程来构建第一批高质量数据集。
数据格式为标准的三元组:
Dv={(Xi,Yi,si)} D_v = \{(X_i, Y_i, s_i)\} Dv={(Xi,Yi,si)}
其中:
- XiX_iXi:数学问题(Input)。
- YiY_iYi:模型生成的证明过程(Output)。
- sis_isi:专家给出的质量打分(Scalar Reward)。
专家评估与打分 (Scoring sis_isi)
评分体系 :离散评分 si∈{0,0.5,1}s_i \in \{0, 0.5, 1\}si∈{0,0.5,1}。
- 111:完全正确。
- 000:错误。
- 0.50.50.5:这是一个非常关键的设计。它通常代表"部分正确"、"思路正确但有小瑕疵"或"证明过程有价值但未完成"。这引入了**Dense Reward(密集奖励)**的雏形,避免了全对全错(Binary Reward)带来的信号稀疏问题。
验证器的训练
利用强化学习训练验证器,不仅让模型"学会做题",还要让模型学会"像判卷老师一样打分。
1. 模型基础与任务定义
- 基座模型 :
DeepSeek-V3.2-Exp-SFT。这是一个已经经过"数学和代码推理数据"监督微调(SFT)的版本,具备了基础的推理能力。 - 训练目标 :将这个模型训练成一个Verifier(验证者)。
- 输入输出 :
- 输入:题目 XiX_iXi + 待验证的证明 YiY_iYi。
- 输出:验证分析文本 Vi′V'_iVi′(包含具体的评价理由)+ 提取出的分数 si′s'_isi′。
2. 奖励函数拆解 (The Reward Function)
DeepSeek 设计了一个复合奖励信号,由两部分组成:
① 格式奖励 (Format Reward RformatR_{\text{format}}Rformat) ------ "硬约束"
- 定义 :这是一个 0/1 指示函数(Indicator Function)。
- 触发条件 :模型输出必须包含两个特定特征:
- 关键词:"Here is my evaluation of the solution:"(强制模型生成自然语言的评价摘要)。
- 格式化分数:"Based on my evaluation, the final overall score should be: \boxed{SCORE}"。
- 工程意义 :这是为了保证输出的可解析性(Parsability)。如果格式不对,后续的正则匹配就无法提取分数,整个验证过程就失效了。在 RL 中,这通常作为一个**Gating(门控)**信号。
② 分数奖励 (Score Reward RscoreR_{\text{score}}Rscore) ------ "软约束"
Rscore(si′,si)=1−∣si′−si∣ R_{\text{score}}(s'_i, s_i) = 1 - |s'_i - s_i| Rscore(si′,si)=1−∣si′−si∣
- 定义:基于 L1 距离(绝对误差)的奖励。
- 变量含义 :
- sis_isi:人类专家给出的标准打分(Ground Truth,来自上一段提到的 DvD_vDv 数据集)。
- si′s'_isi′:模型预测出的分数。
- 计算逻辑 :
- 如果预测完全准确(si′=sis'_i = s_isi′=si),∣0∣=0|0| = 0∣0∣=0,奖励为 1。
- 如果预测偏差最大(例如真值是 1,预测是 0),∣1∣=1|1| = 1∣1∣=1,奖励为 0。
- 如果预测偏差一半(例如真值是 1,预测是 0.5),奖励为 0.5。
- 工程意义:引导模型的打分尽可能逼近专家打分。这是一个稠密奖励(Dense Reward),指导模型对齐人类的价值判断。
3、RL 优化目标 (The Optimization Objective)
目标函数 :
maxπϕE(Xi,Yi,si)∼Dv,(Vi′,si′)∼πϕ(⋅∣Xi,Yi)[Rformat(Vi′)⋅Rscore(si′,si)] \max_{\pi_\phi} \mathbb{E}_{(X_i, Y_i, s_i) \sim D_v, (V'i, s'i) \sim \pi\phi (\cdot | X_i, Y_i)} [ R{\text{format}}(V'i) \cdot R{\text{score}}(s'_i, s_i) ] πϕmaxE(Xi,Yi,si)∼Dv,(Vi′,si′)∼πϕ(⋅∣Xi,Yi)[Rformat(Vi′)⋅Rscore(si′,si)]
关键点分析:为什么要用乘法?
注意这里使用的是 乘法 (Rformat⋅RscoreR_{\text{format}} \cdot R_{\text{score}}Rformat⋅Rscore) 而不是加法。这是一个非常精妙的设计:
- 一票否决权 :因为 RformatR_{\text{format}}Rformat 是 0 或 1。
- 如果格式错了 (Rformat=0R_{\text{format}}=0Rformat=0),不管你预测的分数 si′s'_isi′ 有多准,总奖励直接归零。
- 这强迫模型必须先学会正确的输出格式,才有资格去优化分数的准确性。
- 联合优化:只有在格式正确的前提下,优化目标才变为最大化分数准确性。
4、引入元验证 (Meta-Verification) ------ 给"判卷老师"找个"督导"
上面的目标:Verifier(验证器)的训练目标只是让预测分数 si′s'_isi′ 接近专家分数 sis_isi。
漏洞 : 如果一个证明是错的(si<1s_i < 1si<1),模型只要猜出"这是错的"就能拿满分,至于为什么错,模型可能会瞎编,这导致验证器的解释不可信。这就好比老师给学生判了零分,但评语里指出的错误全是胡扯,学生根本没法改。
解决方案 :Meta-Verifier(元验证器 πη\pi_\etaπη),主要用于评估验证器的评语是否正确。
训练流程:
-
专家构建数据集 Dmv={(Xi,Yi,Vi,msi)}D_{mv} = \{(X_i, Y_i, V_i, ms_i)\}Dmv={(Xi,Yi,Vi,msi)},其中 ViV_iVi 是 Verifier 的评语,msims_imsi 是评语的质量分。
-
训练 Meta-Verifier πη\pi_\etaπη。
-
核心公式变化:将 Meta-Verifier 的反馈加入 Verifier 的 Reward Function 中:
RV=Rformat⋅Rscore⋅Rmeta R_V = R_{\text{format}} \cdot R_{\text{score}} \cdot R_{\text{meta}} RV=Rformat⋅Rscore⋅Rmeta
解读 :现在 Verifier 想要拿高分,不仅要格式对、分数判得准,评语还得写得让人信服(RmetaR_{\text{meta}}Rmeta 高)。
5、生成器的进化 (Proof Generation) ------ 从"盲目自信"到"自我反思"
1. 基础训练 (Generator Training)
最简单的做法是把训练好的 Verifier 当作 Reward Model,用 RL 训练 Generator(公式 4):
maxπθE[RY] \max_{\pi_\theta} \mathbb{E} [R_Y] πθmaxE[RY]
2. 进阶痛点:生成器的"普信" (Overconfidence)
- 观察:DeepSeek 发现,当让生成器自己写证明并自己检查时,它倾向于认为自己是对的(claim correctness),哪怕外部 Verifier 一眼就能看出破绽。
- 本质:模型缺乏严谨的**自我审视(Introspection)**能力。
3. 解决方案:强制自查 (Self-Verification)
为了解决这个问题,DeepSeek 修改了 Generator 的输出结构,强制其输出两部分:
- 证明 (Proof YYY):解题过程。
- 自评 (Self-Analysis ZZZ) :完全模仿 Verifier 的格式,对自己刚才写的 YYY 进行挑错和打分 (自评分为 s′s's′)。
4. 复合奖励函数 (The Hybrid Reward)
R=Rformat(Y,Z)⋅(α⋅RY+β⋅RZ) R = R_{\text{format}}(Y, Z) \cdot (\alpha \cdot R_Y + \beta \cdot R_Z) R=Rformat(Y,Z)⋅(α⋅RY+β⋅RZ)
其中 RZR_ZRZ(自评部分的奖励)定义为:
RZ=Rscore(s′,s)⋅Rmeta(Z) R_Z = R_{\text{score}}(s', s) \cdot R_{\text{meta}}(Z) RZ=Rscore(s′,s)⋅Rmeta(Z)
参数解释与工程直觉:
- RY=sR_Y = sRY=s:证明 YYY 的真实质量(由外部 Verifier πϕ\pi_\phiπϕ 判定)。
- Rscore(s′,s)R_{\text{score}}(s', s)Rscore(s′,s):诚实度奖励 。如果模型写得很烂(sss 低),但它自己承认了(s′s's′ 也低),这项奖励就会很高。
- Rmeta(Z)R_{\text{meta}}(Z)Rmeta(Z):自评质量奖励。由 Meta-Verifier 判定模型的"自我检讨"是不是在胡说八道。
- 权重配置 α=0.76,β=0.24\alpha = 0.76, \beta = 0.24α=0.76,β=0.24:
- 主要目标 (α\alphaα):还是要把题做对。
- 次要目标 (β\betaβ):要有自知之明。
6、验证和生成协同工作
DeepSeek 发现了两个关键事实,使得完全自动化成为可能:
- Scaling Law 在验证端的应用 :针对一个证明,让 Verifier 跑 nnn 次(Generate nnn independent analyses),发现真问题的概率会大大增加。
- 元验证比验证更容易:判断"这个问题是不是真的"(Meta-Verification)比"从头找问题"(Verification)要容易得多,且 LLM 学得更快。
基于以上观察,他们设计了如下流程:
- 对于每一个新生成的证明,让 Verifier 生成 nnn 个不同的分析报告。
- 利用 Meta-Verifier 或投票机制,从这 nnn 个报告中提取出真正的错误,从而自动合成高质量的 Verifier 训练数据。