LastOPD: Taming Collapse in Latent On-Policy Distillation
Jie Yang, Zhengyu Fang, Zelin Xu, Jiarui Sun, Xiran Fan, Junpeng Wang, Liang Wang, Qinghua Liu, Yiwei Cai, Yan Zheng
cs.LG, cs.CL
2026-09-24
LastOPD只在最后一层对齐教师隐状态,并在10步内淡出到token级OPD。4B/8B蒸馏Qwen3-1.7B时,MATH-500比纯token OPD高5.55和4.02分,约一半步数追上其终点。
On-policy distillation(OPD)让学生自己写回答,教师对它写出的每个token打分,修的是学生真实会走到的上下文。信号始终是教师LM head之后的next-token分布:告诉学生下一词说什么,不告诉中间怎么算。
潜空间蒸馏想补这块,把学生中间层往教师对齐。OPRD把这套带进OPD,按相对深度配对层、用冻结低秩投影桥宽度。跨尺寸时,配对层未必干同一件事。
把Qwen3-4B和Qwen3-8B蒸进Qwen3-1.7B-Base时(学生28层、宽2048,教师36层、宽2560或4096),纯潜空间的OPRD-Bridge在10步内把验证MATH-500从25.4拉到46.2,同期token-only落后约28分;继续训到终点掉到11.3,低于起点24.45。拉到150步仍卡在9.4到10.8。崩掉的学生大约三分之二答案短、带方框、算错。问128和144的最大公约数,它仍写出带步骤标题的欧几里得算法,再把128除以16写成商1余0。格式还在,进位和余数没了。
同一段训练里,投影余弦从0.97升到0.98(4B)、从0.95升到0.98(8B),MATH-500却掉了约35分。未训练时中层CKA已是0.99,分数是24.5对82.9。对齐指标涨,做题能力崩。
J-Lens按层把隐状态解成next-token。教师早知道、晚开口:线性探针在第9层就能94%读出部分和,读出协议到深度63%才跳起来;未训练学生从第12层起逐渐说答案。按深度配对,等于逼学生去匹配它读不懂的教师状态。把massive activations从损失里挖掉,终点从11.33掉到5.60;按CKA脊线重配对,照样第10步近50、第20步崩掉。全程加上token项,OPRD-Bridge从12.12回到53.70,和纯token的53.40几乎一样。潜空间项开全程,加在token损失上等于白加。
LastOPD改两处:对齐哪里,以及对齐多久。
训练仍是学生自己采样:DAPO-Math-17k,62个optimizer step,约7900条rollout,Qwen3关thinking。推理时投影器丢掉;10步之后教师只提供学生top-k上的next-token分布。
有用的那截潜空间信号来得早,继续对齐会把学生拽向它理解不了的部分。所以只在共享接口上用一小段,然后交给token监督。
主表三对教师-学生,每格单次run、取最终checkpoint。
| 方法 | MATH-500 | 八数据集均值 |
| 4B→1.7B LastOPD | 58.95 | 31.88 |
| 4B token-only OPD | 53.40 | 27.95 |
| 4B OPRD-Bridge | 12.12 | 4.73 |
| 4B LastOPD-always | 53.77 | 28.88 |
| 8B→1.7B LastOPD | 53.45 | 28.38 |
| 8B token-only OPD | 49.43 | 26.28 |
| 同族1.5B OPRD-Vanilla | 87.22 | 63.49 |
| 同族1.5B LastOPD | 83.42 | 62.91 |
4B/8B上LastOPD比纯token高5.55和4.02,八数据集均值高3.93和2.10。另外七个held-out里分别赢5个和6个,最多高出8.0和6.5;4B教师下AIME24/25没有涨(7.50对9.17,3.96对5.21)。末层项全程开着是53.77和48.95,淡出再高5.18和4.50。逐层潜空间加token几乎贴着纯token:53.70和47.05。
消融全在4B、官方MATH-500。硬切换50.45,比从来不用潜空间还差。只淡潜空间50.90,只升token权重54.15,窗口5/15步是54.62/54.47。反向投影50.00,Gram损失46.23。mask massive维对LastOPD几乎不动(验证59.72→59.35),却把三个always-on配方各打掉5到13分。
训练曲线:4B下淡出结束后10步,验证MATH-500从23.1跳到46.6,第30步55.4,超过token-only 62步的51.9。8B第30步51.7对token-only终点50.4。约一半步数追上。拉到150步,LastOPD从第90步起停在约57。
同族对照反过来。JustRL-1.5B→R1-Distill-1.5B层面对角CKA 0.983,4B跨尺寸只有0.684。纯潜空间拿到87.22,高于token-only的86.02,LastOPD落到83.42,还略低于未训练学生的83.67。层已经对应时,固定10步淡出是在交税。
给正在做跨尺寸OPD的人一条能落地的改法:别按深度把每一层都对齐,也别把潜空间项开全程。末层对齐10步再交给token KL,在Qwen3 4B/8B→1.7B上比纯token多4到5.5个MATH-500点,步数大约砍半,教师隐状态只在前10步需要。
CKA 0.99和继续上涨的投影余弦都测不准能不能做题。同族同深度时,老的全程潜空间仍然能赢,LastOPD的适用面是跨尺寸。
没有单独的Limitations节。训练和评测几乎全是数学,Qwen3只开non-thinking。代码、通用指令、开thinking会不会同样早涨晚崩,没有数据。
教师-学生只覆盖Qwen3跨尺寸一对,外加一条1.5B同族对照。Tw=10用MATH-500上纯潜空间峰值定,MATH-500又拿来做诊断,另外七个数据集才是独立证据。每格单次run,没有多种子。
同族1.5B上LastOPD伤了MATH-500。把10步淡出写成通用配方,在层已经对齐时会退步。「早知道、晚开口」来自一位算术探针和十道一位数表达式,推到一般推理链还早。硬切换比不用潜空间更差,这两段损失怎么接比用不用更脆。