OPSD 蒸馏:免去大老师,模型为何越练越窄
2026 年 1 月,一组研究者在 arXiv 上挂出一篇看起来很省钱的训练方法:把"大模型当老师"这件事省了,让模型拿同一份参考答案,在自己生成的轨迹上做 token 级蒸馏。论文 Self-Distilled Reasoner 给它起了个名字——On-Policy Self-Distillation(OPSD)。 OPSD OPSD OPSD LUPI AIME24
之后半年里,Qwen3-1.7B 在 AIME25 上的成绩从 36.7 跳到 43.9,模型在数学推理任务上的表现一路压过 GRPO。但几乎每篇后续论文都在同一处撞上同一个症状:模型可生成的推理路径越来越窄。Qwen3-8B 自蒸馏后 pass@1 从 71.9 涨到 73.4,看起来更准了;可 pass@16 同时从 83.6 掉到 78.5。同一份进步,一边长一边塌。
2026 年 8 月,Robert 与 Qader 在 arXiv:2608.25936 挂出一篇 30 页的综述评论,没有跑任何新实验,只做了一件事:把这个症状命名为 collapse,把过去半年分散命名的现象(mode collapse、diversity loss、narrowing)统一到一根症状下,并指出症状背后有三根独立可调的杠杆——where(监督落在哪些 token)、what(teacher 被喂什么)、when(teacher 该静止还是该动)。这篇综述的真正贡献不是新方法,而是把读者训练成:拿到任何一篇新出的 OPSD 变体,能三秒判断它动的是哪根杠杆。
接下来的内容沿着这条主线走:为什么有人要把"大 teacher"省掉;省掉之后发生了什么症状;三根杠杆分别怎么动、各自的代表性变体、以及为什么这篇综述值得花一个晚上读完。
为什么有人把"大模型当老师"这件事重新做了一遍
训练一个推理强的 LLM,过去几年的标准动作是 RLHF/GRPO:让模型反复生成,按对错打分,慢慢往上推。这条路线有个老毛病——reward 信号太稀。一道 AIME 题对就 1 分、错就 0 分,几万个 token 写下来只为换 1 bit 监督,credit assignment 难到让人想哭。
想绕开这个稀,自然的想法是:让学生在自己生成的轨迹上,让一个更强的 teacher 按 token 给出 dense 监督。这就是 GKD 在 2023 年形式化的 On-Policy Distillation(OPD):学生用自己 rollout 出来的轨迹,teacher 在每个 token 上给一个分布,学生 KL 散度对齐这条轨迹。dense + on-policy,听起来完美——代价是要养一个比学生大的 teacher。 OPD OPD OPD
2026 年 1 月的 OPSD founding paper zhao2026opsd 做了一件更省的事:把 teacher 也换成同一模型。同一组权重,只是 teacher 的输入里多了一段"参考答案"。这张图把反直觉的设定一次性钉在读者眼前。

图注:OPSD 训练循环总览。学生分支自回归生成一条推理轨迹,teacher 分支用同一组模型权重,但 prompt 里多了参考答案 y*;teacher 在该轨迹上收集 next-token 分布,与学生分布做 clipped forward-KL;梯度只回传学生分支,teacher 权重冻结。
Teacher 和 student 是同一个模型——读到这里的人往往会问同一个问题:"那 teacher 凭什么比学生强?"答案不在能力,在信息差:teacher 训练时多看到了那段参考答案 y*,而学生推理时拿不到。
这套"训练时多看到一段、推理时拿不到"的设计,学术上有个名字,来自 Vapnik & Vashist 2009 年的 LUPI 范式。经典监督学习是 (x, y) 二元组;LUPI 把训练数据升级成 (x, x*, y) 三元组,其中 x* 只在训练时可见,测试时不可见。

