跳转至

SelecTKD: Selective Token-Weighted Knowledge Distillation for LLMs

会议: CVPR 2026
论文: CVF Open Access
代码: 待确认
领域: 模型压缩 / LLM 知识蒸馏
关键词: 知识蒸馏, token 加权, 投机解码, 隐式课程, 小语言模型

一句话总结

SelecTKD 把 LLM 蒸馏的关注点从"用什么散度度量教师-学生差距"转向"在哪些 token 上施加监督",借鉴投机解码用"提议-验证"机制给每个 token 打上 \(\{0,\beta,1\}\) 的权重,只在教师高置信、师生一致的 token 上施加全损失,在指令跟随、数学、代码和 VLM 上即插即用地刷新了小模型 SOTA。

研究背景与动机

领域现状:把大 LLM 蒸馏成小学生模型(SLM)是落地部署的主流路径。绝大多数蒸馏 pipeline 对每个 token 一视同仁地施加 token-wise 损失(vanilla KL、reverse KL、skew KL 等),并在"用什么散度"和"用什么数据(on-policy / off-policy)"两条轴上做文章,DistiLLM-2 甚至主张教师数据配 SKL、学生数据配 SRKL 这种损失-数据精细配对。

现有痛点:这种"无差别监督"会强迫学生去模仿教师那些高熵、不确定的预测。当师生容量差距很大时,教师在很多位置本身就拿不准,逼学生照单全收等于往优化过程里注入噪声,反而损害泛化、让训练不稳。

核心矛盾:作者的关键观察是——损失几何(loss geometry)可能根本不是主导因素。预实验(Figure 1)在相同训练预算下对比了 KL/RKL/SKL/SRKL 及各种损失-数据配对,发现最终性能惊人地接近;理论上 forward/reverse/skew KL 虽然优化路径不同,但在极限下共享同一不动点。换句话说,大家争论的散度差异更多体现在"训练动态"而非"最终解"。

本文目标:既然换散度收益有限,就应该换个问题问:哪些 token 值得学。把监督信号在 token 级别上做选择性控制——该学的全力学,不该学的屏蔽或降权。

切入角度:借鉴投机解码(speculative decoding)的"学生提议、教师验证"思路。已有工作(SLIM 重加权但仍优化 logits、SKD 改数据集而非监督信号、AdaSPEC 用额外参考模型过滤难 token)都沾边但各有代价。

核心 idea:用一个轻量的"提议-验证"机制给每个 token 算一个验证权重 \(V_t\),把任意散度损失 \(D(\cdot\|\cdot)\) 重写成 \(\sum_t V_t\, D(p_t\|q_t)\)——objective-agnostic、即插即用、还能诱导出一个由"token 接受率"量化的隐式课程。

方法详解

整体框架

SelecTKD 不改架构、不引入额外参考模型,只是在标准 KD 损失外面套一层 token 级别的"门控"。给定教师分布 \(p_t\) 和学生分布 \(q_t\),原本的逐 token 损失被改写为

\[\mathcal{L}_{\text{SelecTKD}} = \sum_{t=1}^{|\boldsymbol{y}|} V_t\, D\big(p_t \,\big\|\, q_t\big)\]

其中 \(D\) 可以是 KL / RKL / SKL / SRKL 中任意一种,而 \(V_t \in \{0, \beta, 1\}\) 是由一个验证器 \(V(\cdot)\) 决定的 token 级权重(\(V(\cdot)\) 内部做 stop-gradient)。整条流程就是:学生在每个位置提议一个(或多个)token,教师验证这个提议是否可靠,验证通过的 token 拿满权重 1、被拒的 token 屏蔽(0)或降权到一个小的 \(\beta\)。数据侧 on-policy(学生生成)和 off-policy(教师生成)都兼容。验证机制有"贪心 Top-k"和"非贪心 Spec-k"两个变体,全程只需一个直观超参 \(k\) 和一个拒绝权重 \(\beta\)

关键设计

1. 选择性 token 加权目标:把"如何度量散度"换成"在哪施加监督"

针对"无差别监督注入噪声"这个痛点,SelecTKD 的核心动作是给每个 token 乘上一个验证权重 \(V_t\),而不是去改散度的形状。这一步是 objective-agnostic 的——它不关心你用 KL 还是 SRKL,只在"该不该学这个位置"上做文章。当教师在某位置高熵、师生预测发散时,这个 token 的监督大概率是噪声,\(V_t\) 把它压到 0 或 \(\beta\);反之拿满权重。相比 SLIM(仍在 logits 上重加权、可能丢失暗知识)和 AdaSPEC(要额外参考模型),SelecTKD 直接作用在监督信号本身,零额外模型、零架构改动,因此能叠加在 vanilla KD、SKD、DistiLLM-2 等任意现有方法之上。

