OPDVR:用答案正确性过滤蒸馏信号,如何把 OPD 与可验证奖励结合?

学生已经答对了,但某个 token 的概率比教师更高,蒸馏仍可能要求学生降低它的概率。学生答错了,但教师更偏好其中某个 token,蒸馏又可能提高它的概率。模仿教师的分布,与优化最终答案正确率,并不总是同一个方向。

OPDVR 给出一个很小的修改:用最终答案的对错,过滤掉方向不一致的 sampled-token OPD 信号。不是额外加一项加权 RL 损失,而是让 verifier 决定允许的符号,让教师与学生的概率差决定保留下来的幅度。

本文精读 On-policy Distillation with Verifiable Reward(Wenze Lin 等;arXiv v2,2026-08-28),依据正文、附录、原始表格及作者公开代码整理。文中会区分论文公式、当前实现和独立分析,尤其说明 GRPD 的公式与代码差异。

1. 一句话结论与论文全景

OPDVR 将 sampled-token OPD 的教师—学生对数概率比,按整条回答的正确性做 ReLU 门控:正确回答只保留正信号,错误回答只保留负信号。

组成 提供的信息 在 OPDVR 中的作用
学生 on-policy rollout 学生当前真正会生成的回答 决定训练所见前缀与 token
教师模型 同一前缀下采样 token 的概率 提供细粒度分布指导
Verifier 完整回答最终是否正确 决定允许强化还是抑制
ReLU gate 两类信号的方向是否一致 保留一致项,将冲突项置零

主实验同规模蒸馏中,六项数学评测的平均 avg@16 从 sampled-token OPD 的 47.8 提高到 49.1;4B 教师到 1.7B 学生的设置中,从 20.9 提高到 22.8。(表 1、表 2)

但不要把这概括成“每项都提升”或“全面超过教师”:同规模 MATH500 从 85.5 降至 84.7,六项平均仍低于教师的 50.4。论文的价值在于一个简洁的信号融合规则,而不是已经建立无条件的性能保证。

2. Motivation:密集指导为什么仍会与任务目标冲突?

2.1 RLVR 知道答案对错,却缺少中间反馈

Reinforcement Learning with Verifiable Rewards(RLVR,可验证奖励强化学习)可以用数学答案检查器给出明确结果,但奖励通常落在整条回答上。它知道“这条回答错了”,却未必知道是哪个中间步骤造成错误。

On-policy Distillation(OPD,在线策略蒸馏)则让学生生成回答,再由教师评价学生经过的前缀,提供 token 级信号。它的优势是反馈密集、贴近学生当前分布;局限是教师的偏好不一定与最终任务成功一致。(§1–§3)

2.2 单纯模仿教师可能约束学生已有的好行为

对于某个采样 token,教师概率比学生高,OPD 倾向于提高学生概率;反之则降低。这条规则本身不知道整条回答是否正确。

因此存在两种作者关注的冲突:

  • 正确回答中,学生概率已经高于教师,却被蒸馏向下拉。
  • 错误回答中,教师概率高于学生,却被蒸馏向上推。

论文希望去掉这两类信号,同时保留剩余的教师指导。相比直接优化 \(\lambda L_{\mathrm{OPD}}+(1-\lambda)L_{\mathrm{RL}}\),这种设计不需要新增一个两目标混合权重。

这里必须保留一个边界:整条回答正确,不代表每个 token 都是正确推理;整条回答错误,也不代表每个 token 都有害。 OPDVR 采用的是基于结果的门控原则,不是获得了真实的逐 token 因果标签。

3. Method:一个对数概率比,一个符号门

3.1 输入、符号与 OPD 的隐式奖励

给定问题 \(q\),学生 \(\pi_\theta\) 生成回答 \(o=(o_1,\ldots,o_T)\)。令 \(s_t=(q,o_{<t})\) 为第 \(t\) 个 token 的前缀,定义:

\[ p_t=\pi_\theta(o_t\mid s_t),\qquad p_t^T=\pi_T(o_t\mid s_t),\qquad r_t=\log\frac{p_t^T}{p_t}. \]

两项概率都是同一学生前缀下、同一个采样 token 的条件概率,不是分别比较师生各自生成的两个答案。\(r_t\) 是无量纲的对数比,使用自然对数。

按论文采用的 sampled-token 更新形式,OPD 的梯度上升方向为:

\[ \Delta_{\mathrm{OPD},t} =r_t\nabla_\theta\log\pi_\theta(o_t\mid s_t). \]

这让 \(r_t\) 可以被解释为隐式 token 奖励:正值强化、负值抑制。它来自反向 KL 蒸馏的策略梯度式实现。(§3.2、§4.1)

