并非每个Token都值得蒸馏:Direct-OPD的选择性监督 Not Every Token Is Worth Distilling: Selective Supervision for Direct-OPD
发现Direct-OPD的log-ratio奖励对概率质量失明,按JSD仅保留10%状态反而更稳更强。
前置知识
在线策略蒸馏(On-Policy Distillation, OPD)
一种知识蒸馏范式:student 从自己的当前策略采样完整回复,teacher 在 student 访问到的每个前缀状态 $s_t=(x,y_{<t})$ 上给出下一 token 分布,作为逐位置的稠密监督信号来训练 student。与离线蒸馏使用固定数据集不同,OPD 的训练状态分布随 student 更新而变化,能缓解 exposure bias,让模型在"自己的轨迹"上学到 teacher 的行为。
本文的 Direct-OPD 与 S2D-OPD 都构建在 OPD 框架上,理解"student 采样状态 + teacher 提供稠密监督"这一结构是读懂全文的前提。
Direct-OPD 与弱到强迁移
Direct-OPD 把 RL 前后两个小模型 checkpoint 的逐 token 对数比率 $\Delta_t(v|s)=\log\frac{\pi_T(v|s)}{\pi_{ref}(v|s)}$ 作为奖励,在更大的 student 自己采样的状态上最大化它(配 student 初始点的 KL 正则),从而把"RL 带来的策略改进"而非 teacher 本身的能力转移给大模型,绕开传统 OPD "teacher 必须强于 student"的限制。
论文研究的正是 Direct-OPD 奖励信号的性质缺陷及其修复,必须先理解其目标函数形式与弱到强的设定。
KL 散度与 Jensen–Shannon 散度(JSD)
KL 散度 $D_{KL}(P\|Q)=\sum_v P(v)\log\frac{P(v)}{Q(v)}$ 度量分布差异,但不对称且当 $Q$ 给某 token 零概率时会发散;JSD 是其对称化版本 $D_{JS}(P,Q)=\tfrac12 D_{KL}(P\|M)+\tfrac12 D_{KL}(Q\|M)$,$M=(P+Q)/2$,对称、有界于 $\log 2$、对零概率鲁棒。Pinsker 型不等式给出 $|P(A)-Q(A)|\le D_{TV}\le\sqrt{2D_{JS}}$,即小 JSD 保证任意事件上两个分布的概率差都很小。
S2D-OPD 用 teacher–reference JSD 作为状态选择分数,其对称、有界、零概率有限的性质正是选它而非 KL 的原因,理解这些性质才能看懂方法设计动机。
RLVR/GRPO 与 RL 诱导的策略偏移
可验证奖励的强化学习(RLVR)常用 GRPO 等算法按数学题结果对错优化小模型,得到 post-RL teacher;teacher 相对 pre-RL reference 的分布变化称为 RL 诱导的策略偏移(policy shift)。已有分析(Meng et al., 2026)发现这种偏移是稀疏的:大的分布变化集中在少数 token 上。
S2D-OPD 默认只保留每条回复 10% 的状态,这一超参直接来自"RL 偏移稀疏"的观察,且整个方法只适用于这类有明确 pre/post-RL checkpoint 对的场景。
研究动机
训练大语言模型最有效的手段是大规模强化学习后训练,但 RL 的成本随模型规模增长:需要更多 rollout 生成、训练算力、显存与基础设施,且稳定优化困难,因此"最有后训练潜力的最大模型"恰恰最难用 RL 提升。在线策略蒸馏(OPD)虽能把强 teacher 的能力高效转移给小 student,却依赖一个比 student 更强的 teacher——当目标模型已是可用的最强模型时这条路走不通。Direct-OPD 与 Proxy-OPD 为此提出弱到强路线:在小模型上跑 RL,把 post-RL teacher 与 pre-RL reference 的逐 token log-ratio 作为奖励,在大 student 自己采样的每个状态上稠密施加监督,从而无需在大模型规模上跑 RL、也无需更强 teacher。但这个"免费午餐"有一个未被检验的隐含假设:每个 token 级奖励是否都反映了 teacher 行为的真实变化?由于 log-ratio 只度量相对变化,即便 teacher 与 reference 分配给 student 候选 token 的概率质量同时趋于零,log-ratio 奖励仍可保持不变,导致 Direct-OPD 会在 teacher 几乎没改变行为的状态上施加与其他状态一样大的更新。
本文的目标是本文要回答的核心问题是:Direct-OPD 中是否每个状态的策略偏移都值得"免费"蒸馏?具体目标分三层。第一,从理论上精确刻画 log-ratio 奖励的"概率质量盲区":通过一个精确构造证明,当 teacher 与 reference 分配给 student top-K 候选的概率质量 $\epsilon\to 0$ 时,Direct-OPD 的奖励与其对 student 的局部梯度保持固定且非零,而 teacher–reference 的 JSD 和两个方向的 KL 都随 $\epsilon$ 线性消失;同时证明 JSD 通过 $|P(A)-Q(A)|\le D_{TV}\le\sqrt{2D_{JS}}$ 在每个状态上约束 teacher 行为可改变的上界。第二,基于此分析提出 S2D-OPD:按 teacher–reference JSD 给 student 采样的状态排序,在每个响应内只保留 top 10% 高 divergence 状态施加 Direct-OPD 监督,且不增加任何额外前向传播。第三,在两个 teacher 对与四个 1.7B–8B student 上验证选择性监督能否在不拖慢早期学习的前提下提升 held-out 迁移效果,并用分箱实验揭示迁移增益与保留状态平均 JSD 之间的关系。
与已有工作不同的是,已有选择性蒸馏工作按"读哪个分布"分类:有的只看 student 的不确定性,有的只看 teacher 的置信度或局部 margin,有的强调 teacher–student 分歧(如 TIP 的熵–散度分类法、TA-OPD 限制在 student 预测支撑集上),OPD2 则用居中 log-ratio 的符号一致性来门控更新。本文的独特切入在于:选择准则的对象既不是 teacher 本身的能力,也不是 teacher–student 的分歧,而是 teacher 相对其 pre-RL reference 的"行为改变幅度",即策略偏移本身的显著性。技术上,作者从概率质量视角找出 log-ratio 的结构性缺陷——它对"偏移背后有多少概率质量支撑"不敏感——并给出一个单自由度的精确构造(固定 student 与候选集、按 $\epsilon$ 缩放候选集上的总质量)把这一缺陷与 JSD 的灵敏度干净地分离。更难得的是,作者没有停留在"筛掉低质量监督"的直觉层面,而是先用总变差界说明低 JSD 状态上 teacher 行为可证地几乎未变,再用十分位分箱训练实验证明这些状态不仅冗余而且有害,从而把"选择哪些状态"与"保留多少状态"两个问题干净地区分开。
核心方法
直觉上,Direct-OPD 像是给 student 的每个 token 都发"改进指令",但其中很多指令发出的位置,teacher 自己根本没有改变过行为——这些指令非但没有信息量,反而会把 student 推离正确轨道。S2D-OPD 的整体思路因此是"先打分、后遮蔽":对 student 采样的每个状态,度量 RL 后 teacher 与 pre-RL reference 在该状态的分布差异(JSD),把差异大的状态视为"RL 真正改变了行为"的位置,只在每条响应内 JSD 最高的前 $\rho=10\%$ 状态上保留 Direct-OPD 的 log-ratio 奖励与 student anchor KL,其余状态的两个损失项都被 mask 掉。技术路线四步走:在 student top-K 候选集上加一个残差 token 压缩两个 checkpoint 的分布;计算压缩分布间的 JSD 作为分数;按分数在每个响应内取 top-$k$($k=\max\{1,\lceil\rho|T|\rceil\}$)得到掩码;对被保留状态求平均的掩蔽目标做梯度上升。由于打分完全复用 Direct-OPD 已经计算过的 teacher 与 reference 概率,方法不需要任何额外前向传播,训练开销几乎为零,$\rho=1$ 时精确退化为原版 Direct-OPD。
核心创新是把"该在哪蒸馏"与"蒸馏什么"解耦:Direct-OPD 的 log-ratio 决定在选中状态上鼓励哪些 token(蒸馏内容),S2D-OPD 的 teacher–reference JSD 决定哪些状态有资格接受蒸馏(蒸馏位置)。与已有方法的本质区别有三点。第一,选择依据是策略偏移背后的"绝对概率质量"而非奖励的"相对比值":精确构造表明,把候选集上的质量按 $\epsilon$ 缩放时,更新 $\sum_v \mathrm{sg}[\bar p(v)\log\frac{t_v}{q_v}]\nabla_\theta\log\pi_\theta(v|s)$ 不变,而 $D_{JS}(P_\epsilon,Q_\epsilon)=\epsilon\,D_{JS}(t,q)$ 线性消失,故 JSD 恰好补上了 log-ratio 看不见的那个自由度。第二,分数在"student 候选集分辨率"上度量行为改变:把候选集外的所有质量归入残差 token $v_o$,由数据处理不等式 $\tilde d_t\le D_{JS}(\pi^T\|\pi^{ref})$ 保证压缩不放大差异,小分数在两种情形(两个 checkpoint 都几乎不支持候选、或都支持且分布一致)下都意味着 teacher 行为几乎未变。第三,按响应内选择而非全局选择,保证不同 divergence 水平的 rollout 都贡献监督、每个掩码独立于 batch 其他样本。实验进一步揭示反直觉的一点:起作用的主要是"滤掉低 divergence 的有害监督"而非"集中到高 divergence",因为总体 JSD 更低的 teacher 对反而从遮蔽中获益更大。
方法步骤详情
第一步,构造设置:给定 pre-RL reference $\pi_{ref}$、post-RL teacher $\pi_T$(均为公开发布的 1.5B checkpoint,实验不自己跑 RL)和初始化为 $\pi_{stu}$ 的更大 student $\pi_\theta$;对 prompt $x$ 与 student 采样的回复 $y$,位置 $t$ 的状态为 $s_t=(x,y_{<t})$。第二步,候选集压缩:取 student 在 $s_t$ 的 top-$K{=}16$ 候选集 $V_K(s_t)$,对 $M\in\{T,ref\}$ 定义 $\tilde\pi^M(v|s_t)=\pi^M(v|s_t)$($v\in V_K$),并用残差 token $v_o$ 收集剩余质量 $1-\sum_{u\in V_K}\pi^M(u|s_t)$,不做重归一化。第三步,打分:计算 $\tilde d_t=D_{JS}(\tilde\pi^T(\cdot|s_t)\|\tilde\pi^{ref}(\cdot|s_t))$。第四步,选择:在每个响应的有效位置集 $T$ 内保留 $\tilde d_t$ 最大的 $k=\max\{1,\lceil\rho|T|\rceil\}$ 个状态(默认 $\rho=0.1$,至少保留 1 个),得掩码 $m_t$。第五步,掩蔽优化:最大化 $J_{\text{S2D-OPD}}(\theta)=\mathbb{E}[\Delta_t(y_t|s_t)-\alpha D_{KL}[\pi_\theta\|\pi_{stu}]\mid m_t{=}1]$,实现上对 batch 内全部保留状态等权平均梯度 $g=\frac{1}{|\mathcal I_B|}\sum_{t\in\mathcal I_B}[g_t^R-\alpha\nabla_\theta D_{KL}]$,其中 $g_t^R=\sum_{v\in V_K}\mathrm{sg}[\bar p_t(v)\log\frac{\pi_T(v|s_t)}{\pi_{ref}(v|s_t)}]\nabla_\theta\log\pi_\theta(v|s_t)$;被 mask 的状态既不接受奖励也不接受 anchor。KL 系数 $\alpha$ 沿用 Direct-OPD 的符号控制器($\alpha_0=2.5$、步长 $\epsilon=0.01$、区间 $[0.5,2.5]$),在全位置上统计。训练基于 verl,8×H200,global batch 128,300 步,学习率 $10^{-6}$,rollout $n=4$,最大回复长 2048。
技术新颖性
技术新颖性体现在四个层面。其一,理论刻画新:Prop. 1 给出"质量不变性"三位一体结果——reward 不变性、固定非零更新、三个 divergence 随 $\epsilon$ 线性缩放——证明 Direct-OPD 的更新对概率质量这一单一自由度完全失明,而非仅是启发式观察;配套的 $D_{TV}\le\sqrt{2D_{JS}}$ 界从相反方向说明低 JSD 状态上"teacher 行为可证地几乎没变",两者合起来精确刻画了低 divergence 遮蔽到底删除了什么。其二,机制归因新:多数选择性蒸馏工作把增益归因于"挑出了好样本",本文用随机 10% 对照(51.2 vs dense 51.3,几乎无差)、十分位分箱(最低两箱崩溃)与双 teacher 对比较(低 JSD 的 QuestA 对获益更大)三组实验论证增益主要来自"删除有害监督"。其三,工程上极简:分数完全复用 Direct-OPD 已有的前向计算,零额外前向传播;响应内 top-k 使掩码与 batch 无关,可无锁并行。其四,诊断工具新:top-16 token overlap 追踪(App. C)显示最优转移发生在"向 teacher 靠拢同时不丢失与 reference 的重叠"时,提示弱到强迁移可通过共享候选集内的相对偏好变化实现,而不必把 student 推出 reference 的高概率集合,这为理解迁移机制提供了新视角。
实验结果
主实验(Table 1):两个 teacher 对(R1-Distill-1.5B→JustRL-1.5B、Nemotron-1.5B→QuestA-1.5B)× 四个 student(Qwen3-1.7B/4B/8B、R1-Distill-7B),保留 10% 状态的 S2D-OPD 在 93 道 held-out 题(AIME26 + HMMT Nov25/Feb26,Avg@32)上 8 个设置中 7 个超过 dense Direct-OPD、1 个打平:平均 held-out 准确率从 46.36% 提升至 47.31%,增益 0.95 点(95% CI 0.40–1.54;配对 bootstrap 与精确单侧符号翻转检验 $p=6.4\times10^{-4}$)。单设置增益从 +0.2 点(Qwen3-4B+JustRL,53.7 vs 53.5)到 +1.7 点(Qwen3-8B+QuestA 57.1 vs 55.4;Qwen3-1.7B+QuestA 38.1 vs 36.5)。图 2 显示 S2D-OPD 前 60 步与 dense 持平或更好——丢弃 90% 状态不拖慢早期学习;后期更稳,dense Direct-OPD 在 Qwen3-4B 上第 300 步甚至跌破初始 student,而 S2D-OPD 保持高位。RQ2(图 3):固定 JustRL+Qwen3-1.7B 做十分位分箱,随机 10% 对照 peak 51.2 ≈ dense 51.3(稠密监督大量冗余),top 分箱达 52.9,11 个子集的 peak 增益与保留状态平均训练 JSD 的对数近似线性($R^2=0.97$,随机对照落在同一条线上);最低三个分箱低于初始 student、最低两个彻底崩溃。图 5 给出典型案例:某状态的 sampled-token log-ratio 是全响应 8192 个状态中最大("5"的概率从 0.12 被压到 $2\times10^{-5}$)但总变差仅 0.12、JSD 0.044 低于截断 0.067 被 mask,而 JSD 0.262 的更大质量重分配被保留——说明 JSD 与 log-ratio 对状态的排序截然不同。RQ3(图 6、图 8):forward/reverse KL 选择与 JSD 效果类似(Qwen3-4B 最终 71.6–74.1 vs dense 67.2),batch 级与响应级选择相当(52.3 vs 52.9;51.7 vs 51.7),保留率 5%–20% 内 peak 仅在 52.2–53.0 波动。图 4 揭示总体 JSD 更低的 QuestA 对获益更大(+1.0–1.7 点 vs +0.0–1.2 点),支持"遮蔽的价值在删除有害监督而非集中优质监督"的结论。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 数学推理 held-out 迁移(AIME26 + HMMT Nov25/Feb26,93 题,8 个设置平均) | Test Avg. 准确率(Avg@32) | S2D-OPD 47.31% | Direct-OPD 46.36% | +0.95 点(95% CI 0.40–1.54,p=6.4e-4),8 设置中 7 胜 1 平 |
| Qwen3-1.7B + QuestA teacher 对 | held-out Test Avg.(Avg@32) | 38.1(相对初始 student +6.8) | Direct-OPD 36.5(+5.2) | +1.6 点 |
| Qwen3-8B + QuestA teacher 对 | held-out Test Avg.(Avg@32) | 57.1(+1.7) | Direct-OPD 55.4(+0.0,与初始 student 持平) | +1.7 点 |
| Qwen3-4B + QuestA teacher 对 | held-out Test Avg.(Avg@32) | 56.2(+4.2) | Direct-OPD 54.6(+2.6) | +1.6 点 |
| Qwen3-1.7B 十分位分箱分析(JustRL 对,仅用单个 JSD 分箱训练) | AIME24/25 验证 peak 准确率(Avg@32) | top 10% JSD 分箱 52.9 | 随机 10% 对照 51.2;dense Direct-OPD 51.3;初始 student 49.3 | top 分箱超 dense +1.6 点;最低两个分箱训练崩溃 |
局限与改进
作者承认四点(App. G):第一,JSD 只是 teacher 改变幅度的代理,不是正确性裁判——图 11 案例中 RL 强化了 student 把 $R_1=6$ 说成奇数的错误($\Delta p(\text{odd})\approx+0.41$,JSD 0.1197 超过截断 0.0744 被保留),保留监督的质量仍取决于 teacher 的 RL 本身;第二,JSD 对 student 的需求盲视——分数只通过 top-K 候选集依赖 student,student 已学会的偏移与完全没学会的偏移消耗同样预算,student 缺失的低 divergence 偏移被直接丢弃;第三,规模与范围有限——teacher 只有 1.5B、student 最大 8B,而弱到强迁移在更大 student 上才最有价值,且全部实验限于可验证奖励的数学推理,代码生成、agentic 任务中 RL 偏移的分布可能不同;第四,算力受限导致每个配置只训一次,置信区间只反映题目间差异而非训练种子方差。我自己的观察补充四点:其一,"性能随平均 JSD 对数线性上升"($R^2=0.97$)只在 Qwen3-1.7B+JustRL 单一设置验证,跨设置的普适性未证;其二,$\rho=0.1$ 的默认值直接借自"Meng et al. 观察 RL 偏移稀疏"的外部结论,方法本身不含自适应保留率机制,换 teacher 对或换领域时最优稀疏度可能漂移;其三,主实验平均增益仅 0.95 点,Qwen3-8B+JustRL 等设置的增益在 0.2 点量级,接近单次运行的噪声水平,工程上是否值得引入需更大规模证据;其四,方法依赖 teacher 与 reference 是同一初始化的两个 checkpoint 这一前提,无法直接用于异构 teacher。
独立分析的弱点
弱点一:分数不辨对错。JSD 只度量 teacher 分布改变的幅度,RL 强化错误的状态(图 11 的 parity 案例)与真正的纠正获得同样的保留资格,S2D-OPD 把"错误传播"问题原样继承给下游。改进方向:在分数中引入方向或正确性信号,如 verifier 对该局部推断的一致性检查、outcome reward 回传的信用分配,或按"偏移与最终答案对错的相关性"加权。弱点二:对 student 状态无感知。student 早已按 teacher 偏移行事的状態和完全没有跟上偏移的状态得到同样预算,前者是浪费、后者才值得投入。改进方向:融合 student 侧信号(如 $\pi_\theta$ 与 $\pi_T$ 在候选集上的 KL、student 熵),构建"偏移幅度 × 学习缺口"的复合分数,Proxy-OPD 的 student 侧校准是现成参照。弱点三:静态均匀保留率。$\rho$ 是全局常数,忽略响应间与训练阶段间的偏移密度差异。改进方向:按每条响应的 JSD 分布自适应分配预算,或让 $\rho$ 随训练进度退火。弱点四:证据面窄。全部结论来自 1.5B→≤8B 的数学推理且每配置单次运行,0.2–0.5 点量级的增益缺乏种子方差下界,部分设置的提升可能不显著。改进方向:对代表性设置做 3 种子重复,并在代码生成等第二领域复验。弱点五:top-K=16 的候选集压缩虽由数据处理不等式保证不放大 JSD,但截断了长尾上的行为变化——若 RL 的改变恰恰发生在 student 候选集之外(如引入全新技能 token),分数会系统性低估,这类状态可能被错误 mask,可考虑对"残差质量变化"单独设阈值。
未来方向
作者明确提出的方向:把状态选择扩展到自适应保留率(让机制自己学"该保留多少"),以及推广到数学推理之外的领域(代码生成、agentic 任务),检验 RL 偏移在这些场景中是否同样稀疏分布。基于本文成果可自然延伸的研究:第一,正确性感知的选择器——结合 process reward model、verifier 或结果奖励的信用分配,把"幅度大"与"方向对"统一进一个分数,直接解决图 11 揭示的错误保留问题;第二,student 感知的双通道选择——将 teacher–reference JSD(偏移显著性)与 teacher–student 散度(学习缺口)组合,可借鉴 TIP 的熵–散度分类框架做理论化;第三,与 OPD2 的符号门控、TA-OPD 的支撑集限制等正交机制组合消融,确认不同选择准则能否叠加收益;第四,更大规模的弱到强验证——机制在 30B–70B+ student 上是否成立是弱到强文献最关心的实践问题;第五,理论深化——目前的对数线性拟合($R^2=0.97$)是单设置经验观察,若能把"迁移增益是保留状态平均 divergence 的函数"形式化为可预测的标度律,将大幅提升该方向的指导价值;第六,与数据课程结合——按 divergence 分布组织训练样本顺序,或反过来用 JSD 选择值得做弱到强转移的 RL 数据(只转移 RL 真正改变行为的任务)。
复现评估
复现条件相当友好。开源情况:论文声明代码完全公开(GitHub 链接在首页),两个 teacher 对的四个 checkpoint 均为公开发布模型(R1-Distill-1.5B、JustRL-1.5B、Nemotron-1.5B、QuestA-1.5B),四个 student(Qwen3-1.7B/4B/8B、R1-Distill-7B)也是公开权重,因此完全无需自己跑 RL。数据:Skywork-OR1-RL-Data 数学子集公开可得;评测集 AIME24/25(选 checkpoint)与 AIME26、HMMT Nov25/Feb26(held-out,均晚于所有 student 的发布时间)都是标准竞赛题集。算力:App. F 与 Table 2 给出完整配置——verl 框架、8×NVIDIA H200、global batch 128、300 步、学习率 $10^{-6}$、top-K=16、最大回复 2048、采样温度 1.0(训练)/0.7+top-p 0.95(评测,每题 32 样本),单配置一次训练的成本对学术实验室可承受。难度评估:方法改动极小(在 Direct-OPD 上加 JSD 打分与 top-k 掩码),若已有 Direct-OPD/verl 基础设施,实现量级在百行以内;主要复现风险在于每配置单次运行带来的种子方差(作者自认 CI 不含训练方差),以及 adaptive KL 控制器等继承组件需与原实现对齐。总体属于"中低难度、高确定性"的复现,适合作为选择性蒸馏研究的 baseline 代码库。
论文图表
附录 E 的关键反例:student 声称 $R_1=6$ 是奇数,RL 强化这一错误("odd" 概率 $\Delta p\approx+0.41$、"even" $-0.12$),JSD=0.1197 超过该响应截断 0.0744,错误偏移被保留;下一状态 teacher 在错误前提下把 "Wait" 的概率从 0.01 提到 0.71("Therefore" 从 0.49 降到 0.02),暗示重新考虑,但这无法撤销前一个状态对 "odd" 的奖励。
这是"JSD 不判断正确性"这一首要局限的直接证据,警示使用者:选择性监督只解决"在哪蒸馏",监督质量仍取决于 teacher 的 RL 本身。