图注:LUPI 范式的标准图示。上栏是经典 SVM 的训练数据 (x_i, y_i);下栏是 LUPI/SVM+ 的训练数据 (x_i, x*_i, y_i),其中 x* 是额外信息,只在训练时可见、测试时拿不到,因此得名"特权"。图改编自 MIT 2012 教学 slide,内容源自 Vapnik & Vashist 2009 LUPI 范式。
对照这张图,可以让一个日常例子对齐直觉。Vapnik 原论文里举过医疗场景:训练时能用既往病历里"3 个月后的随访结果"作为特权信息,测试时只能看当下症状。OPSD 做的事就是把这件事搬到 LLM 上,y* 就是模型当下推理拿不到的"事后才知道的答案"。
把两件事合起来看:OPSD 不是凭空发明的新训练法,而是 OPD(用学生自己的 rollout、teacher 在轨迹上做 token 级监督)的"省去外部大模型"特化。GKD 之后那批工作解决了"如何做 dense on-policy 监督",OPSD 解决了"怎么不要 teacher"。理论根基来自 2009 年就有的 LUPI 范式,只是 Vapnik 当时大概没想到这事 17 年后会跑到 LLM 上来。
症状:模型会越练越窄,而且 entropy 和均分都看不出来
把 OPSD 训练流程跑完之后,Qwen3-1.7B 在 AIME25 上从 36.7 跳到 43.9,看起来一切美好。但跑过几轮训练、换几个评测指标之后,2026 年上半年的 OPSD 论文开始陆续撞上同一面墙:模型可生成的推理路径越来越少。
在 anchor 综述里,这种症状被统一命名为 collapse。它有三种表现,层层递进:行为层是 pass@1 涨、pass@k 跌;token 分布层是输出熵逐渐趋于 0,概率质量压在少数几个 token 上;几何层是分布从多模变成单峰,模型只会走一条正确的路。这里说的"熵"指的是每个位置上模型对"下一个 token 该是什么"的不确定程度;熵趋近 0 意味着模型在生成时几乎不再犹豫。
EOPD 论文 给了一张量化对比图,把 token-level entropy 的分布画清楚。

图注:三组曲线在 AIME24/25 拼接集上的 token-level entropy 直方图。横轴是 token-level entropy,纵轴是 token 数密度;中间区间三者贴近,右端 high-entropy 区(entropy ≥ 1.0)teacher 与 EOPD 都保留明显质量,OPD 蒸馏后的 student 显著下塌。teacher 在高熵区保留 18.5% 的概率质量,OPD 后只剩 6.8%。
这张直方图能确认的是 OPD 后 token 级不确定性在高熵区减少,最多只能算"和路径变窄一致的线索",并不直接证明路径多样性变少了。路径变窄这件事的主证据是 pass@k 曲线:第 49 行那一对反直觉数字(Qwen3-8B 自蒸馏后 pass@1 从 71.9 升到 73.4,pass@16 同时从 83.6 掉到 78.5),把这一节真正要钉的结论钉死。
比塌陷更棘手的,是它会骗人。Nicolicioiu et al. 在 2026 年的工作里报告了一组反直觉的 Qwen3-8B 数字:自蒸馏后 pass@1 从 71.9 升到 73.4,但 pass@16 同时从 83.6 掉到 78.5。更糟糕的是,模型的 token entropy 还比 GRPO 高。表面看更"发散",实际推理路径反而更少。
这就是 anchor 综述 §1.4 反复强调的诊断纪律:entropy 不是 diversity 的有效代理,均分(avg@k)也不是。只有 pass@k——让模型多采几次、统计能命中正确答案的覆盖——才能看见 collapse。后续每一章引数字时,都得先过这一关。
collapse 的来源有两族。第一族不是 OPSD 特有的:entropy law 说的 entropy budget 耗尽、Shumailov 说的 model collapse(尾部分布先消失,然后收敛到单模)、accumulate-not-replace 边界——这些是任何自采样训练都可能撞上的事,OPSD 继承了症状但没继承机制。第二族是 OPSD 特有的,被 anchor 综述标为 PMI-specific:teacher 看到 y* 之后变得过度知情,它强烈奖励那些和答案一致的 token(连接词、可验证内容),强烈惩罚那些"思考性"的 token(wait、maybe、let me think)。恰恰是这些"思考性" token 让模型在测试时能多走两步。teacher 越聪明,student 越短视。
到这里,读者应该把一句话刻进脑子里:OPSD 当前最突出的失败模式叫"可生成推理路径变窄";它有三层表现、两族来源;entropy 和均分都会骗人,只有 pass@k 能可靠看见它。这是后面三章的共同前置过滤器——读任何 OPSD 变体的数字,先看 pass@k。
三根杠杆之一 · where:监督落在哪些 token,怎么加权
症状摆出来,接下来三章是开方。anchor 综述的核心论点:collapse 不是 bug,是症状;症状背后有三根独立的杠杆,每根杠杆的特定调法都会改变症状的烈度。
第一根杠杆叫 where,问的是:KL 散度应该用什么方向,监督应该加权在哪些 token 上。
这件事的入门概念是 forward KL 与 reverse KL 的差别。