实现时要区分“对采样动作的 log-prob 求梯度”和“将 log-ratio 作为常数系数”。本文以下使用明确的 stop-gradient 代理损失,不把对采样序列中的 log-ratio 直接求导,误当成完整的策略梯度推导。

3.2 OPDVR:冲突项置零,不是翻转符号

Verifier 对完整回答给出 \(R\in\{+1,-1\}\)。OPDVR 定义:

\[ w_t=R\operatorname{ReLU}(Rr_t). \]

等价地:

\[ w_t=\begin{cases} \max(0,r_t),&R=+1,\\ \min(0,r_t),&R=-1. \end{cases} \]

四种情况如下:(§4.2–§4.3)

回答结果 教师与学生概率 原 OPD 系数 OPDVR 系数 效果
正确 \(p_t^T>p_t\) 保留 强化
正确 \(p_t^T<p_t\) 0 不再向教师的较低概率回拉
错误 \(p_t^T>p_t\) 0 不再强化这项教师偏好
错误 \(p_t^T<p_t\) 保留 抑制

因此 OPDVR 不是 \(R|r_t|\)。它不会把错误回答里的正信号翻成负信号,而是直接去掉;正确回答中的负信号也同理。

一个显式的最小化代理损失是:

\[ L_{\mathrm{OPDVR}} =-\sum_{t=1}^{T}\operatorname{sg}(w_t) \log\pi_\theta(o_t\mid s_t), \]

其中 \(\operatorname{sg}\) 表示不对奖励系数反向传播。实际批处理还需处理 padding、长度归一化和训练框架的策略更新机制。

方法只新增了门控规则,“无新增超参数”不等于整个训练没有学习率、温度、长度上限等超参数。它还需要可用的 verifier 和教师打分,不能凭门控消除这两部分成本。

3.3 GRPD:论文公式只使用组内优势的符号

Group Relative Policy Distillation(GRPD,组相对策略蒸馏)先为同一问题采样 \(G\) 条回答,使用二值正确性 \(C_i\in\{0,1\}\) 计算组内优势:

\[ \widehat A_i=\frac{C_i-\overline C}{\operatorname{std}(C)}. \]

按论文 §4.4 的紧凑公式,令 \(s_i=\operatorname{sign}(\widehat A_i)\)

\[ w_{i,t}^{\mathrm{GRPD}} =s_i\operatorname{ReLU}(s_i r_{i,t}). \]

注意这条公式没有乘以 \(|\widehat A_i|\)。对于同时有对、有错的二值奖励组,其符号与答案对错一致,所以单个 token 的门控系数与 OPDVR 相同。不能仅凭这条公式声称“答得越超过组均值,奖励幅度就越大”。

全对或全错的组具有零方差,需要数值保护和零优势约定;若使用 epsilon 并令零优势的 sign 为零,该组在这个公式下不产生更新。

3.4 复现核对:当前代码与 GRPD 公式有实质区别

核对作者仓库提交 6affd54 后,可以看到:基础 OPDVR 的 clamp 与论文一致,但 GRPD 的实现会在门控之后再乘:

\[ w_{i,t}^{\mathrm{code}} =w_{i,t}^{\mathrm{OPDVR}}\bigl(|\widehat A_i|+u\bigr). \]

这里 \(u\) 是代码提供的 grpo_scale_baseline,启动脚本默认值为 0。代码允许优势除以标准差,也允许只减组均值;该版本 grpd.sh 默认开启标准差归一化,而 README 将不除标准差的版本标为 paper 设置。

