Rethinking Cross-Tokenizer On-Policy Distillation: From Alignment Coverage to Supervision Reliability
Bingxi Hou, Guochao Jiang, Guofeng Quan, Weiqing Li, Wenfeng Feng, Guohua Liu, Yuewei Zhang
cs.CL, cs.AI
2026-10-06
三对实验里,严格位覆盖85.57%–96.98%学生token,top-16留住至少96%增益,18组错位MSE全掉点。
On-policy distillation(OPD,在策略蒸馏)让学生自己采样回答,教师只在这些前缀上监督下一个 token 分布。tokenizer 相同,反向 KL 可以直接做。换了 tokenizer,同一段话切分边界不同,分布落在两套词表上。
ULD 不看 token 身份,只比排序后的概率;SimCT 把对不齐的片段收成多 token 单元;byte-prefix marginalization 把教师概率摊到学生 token 上。共同的问题是:对齐得更满,学生是不是学得更好。
对齐覆盖率量的是有多少能拿来比。监督可靠性量的是教师目标对学生正在走的状态有没有用。Jaccard 把每个词条算成一样重,轨迹上的概率却极不均匀。词表差一大截,和多数位置已经严格对齐,可以同时成立。
三对师生,教师在前:Qwen2.5-7B-Instruct→Llama-3.2-3B-Instruct,Granite-4.1-8B→Phi-4-mini-instruct,Granite-4.1-8B→Qwen2.5-7B-Base。最后一对的学生是 base,前两对是指令模型。
采样后解码,再用两边 tokenizer 各切一次,只留共有边界。严格 1:1 指两侧都恰好一个 token,盖住同一小段。错位组指至少一侧要多个 token 才拼得出来。
严格损失只在 1:1 位置上算。共享词按字符串对齐,去掉特殊符号和歧义项,两边分布裁到交集上归一化,再算 reverse KL,即 KL(学生‖教师),压低学生在教师几乎无概率处的质量。同词表 OPD 也用这个散度。
错位组对不上单个 token,就比整段路径:实际 token 的概率连乘,得到 span 概率,师生对数概率做均方误差。总损失是严格 KL 加 λ 倍的这项。λ=0 只有严格位置;λ>0 纳入全部错位组,结构覆盖率到 100%。λ 从 0 扫到 1.5,步长 0.25。
也可以不扩大位置,只缩小支撑。每个严格位置按学生概率取共享词的 top-k,两边在这 k 个词上归一化后再做反向 KL。k 取 16 或 128。
训练用 2 万条提示,数学和代码各 1 万,来自 DAPO-Math-17K 和 CodeForces。100 步,每步 512 条,学习率 1e-6,温度 1.0,top-p 0.95,最长生成 8192。数学七个榜每题采 32 条取平均(MATH500、GSM8K、AIME 2024 至 2026、AMC23、Minerva-Math),代码每题采 8 条(HumanEval、MBPP、LiveCodeBench)。Full 是两域均分的等权平均。
整次训练的词表 Jaccard 只有 39.49%–64.87%,学生 token 的严格覆盖有 85.57%–96.98%,教师侧 82.82%–97.26%。
| 师生 | Jaccard | 学生严格覆盖 | 教师严格覆盖 |
| Qwen→Llama | 64.32% | 93.56% | 85.91% |
| Granite→Phi | 39.49% | 96.98% | 97.26% |
| Granite→Qwen | 64.87% | 85.57% | 82.82% |
重合最低的 Granite→Phi,两侧覆盖最高。学生覆盖在三个时间窗里最多差 1.43 个百分点。
蒸馏前每条提示采一个回答。严格位置上,共享词表留住教师质量的 99.69%–99.90%、学生质量的 98.99%–99.81%。学生自选 top-16 在每对里至少留住教师 93.54%、学生 94.55%。扩到 top-128,教师最多再多 3.44 个百分点,学生最多 2.70 个。
| 方法 | Q→L | G→P | G→Q |
| 未蒸馏 | 26.96 | 36.55 | 29.56 |
| ULD | 29.12 | 38.63 | 27.12 |
| Extended ULD | 31.13 | 38.35 | 32.57 |
| GOLD | 27.16 | 41.75 | 46.55 |
| SimCT | 31.59 | 41.68 | 46.10 |
| Strict full | 32.86 | 42.49 | 47.35 |
| Strict top-16 | 32.64 | 42.26 | 47.06 |
| Strict top-128 | 32.38 | 42.54 | 47.65 |
上表是 Full。Strict full 比未蒸馏高 5.90、5.94、17.79 个百分点,top-16 留住这些提升的至少 96%。三种严格变体的数学均分和 Full 在三对上都高于四种基线,top-16 的 Full 领先最强基线 0.51–1.05 个百分点。代码不完全一样:Qwen→Llama 上 Extended ULD 代码均分 39.26,Strict full 是 39.11。
Qwen→Llama 的 GSM8K 从 63.44 到 80.21,教师 89.93;MATH500 从 34.32 到 52.74,教师 74.50;AIME-2024 从 2.29 到 4.69,教师 11.88。MBPP 从 53.27 降到 51.46。Granite→Qwen 的学生是 base,代码均分从 34.51 到 54.84,教师 63.32。
span MSE 把覆盖补到 100%,分数下降。三对的数学均分、代码均分和 Full 都在 λ=0 最高。18 个正权重低 0.27–1.20 个百分点;λ=1.5 时 Full 分别降 1.02、0.80、0.80。
梯度取自只训严格损失的检查点。错位梯度与严格梯度的余弦接近 0,Granite→Qwen 在 step 0 为 -0.360。把严格位置随机对半拆开,参照余弦在每个检查点都更高。范数比从 step 0 到 100,按上述顺序为 0.294→1.942、0.008→0.233、0.015→0.269。
Qwen3-235B-A22B-Instruct-2507→Granite-4.1-8B 上,Strict top-16 的 Full 为 62.46,未蒸馏 51.31,SimCT 56.25,教师 74.17(数学多了 HMMT 2025 两场)。家务文本环境 ALFWorld 上,Qwen3-4B-Instruct-2507→Llama-3.2-3B-Instruct 的总体成功率,Strict top-16 为 30.34%,SimCT 为 28.52%,未蒸馏 10.68%;unseen 34.64% 高于教师 29.43%,seen 26.04% 仍低于教师 29.69%。ULD 和 GOLD 掉到 1.43%、2.61%。
共享边界切开,只在 1:1 位置对共享词做反向 KL,Full 已经高于这篇实现的四种跨词表基线。再收到学生自选的 16 个词,上述 Full 增益至少留住 96%。
18 组正的 λ 全部低于只做严格监督,低 0.27–1.20 个百分点。SimCT 原文报告,补回丢失监督可以胜过共享词表 OPD;这篇里它高于未蒸馏学生,低于严格反向 KL。覆盖率到不到 100% 说明不了这条损失该不该加。
top-16 省不下前向计算。学生 logits 仍要算完,才能选出那 16 个词。
梯度不是在 λ>0 的联合训练里测的,回答求导时固定。和掉点同向,因果没有钉死。论文只说这些诊断可能有助于解释准确率下降。
掉点绑在 span 对数概率的 MSE 上。换成屏蔽空白 token,或在多 token 单元上做分布匹配,都没有扫。不能据此说错位片段一律不该监督。
概率质量只在蒸馏前测过。覆盖率在训练中是稳的,top-16 还能不能一直占住九成以上的质量,没有再测。
主实验是数学和代码,ALFWorld 只有一对。unseen 超过教师、seen 仍低,128 局、重复三次,波动不会小。没有通用对话、多语言和长上下文。235B 教师只报了 top-16,没有 λ 扫描和梯度。主表学生是 3B 到 8B。
零点几个点没有误差棒。18 组同向比单次比较可信,32.64 和 32.86 不必分高下。
协议会挪绝对分。超过 300 字的数学答案被截断后送进 Math-Verify;HumanEval 和 MBPP 用原始测试,不用 EvalPlus 增强集。提示不去重,并滤到 2048 token。ULD、Extended ULD、GOLD 的损失不含结尾 EOS,严格目标包含。
Qwen2.5-7B-Base 那对 Full 多 17.79 个点,两个指令学生多 5.90 和 5.94 个点。格式迁移和推理各占多少,没有拆开。Qwen→Llama 的综合分上升,MBPP 仍低于起点,AIME 离教师还远。