图注:同一多模目标分布上,三种 divergence 训出的 student 形态对比。forward KL 推向 mass-covering——student 把概率质量铺到 teacher 的所有 mode 上;reverse KL 推向 mode-seeking——student 只锁定 teacher 的主峰,空区域不分配概率;JSD(中间)居中。
要拿一张更直觉的几何图,可以看 MiniLLM 2023 年的 toy 实验:用一个高斯去拟合一个两峰的高斯混合。 MiniLLM

图注:左侧 forward KL 训出的单高斯位于两峰中间,概率质量铺到两峰之间的空白;右侧 reverse KL 训出的单高斯只锁定其中一个主峰,空区域几乎不分配概率。同一目标、同一学生容量,选哪个 KL 直接决定 student 是"覆盖全部可能性"还是"只追一个最可能"。
OPSD 选 forward KL,是有意识的反向选择:collapse 是路径变窄,所以反 collapse 就要 mass-covering——选 forward KL 让 student 覆盖 teacher 的所有 mode,即使代价是在低概率区域也铺开。MiniLLM 选 reverse KL 是相反的动机:怕 student 在 void region 生成低质量长尾,所以只锁主峰。这两条线在 forward/reverse KL 这一根轴上是镜像。
第二层问题是:能不能按 token 选择 KL 方向?EOPD 论文做了一个具体答案——

图注:Qwen3-1.7B-Base 训练步与 high-entropy token(entropy ≥ 0.8)位置上的平均 forward KL 关系曲线。三条线分别对应 OPD + Entropy Bonus、OPD + Advantage Shaping、EOPD;EOPD 曲线全程位于另两条之下,意味着它在 teacher 不确定的 token 上始终更贴近 teacher 的分布。
具体做法:整体保留 reverse KL(对应 MiniLLM 那条线,收敛快),但对 teacher 高 entropy 的 token(entropy ≥ 0.8)额外加一道 forward KL 旁路。这等于在说"teacher 信心足的地方按 reverse KL 走、teacher 不确定的地方改用 forward KL 兜底分布结构"。为了不让 forward KL 在 15 万词表上爆显存,论文用 teacher top-16 token 归一化做近似——这是个把"贵"变成"在 high-entropy 位置上可承担"的关键工程改动。
效果是真实的:Qwen3-0.6B / 1.7B / 4B 在六个数学基准上的 Pass@8 分别提升 +1.37 / +2.39 / +5.05 pct。而且 Pass@k 的增益随 k 增大而扩大——这是 "EOPD 保住多样性"叙事最直接的证据:student 在更多次采样下能命中正确答案的边际收益更大。
把这一章收束成一句话:Lever A 问的不是"哪个 KL 更好",而是"你想保住多样性还是压住幻觉"的取舍。OPSD 默认 forward KL 是反 collapse 取向;EOPD 的精细化(只对 teacher 高 entropy token 补 forward KL)是当前最具体的折中方案。但这个"按 token 选 KL 的准则到底应该是什么",anchor 综述 §2.1 把其列为开放问题——它还没被证明能可靠转化为训练收益。
三根杠杆之二 · what:喂给 teacher 的特权信息,本身就是变量
第二根杠杆叫 what,问的是:teacher 在训练时被喂的那段特权信息(y*),到底应该是什么形态。
anchor 综述 §2.3 给了个按"风险"排序的分类:final answer(学生完全无法重建)→ worked solution(OPSD 默认,看似有推理但预设了答案)→ full CoT → plan / skeleton → rubric → 环境反馈 / action-only(SDPO 那一支)。排序背后的逻辑来自 LUPI 范式的安全准则:特权信息只在学生测试时能重建它时有用,如果只能预设或死记,它就是 collapse 的诱因。
但 anchor 综述自己把这份排序标注为 "only partially supported by the literature and may therefore contain errors"——它是一个值得审慎对待的猜测,不是已定论。2026 年 8 月的两篇同期论文从相反方向同时打这张表,把排序的可信度进一步削弱。
PS-OPSD 走"减量与重构"路线。