这不是同一公式的简单重写,而是会改变更新幅度的差别。 下文数值例子会分别计算,论文表 3 的结果则按作者报告保留,不擅自认定一定由某一个公开默认配置产生。复现时应固定提交,并确认实际实验配置。(奖励处理代码GRPD 脚本

4. 数值例子:从回答对错到实际梯度

以下为教学用简化示例,概率值和步长不来自论文。问题是“2+3 等于多少”,学生分别产生答案为 5 和 6 的两条回答。每条回答只挑两个 token 位置展示;不同位置属于不同条件分布,因此表内概率不需要跨行相加为 1。

4.1 四个位置覆盖全部门控情况

回答 位置 学生 \(p_t\) 教师 \(p_t^T\) \(r_t=\log(p_t^T/p_t)\) \(w_t\)
正确,\(R=+1\) A 0.2 0.4 \(\log2=0.6931\) 0.6931
正确,\(R=+1\) B 0.6 0.3 \(\log0.5=-0.6931\) 0
错误,\(R=-1\) C 0.2 0.4 \(\log2=0.6931\) 0
错误,\(R=-1\) D 0.6 0.3 \(\log0.5=-0.6931\) -0.6931

位置 A 的教师更认可该 token,且最终答对,所以保留强化;位置 B 虽然学生更自信,但答对了,因此不再惩罚。位置 C 在错误回答里,不再接受教师的正向拉动;位置 D 保留负向系数。

这只是使用最终结果决定符号,不代表已经确定 A、B 是正确推理步骤,C、D 是错误发生的位置。

4.2 损失与梯度怎样计算?

这四个位置对未归一化代理损失的贡献为:

\[ \begin{aligned} L_{\mathrm{4\ positions}} &=-0.693147\log0.2 -(-0.693147)\log0.6\\ &\approx1.1156-0.3541=0.7615. \end{aligned} \]

负奖励对应的损失项可以为负,它是策略梯度代理目标,不是必须非负的普通交叉熵。数值大小也不能直接当成准确率。

对某个位置,假设词表分布为向量 \(\mathbf p\in\mathbb R^V\),采样 token 为 \(a\),logits 为 \(z\in\mathbb R^V\)。固定系数 \(w\) 后:

\[ \frac{\partial L}{\partial z_j} =-w\bigl(\mathbf1[j=a]-p_j\bigr). \]

位置 A 的目标 logit 梯度为:

\[ -0.693147(1-0.2)=-0.554518. \]

若教学步长 \(\eta=0.1\),直接对该 logit 做梯度下降,会增加 \(0.055452\)。位置 D 则为:

\[ -(-0.693147)(1-0.6)=+0.277259, \]

该 logit 减少 \(0.027726\)。B、C 的直接门控贡献为零。真实网络更新共享参数,其他 token 的梯度仍可能间接改变 B、C 的概率,因此“屏蔽”不是将其概率永久冻结。

4.3 同一个组:论文 GRPD 与代码计算有什么不同?

\(G=4\),正确性为 \((1,0,0,0)\)。为手算使用总体标准差:

\[ \overline C=0.25,\qquad \sigma=\sqrt{0.1875}\approx0.433013. \]

因此:

\[ \widehat A=(1.732051,-0.577350,-0.577350,-0.577350). \]

论文 sign-only 公式对正确回答中 \(r=\log2\) 的 token 仍给 \(0.693147\);对错误回答中 \(r=-\log2\) 的 token 仍给 \(-0.693147\)

若按代码的幅度缩放、\(u=0\),并使用本例的标准差约定,则相应系数变为:

\[ 0.693147\times1.732051\approx1.200566, \]

\[ -0.693147\times0.577350\approx-0.400189. \]

若改为不除标准差,两者则变为 \(0.693147\times0.75\approx0.519860\)\(-0.693147\times0.25\approx-0.173287\)。实际框架还需核对总体/样本标准差约定与 epsilon;这里的目的,是展示符号门控和优势幅度缩放并不相同

4.4 “超过教师”的理论例子到底证明什么?

附录 A.3 使用一个单 token、两个选择的问题:选对的教师概率 \(p<0.5\),学生初始正确概率 \(q_0>p\)

\(p=0.3,q_0=0.6\)。对正确选择,\(\log(0.3/0.6)<0\),被门控;对错误选择,\(\log(0.7/0.4)>0\),也被门控。所以 OPDVR 更新为零,保留学生原来的 \(q_0=0.6\)

教师的期望二值奖励是 \(2p-1=-0.4\),学生保持 \(2q_0-1=0.2\)。标准 OPD 在这个简化问题中的最优分布是教师分布,因而回到 \(q=p=0.3\)

这证明 OPDVR 可以避免把已经优于教师的学生拉回去,不是证明它从更差的学生出发,必然学到超过教师的新能力。

5. Results:平均提升明确,但不是逐项全面获胜

5.1 数据、师生与评测协议

同规模设置使用 Qwen3-4B non-thinking 学生,教师为经 DeepMath 上 GRPO 训练的同规模模型;使用难度至少为 6 的 57k DeepMath 子集。跨规模设置使用 Qwen3-1.7B-Base 学生和在 DAPO-Math-17k 上经 3 epochs GRPO 训练的 Qwen3-4B-Base 教师,蒸馏也运行 3 epochs。(§5.1)

论文称后一设置为 cross-architecture,但师生仍属于 Qwen3 家族,不代表验证了任意架构或不同 tokenizer 的兼容性。

六项评测均为 avg@16:对多次采样的正确性取平均,不是“16 次中只要一次成功”的 pass@16,也不是多数投票准确率。附录 B 给出学习率 \(10^{-6}\)、训练 batch 256、最大回答 8192 tokens、最大 prompt 1024 tokens、rollout 温度 1.0、评测温度 0.7、top-p 0.95。使用 Verl;硬件为 RTX 5090,但论文没有据此给出完整 GPU-hours 成本。

5.2 同规模:五项改善,一项下降

指标 教师 Sampled OPD Top-64 OPD OPDVR 相对 Sampled OPD 的百分点差
AIME24 36.0 34.2 34.6 36.9 +2.7
AIME25 29.0 26.0 23.5 28.1 +2.1
AMC 65.9 63.1 62.0 64.8 +1.7
MATH500 87.0 85.5 85.0 84.7 -0.8
Minerva 35.4 31.6 32.2 33.2 +1.6
OlympiadBench 49.3 46.5 46.8 47.0 +0.5
六项平均 50.4 47.8 47.4 49.1 +1.3

表 1 中 AIME24 超过教师 0.9 个百分点,但整体平均低于教师 1.3 个百分点。正文“所有六项均胜过 OPD”的说法与 MATH500 一行不符,本文以表格为准。

5.3 跨规模:比 sampled OPD 全面改善,但仍远低于教师

方法 AIME24 AIME25 AMC MATH500 Minerva OlympiadBench 平均
初始学生 4.1 1.7 23.2 48.9 8.9 17.1 17.3
教师 10.6 13.1 40.3 74.2 17.2 30.0 30.9
Sampled OPD 6.5 2.1 24.8 59.1 11.5 21.6 20.9
Top-64 OPD 8.5 3.3 26.4 60.1 10.7 21.4 21.7
OPDVR 8.5 3.3 30.3 60.8 11.6 22.0 22.8

表 2 中 OPDVR 比 sampled OPD 的 AMC 高 5.5 个百分点,MATH500 高 1.7;与 Top-64 在 AIME24、AIME25 上持平,不是严格全面超过。

5.4 GRPD:独立设置,不能与表 1 直接做增量归因

表 3 仍使用 4B 师生及 DeepMath 训练的教师,但学生在 DAPO-Math-17k 上训练,组大小为 8:

方法 AIME24 AIME25 AMC MATH500 Minerva OlympiadBench 平均
GRPO 28.3 20.8 62.3 83.9 28.9 44.6 44.8
OPD 32.0 31.7 65.6 85.4 28.9 46.6 48.4
GRPD 34.8 31.7 67.0 85.6 30.5 47.0 49.4

GRPD 比 GRPO 平均高 4.6 个百分点,比 OPD 高 1.0;相对 OPD 是五项提升、一项持平。因为训练数据和设置与表 1 不同,不能用 49.4 与 49.1 的差直接估算“加入组内优势”的净收益;表 3 也缺少同设置的基础 OPDVR 对照。

5.5 消融与训练动态支持了什么?

反向门控保留 OPDVR 原本会屏蔽的冲突项。表 4 的平均分为:OPDVR 49.1、OPD 47.8、反向门控 44.6。反向门控在六项上都低于普通 OPD,这支持“保留哪一侧信号”很重要,而不只是随便减少 token 监督。

但仍需要随机门控、有效 token 数与奖励幅度匹配等对照,才能更干净地区分方向选择与正则化效应。互补 mask 也不自动保证完全相同的保留数量,除非两侧各占一半或额外匹配。

图 4 中,零门控比例在 4B 设置约为 48%–50%,1.7B 设置约为 40%–44%。这是门控后的信号比例,不是自动节约同样比例的 GPU 计算:学生 rollout 与教师打分通常仍需要发生。

同规模设置的回答长度从约 1.6k 增至超过 6.7k tokens;跨规模的熵和长度趋势不同。论文没有显示一个跨设置统一的“门控总能控制熵或缩短回答”的规律。(§5.5)

6. 最具创新性的点:在奖励系数上解决方向冲突

我认为最有辨识度的贡献,是把 OPD 的分布匹配系数直接改成受 verifier 符号约束的 token 奖励,而不是再添加一个独立的 RL 目标。

门控保留了教师的局部差异:即使都是正确回答,不同 token 的强化程度仍不同;同时允许学生已有的正确高置信行为不被强制拉回教师。

附录 A.1 给出局部方向性质。令 \(u_t=\nabla\log\pi_\theta(o_t\mid s_t)\),则:

\[ \langle R\operatorname{ReLU}(Rr_t)u_t,Ru_t\rangle =\operatorname{ReLU}(Rr_t)\|u_t\|^2\geq0. \]

它证明同一个采样 token 的更新项不会与该 token 的 verifier 符号方向相反。但多个 token 共享参数,跨 token 梯度内积可能有交叉影响,因此这不是完整批次梯度必然对齐、期望正确率单调提高的证明。

此外,“正确非负、错误非正”是本文采用的设计约束,不是所有合法策略梯度算法必须满足的普遍定理。带基线的 advantage、分级奖励和过程奖励都可能有不同符号结构。

7. 不足与可能的改进

7.1 论文明确给出的条件与范围

原文没有独立 limitations 专章。可以直接确认的条件包括:核心依赖可验证的最终正确性;实验覆盖两个 Qwen3 师生设置和六个数学基准;理论的超过教师例子预先假设学生在该决策上更好。正文也说明熵与长度趋势依赖具体师生组合,不能普遍外推。

7.2 我的分析:结果门控仍然不是信用分配

错误回答中可能有大量正确步骤,门控仍可能压低其中学生比教师更自信的 token;正确回答也可能包含无关或错误推理。这是把结果广播到过程的限制。

改进可以引入少量可验证中间步骤或分支检查,只在结果信号可靠传播的片段使用门控。代价是验证成本及过程判定噪声;应测错误定位、过程正确率与最终准确率,不能只看被屏蔽比例。

7.3 我的分析:门控可能停住,而不是继续变强

师生概率相同则 \(r_t=0\);学生比教师更好的二选一例子甚至所有信号都被关掉。保留已有能力与创造新能力是两回事。

可尝试在教师信号消失时保留纯 verifier 探索更新,或与不同质量教师比较。代价是重新引入权重、切换策略和探索风险;应统计零信号样本比例,并测弱教师条件下学生能否从较差起点真正改善。

7.4 我的分析:验证错误会决定错误方向

格式解析失败、等价答案未识别等 verifier 错误会直接影响门控符号。教师概率也不是经过校准的“步骤正确概率”,只是一种分布偏好。

改进可以用符号等价检查、多个验证器或不确定样本隔离机制。代价是额外计算和覆盖率下降;应注入不同水平的验证噪声,报告假阳性、假阴性与最终性能变化。

7.5 我的分析:实证归因和复现仍需补齐

主表没有报告多次独立训练的误差范围,avg@16 的重复回答不等价于 16 次独立训练。表 3 缺少同数据的 OPDVR 对照,GRPD 公式与代码的幅度缩放也不同。

最直接的改进是固定数据、教师、rollout 数、有效 token 和总预算,对照:OPD、基础门控、sign-only GRPD、优势幅度缩放 GRPD,并报告多 seed 区间。代价是实验数量增加;这样才能判断增益究竟来自正确性门控、组内缩放还是采样配置。

7.6 我的分析:成本不应只用“改动简单”概括

门控本身便宜,但仍需要教师对学生前缀打分。长回答还可能放大生成与打分成本;只使用采样 token 的损失,不代表教师前向完全没有词表投影开销。

改进评估应报告 GPU-hours、生成 token 数、教师吞吐和固定推理预算的准确率。若进一步做教师调用稀疏化,需检查节约成本是否损害门控判断的可靠性。

8. 读者应记住的要点

  • OPDVR 是带正确性条件的 sampled-token 蒸馏门控:保留一致项、屏蔽冲突项,不是反转冲突奖励。
  • 两个主设置的平均成绩提升,但没有逐项全面获胜,也没有整体超过教师。
  • GRPD 的论文公式与当前代码存在幅度缩放差别,复现时必须固定配置。
  • 局部符号一致不等于真实逐 token 信用分配,也不保证全局正确率单调提高。

原始资料与延伸阅读

  1. 论文与版本记录v2 PDFHTML 全文。方法见 §4,主实验见表 1–4,理论与配置见附录 A–C。
  2. 作者 OPDVR 仓库,本文实现核对固定于提交 6affd54

站内相关:On-Policy Distillation:让学生在自己的轨迹上向老师学习 介绍 OPD 基本框架;SMOPD 深度解读:多奖励强化学习的“先专门化,再蒸馏合并” 讨论不同奖励目标与多教师专家合并。OPDVR 本身使用单教师与结果验证信号,故归入「OPD」和「多源奖励信号」,不归入 MOPD。


OPDVR:用答案正确性过滤蒸馏信号,如何把 OPD 与可验证奖励结合?
https://kissshhot.github.io/2026/09/08/opdvr-verifiable-reward-gated-distillation/
作者
丁一帆
发布于
2026年9月8日
许可协议

点赞与评论

喜欢这篇文章?点个赞,或留下你的想法。登录 GitHub 后即可参与。

如果评论无法加载,请检查网络连接后刷新页面。