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 信用分配,也不保证全局正确率单调提高。
原始资料与延伸阅读
- 论文与版本记录、v2 PDF、HTML 全文。方法见 §4,主实验见表 1–4,理论与配置见附录 A–C。
- 作者 OPDVR
仓库,本文实现核对固定于提交
6affd54。
站内相关:On-Policy Distillation:让学生在自己的轨迹上向老师学习 介绍 OPD 基本框架;SMOPD 深度解读:多奖励强化学习的“先专门化,再蒸馏合并” 讨论不同奖励目标与多教师专家合并。OPDVR 本身使用单教师与结果验证信号,故归入「OPD」和「多源奖励信号」,不归入 MOPD。
点赞与评论
喜欢这篇文章?点个赞,或留下你的想法。登录 GitHub 后即可参与。
如果评论无法加载,请检查网络连接后刷新页面。