图注:左侧 OPSD pipeline 把完整参考解答直接喂给 teacher;右侧 PS-OPSD pipeline 先用一个 PS Guidance 抽取器把 verified solution 抽成 initial state / goal / constraints / state-transition path 四字段,再喂给 teacher。两边 student 都是 question-only prefix,token 级蒸馏目标保持不变——PS-OPSD 与 OPSD 的唯一差异就是特权信息的表示形式。
具体到一道题上长什么样,可以看下面这个例子。

图注:左边是原题和缩写后的 verified solution;右边是抽取出的四字段 Problem-Space Guidance(初始状态 / 目标条件 / 约束 / 状态转移路径),省略了具体算术过程。部署时 student 只看问题,这整段 guidance 都被拿掉。
效果上,Qwen3-1.7B / 4B / 8B 上 PS-OPSD 相对 OPSD 平均提升 1.54–2.04 pct;hard-case rescue(在 Base 已经做不对的子集上)从 1.69% 提到 4.35%。论文标题直白:"Is More Privileged Information Better?"——答案是不一定。
OP²SD 走"错配也行"路线——把 teacher context 里的"目标题 A 的参考解答"换成"另一道题 B 的解",其它一切不动。

图注:左半深蓝框是 OPSD,TEACHER CONTEXT 由 Problem A + Solution A 拼成,蓝色 pill "KNOWS THE ANSWER OF A";右半青绿框是 OP²SD,TEACHER CONTEXT 由 Problem A + Problem B / Solution B 拼成,红色 pill "NO SOLUTION OF A";中间橙色 "ONE CHANGE" 标记 teacher context 单一差异;底部灰色横条 "HELD FIXED IN BOTH CONDITIONS" 把 student rollout、forward-KL 更新等四个组件钉死。
如果 OPSD 的力量真来自"teacher 看到 target 的答案",那 OP²SD 应该显著退化。Qwen3-8B 上的实测:不是退化,是反超——AIME24 / 25 / HMMT25 Avg@12 上 OP²SD 比 OPSD 高 10.83 / 10.69 / 9.38 pct(论文标 "Working progress",数字可能尚未最终化)。 AIME24
OP²SD 作者的解读直白:OPSD 增益的主要来源不是"teacher 知道 target 的答案",而是"teacher 被放进了一个 worked-example 语境里"——后者就足以产生 OPSD 同等量级的训练信号,前者只是其中一个能产生这种语境的具体实例。这把综述对 PI 的"more is better"默认直觉撕开了一道口子。
把这两章合起来看:Lever B 决定的是 teacher "多看到的是什么",不是越多越好,也不是越对越好。PS-OPSD 说"少而结构化的 PI 反而 work",OP²SD 说"配错题的 PI 也能 work",anchor 综述的 risk 排序在两篇反证下只能标"contested"。按 LUPI 范式的安全准则倒过来读,关键句是"学生测试时能否重建它"。能重建的有用(plan、rubric、环境反馈),不能重建的预设(参考解、final answer)反而是 collapse 的诱因——这一句目前还有效,但具体的排序尚无定论。
三根杠杆之三 · when:teacher 该静止还是该随训练动,信号该如何衰减
第三根杠杆叫 when,问的是:teacher 自身的权重该不该随训练动、以多快的速度动。
OPSD 默认 teacher 冻结在初始策略。这样做简单,也保留了梯度之外的隔离,但有个老毛病:学生跑远之后,teacher 还在原地,监督信号会逐渐过时。anchor 综述把这里和 SimSiam、BYOL、Mean Teacher 放在同一个概念背景下:它们同样面对 teacher–student 反馈如何保持稳定的问题。不过,这个参照只能说明问题的家族相近,不能据此证明 OPSD 的 collapse 就由 SimSiam 式机制造成。OPSD 仍然要从自己的训练循环出发追问:teacher 的信号什么时候已经过时,什么时候又会开始吸收 student 的漂移?这正是 frozen 与 EMA 取舍的核心。