2. Greedy Top-k 验证:用排序而非绝对概率来判断师生是否一致

最朴素的做法是用 Hellinger 距离 \(H(p_t,q_t)=\tfrac{1}{\sqrt2}\|\sqrt{p_t}-\sqrt{q_t}\|_2\) 软性地设 \(V_t=H\)("越像越少学"),但 Hellinger 对尾部敏感、且 rank-agnostic:即便师生在 Top-k 上完全一致,低概率尾巴上的微小漂移也会改变 \(H\),从而错配监督。SelecTKD 改用离散的、基于排序的 Top-k 验证:学生先提议它最可能的 token \(\hat{y}_t = \arg\max_y q_\theta(y\mid x, y_{<t})\),再检查它是否落在教师的 Top-k 候选集里,

\[V_t = \beta + (1-\beta)\,\mathbb{I}\!\left(\hat{y}_t \in \mathrm{Top}_k(p_t)\right)\]

\(\beta=0\) 时退化为硬门控,小 \(\beta>0\) 给被拒 token 留一点温和正则。它对绝对概率值鲁棒,只看排序,忽略尾部噪声和校准偏差,计算也更简单。

3. Non-greedy Spec-k 验证:用投机采样的接受测试缓解 exposure bias

为进一步对齐投机采样、缓解曝光偏差,Spec-k 变体让学生在每个位置从自己的分布里独立采 \(k\) 个候选 \(\{y_t^{(j)}\}\),对每个候选算标准的投机接受概率 \(a_t^{(j)} = \min\!\big(1,\, p_t(y_t^{(j)})/q_t(y_t^{(j)})\big)\),抽 \(r^{(j)}\sim U[0,1]\) 并在 \(r^{(j)}<a_t^{(j)}\) 时接受。令 \(\mathcal{A}_t\) 为被接受的候选集合,则

\[V_t = \beta + (1-\beta)\,\mathbb{I}\!\left(|\mathcal{A}_t| \ge 1\right)\]

直觉上,只要 \(k\) 个提议里有一个被教师接受,说明教师在这个位置的局部信号是有信息的、学生可以正常学;若全被拒,则这一步监督很可能噪声或错配、应当降权。它继承了投机采样的鲁棒性,每步只需对学生提议做 \(k\) 次教师概率查询。

4. Token 接受率(TAR)与隐式课程:训练动态可量化且单调收敛

SelecTKD 的一个关键性质是稳定、收敛的训练动态,由 Token 接受率(TAR) 量化:

\[\mathrm{TAR} = \mathbb{E}_{(\boldsymbol{x},\boldsymbol{y})}\!\left[\frac{1}{|\boldsymbol{y}|}\sum_{t=1}^{|\boldsymbol{y}|}\mathbb{I}\big(V_t=1\big)\right]\]

即学生提议被教师验证器接受(拿满权重)的 token 期望占比。论文给出 Theorem 1(单调 TAR 改进):在标准 Lipschitz 连续与足够小学习率假设下,Top-k 和 Spec-k 每步梯度都满足 \(\mathrm{TAR}_{t+1}-\mathrm{TAR}_t \ge \eta\,\kappa\,(1-\mathrm{TAR}_t)\),其中 \(\kappa>0\) 取决于教师在 Top-k 边界的置信裕度等量(⚠️ 完整证明在附录 E,此处以原文为准)。这个界意味着 TAR 低(错配 token 多)时改进最快、\(\mathrm{TAR}\to1\) 时自然饱和——形式化地刻画了一个"先易后难、逐步收紧"的隐式课程效应。

损失函数 / 训练策略

统一损失即 \(\mathcal{L}_{\text{SelecTKD}}=\tfrac{1}{|\boldsymbol{y}|}\sum_t V_t\,D(p_t\|q_t)\)(Algorithm 1,每个 token 位置的验证可批量化、实现上无需 for 循环)。实验默认 \(k=5\)\(\beta=0.01\),基于 HuggingFace TRL + LoRA,8×A100;指令/代码跑 2 epoch、数学 1 epoch,配 held-out 验证集早停。

实验关键数据

主实验

在指令跟随、数学推理、代码生成与一个 VLM 设置上,SelecTKD(记作 +Ours)叠加在各类强基线之上都稳定提升。下表摘 Qwen2-7B-Inst → Qwen2-1.5B 的三个指令跟随基准胜率(WR,%):

配置 AlpacaEval Evol-Instruct UltraFeedback AVG
KD 57.49 28.23 37.86 41.19
KD + Ours 59.72 (+2.23) 30.35 (+2.12) 39.93 (+2.07) 43.33 (+2.14)
DistiLLM-2 69.88 47.13 59.05 58.69
DistiLLM-2 + Ours 70.60 (+0.72) 48.27 (+1.14) 59.53 (+0.48) 59.47 (+0.78)

即便叠加在最强的 DistiLLM-2 上仍有稳定增益,说明它的"选择性 token 过滤"与"换散度/换数据"是正交的。

消融实验

与两类近期 token-selective 方法在 Evol-Instruct(Qwen2-7B-Inst → 1.5B)上的对比,SelecTKD 不需额外参考模型即超过两者:

方法 是否需额外参考模型 Evol-Instruct WR(%)
AdaSPEC 是(参考模型过滤难 token) 40.21
ATKD 45.13
SelecTKD (Ours) 48.27

关键发现

  • 提升在开放式、长文本生成场景尤其明显——这正是"教师高熵、监督最易带噪"的地方,印证了选择性过滤的价值。
  • SelecTKD 是即插即用的:KD / SeqKD / ImitKD / GKD / DistiLLM / SKD / DistiLLM-2 七类基线叠加后几乎全部上涨,且容量差大的师生对(如 Mistral-7B → Danube2-1.8B)增益更突出。
  • Top-k 与 Spec-k 两个变体只引入 \(k\)\(\beta\) 两个直观超参,默认 \(k=5,\beta=0.01\) 即可工作。

亮点与洞察

  • 问题重构本身就是亮点:用预实验+理论(KL 家族共享不动点)论证"换散度收益有限",从而把研究重心正当地从"how to measure divergence"挪到"where to apply supervision",这是一个有说服力的视角切换。
  • TAR 把"隐式课程"变成可量化、可证明的量:单调改进定理让人对训练稳定性有了形式化把握,而不是靠经验观察,这个分析工具可迁移到其他 token-selective 训练。
  • 零成本叠加:不改架构、不加参考模型、objective-agnostic,意味着几乎任何现成 KD pipeline 都能"免费"接上 SelecTKD,工程友好度很高。

局限与展望

  • 验证质量完全依赖教师:当教师本身在某分布上不可靠(如 OOD 任务),Top-k/Spec-k 的接受信号也会随之失真,论文未深入这种"教师不靠谱"场景。
  • 单调 TAR 定理依赖 Lipschitz 连续与"足够小学习率、被接受 token 不回退"的较强假设(⚠️ 以原文附录为准),实际大学习率训练下界是否仍成立值得验证。
  • 超参 \(k,\beta\) 虽然直观,但跨任务最优值是否稳定、\(\beta\) 对"暗知识"保留的影响,论文给的敏感性分析有限。
  • VLM 设置只验证了 InternVL2-8B → 2B 一对,跨模态蒸馏的普适性证据偏薄。

相关工作与启发

  • vs DistiLLM-2:它在"损失-数据配对"(教师数据 SKL、学生数据 SRKL)上做精细化;SelecTKD 反过来论证损失几何并非主导,转而在 token 级选择监督,且能直接叠加在 DistiLLM-2 之上再涨点。
  • vs SLIM:同样重加权 token,但 SLIM 在 logits 上操作、可能丢失暗知识;SelecTKD 直接门控监督信号,保留教师分布的完整信息。
  • vs AdaSPEC:都做 token 选择,但 AdaSPEC 需要额外参考模型来过滤难 token;SelecTKD 用师生自身的"提议-验证"完成筛选,零额外模型还胜出(48.27 vs 40.21)。
  • vs SKD:SKD 用投机解码思想去修正/改造训练数据集;SelecTKD 不动数据集,只改监督权重,更轻量也更通用。

评分

  • 新颖性: ⭐⭐⭐⭐⭐ 把 KD 从"度量散度"重构为"选择监督位置",并用 TAR 给出可证明的隐式课程,视角与工具都有原创性。
  • 实验充分度: ⭐⭐⭐⭐ 覆盖指令/数学/代码/VLM 多任务、多师生对、多基线叠加,但 VLM 与超参敏感性证据偏少。
  • 写作质量: ⭐⭐⭐⭐ 动机推导清晰、公式规范,propose-and-verify 讲得明白;部分理论细节压在附录。
  • 价值: ⭐⭐⭐⭐⭐ 即插即用、零额外成本、能叠加在最强基线上,对小模型蒸馏落地有直接实用价值。