图注:三根杠杆在 OPSD 循环上的位置。Lever A 在 token weighting(损失层);Lever B 在 PI 输入(teacher context);Lever C 同时出现在两处:teacher 看到 PI 的方式 与 teacher 权重更新方式。这两个机制常被混为一谈,但它们是独立的自由度。
Lever C 的两端是 frozen(完全不动)和 EMA(动量平均连续跟踪),中间是各种 adaptive gating(按信号强度决定是否激活)。
frozen 端的代表是 OPSD 自身。它避免 teacher 立刻追随学生,却也可能在学生策略明显改变后继续提供旧信号。EMA 端的代表是 SDPO,它把 teacher 用动量平均连续跟踪学生(teacher_update_rate=0.05),Qwen3-8B 在 LiveCodeBench v6 上 48.8% vs GRPO 41.2%。EMA 试图解决信号过时,却带来另一种风险:没有 isolation period。teacher 每个 step 都吸收一小份学生漂移,理论上可能把 student 的 drift 一点一点传回去。
adaptive 端的最新代表是 RSTG,把“什么时候用 teacher、用多强、用哪些 token”做成数据驱动的三阶决策。

图注:RSTG 框架总览。左侧样本路由器:负零方差 prompt(student 8 次 rollout 全错)走 RSTG 分支,其他 prompt 退回标准 GRPO。RSTG 分支内部自上而下:(a) teacher confidence ω_i 作为 OPD advantage 的权重;(b) token 选择器用 student entropy + teacher-student divergence 做 Soft-OR,选 top-k% 高价值 token;(c) SFT 模块用 teacher 预生成 correct trajectory 注入正向梯度。
具体来说三层 gating:sample 层只在 student 全错、teacher 全对的 prompt 上激活 OPD,否则退回 GRPO;token 层用 student entropy + teacher-student divergence 做“软或”挑出高价值 token;再叠一道 SFT,用 teacher 预生成 correct trajectory 注入正向梯度,把 OPD 一边倒的负 advantage 拉回对称。Qwen3-1.7B→4B 数学训练上 +4.02%,Qwen3-4B→4B 代码 +3.05%(相对于 naive GRPO+OPD)。
把三章合起来看:Lever C 不是“老师用 frozen 还是 EMA”的二元选择,而是要同时控制两种时间错位:teacher 不能在学生已经跑远后还停留在过时状态,也不能为了追上学生而把学生的漂移原样吸收。 frozen 让信号保持隔离,代价是可能过时;EMA 让信号持续更新,代价是隔离变弱;RSTG 则尝试只在特定样本和 token 上放行信号。anchor 综述明确把“teacher 该静止还是该动、动多快”列为开放问题。三轴里,这一轴的共识最浅,变体也最多。
它打开了什么
写到这里,回头看 anchor 综述的核心命题:OPSD 的赌注已经从"密度本身就是变量"转移到"where / what / when 三根杠杆如何控制"。teacher 的信号是双刃——它既传递技能,也灌输 student 推理时拿不到的捷径。控制信号比增加信号更重要。
这一整套框架给读者的实践收益是具体的。每出现一篇新的 OPSD 变体,读者能三秒把它归位到 where / what / when 三轴的某根上,再问"它在另外两根上回避了什么"。anchor 综述的 §2.3 顺带把近期一系列变体做了一次横向盘点和对照:DOPD 用 step-wise hints 把无特权的 63.0 推到 71.3,Kara 等人用 aligned critique 把 reference-based OPSD 又高出 +5.27、把 GRPO 高出 +16.11,AR-OPD 把 teacher 的 anchor 限定在前半段 trace 让 shortcut events 跌 20% 以上,等等。每一项都可以按三轴归位。
但读者也应该带着几个限定读这份框架:
第一,anchor 综述的全部数字得先过 §1.4 的评测脆性过滤器:AIME 30 题方差大(单题翻转会动 3 分以上)、AIME2024 题目部分进了预训练数据、Qwen 家族对随机训练信号也会涨分(可能在 Llama / OLMo 上不成立)。后续引任何数字,必须看 pass@k、多个种子平均、再三问是不是 Qwen 家族。
第二,scope 是数学推理。multimodal、agentic、tool-use 等分支 anchor 综述明确未覆盖。把综述结论推广到这些领域,得自己重新看一遍。
第三,PI-risk 排序(从参考解到环境反馈)只是"contested taxonomy",anchor 综述自己标注 "only partially supported";遗忘排序 SFT > dense self-dist > sparse RL 是 "contested conjecture"。这两条不能当结论引用。
最后,值得说一句的边界:OPSD 不是 turnkey training method。anchor 综述自己定调——它是"a post-SFT fine-tuning method that is frugal in generated tokens and requires no external teacher",省了大 teacher 的代价是承担了一根症状和三个待调的杠杆。值得用,值得小心地用,值得在用之前问"我的场景里,这根杠杆是哪根在动"。
想深入可以读原文:One Symptom, Three Levers: A Critical Review of On-Policy Self-Distillation — arXiv:2608.25936。
参考文献
- anchor review — Robert & Qader (2026), One Symptom, Three Levers: A Critical Review of On-Policy Self-Distillation. arXiv:2608.25936
- OPSD founding — Zhao et al. (2026), Self-Distilled Reasoner: On-Policy Self-Distillation for Large Language Models. arXiv:2601.18734
- SDPO — Hübotter et al. (2026), Reinforcement Learning via Self-Distillation. arXiv:2601.20802
- GKD — Agarwal et al. (2024), On-Policy Distillation of Language Models. arXiv:2306.13649
- MiniLLM — Gu et al. (2024), MiniLLM: Knowledge Distillation of Large Language Models. arXiv:2306.08543
- EOPD — Lee et al. (2026), Entropy-Aware On-Policy Distillation of Language Models. arXiv:2603.07079
- LUPI paradigm — Vapnik & Vashist (2009), A new learning paradigm: Learning using privileged information. DOI:10.1016/j.neunet.2009.06.042
- PS-OPSD — Zhao et al. (2026), Is More Privileged Information Better? From Solution Traces to Problem-Solving Structure in Self-Distilled Reasoning. arXiv:2608.01589
- OP²SD — Ichihara et al. (2026), Privileged Solutions or Context-Induced Teacher Behavior? Dissecting On-Policy Self-Distillation. arXiv:2608.09228
- RSTG — Han et al. (2026), Distill Where You Fail: Recovering Learning Signals of Negative RL-Groups from Adaptive Teacher Guidance. arXiv:2608.00782