一句话定义

蒸馏的机制性塌陷指模型在蒸馏压缩后,整体指标看起来正常,但内部某条具体的计算路径(通常称为电路,circuit)已经失效或被重写。它描述的是「总分」与「能力」之间的缺口:平均分不掉,是因为塌掉的那部分被别的部分补上了,而不是因为它还在。

它解决什么问题

蒸馏的常规验收方式是比指标:教师 94 分、学生 93 分,就算成功。这套方法有个盲区——平均分是许多子能力的加权和,某一块归零、另一块略升,总分可以纹丝不动。

对端侧部署来说,这个盲区是有代价的:模型换小之后,现场反馈常常是「大部分都对,就是某几类老是错」。这句话在总分里几乎看不见,但在门店里是每天都能碰到的客诉。

所以需要一种判据,能回答「压掉的是哪一块」而不只是「总共掉了多少」。

关键做法

arXiv 上的 What Survives Distillation? A Mechanistic Interpretability Study of GPT-2 and DistilGPT-2(编号 2610.37157)用一组机制可解释性工具,对比了 GPT-2 和它的六层学生 DistilGPT-2,看深度缩减之后具体电路发生了什么。

它用的手段值得记一下,因为这套方法本身可以迁移到别的压缩研究上:

  • 线性 CKA:比较两层表示之间的相似度,判断学生有没有把教师的某层「搬到」自己的某一层。
  • logit lens:把中间层的隐藏状态直接投影到词表,看每一层「已经算出了什么」。
  • 注意力模式分解:把注意力头按行为分类(看前一个词、看句法依存、看同名实体等),比较师生两边的头类型分布。
  • 稀疏自编码器特征统计:用 SAE 抽出可解释特征,看特征是否还在。
  • 激活修补(activation patching):把教师某一层的激活换进学生,看任务表现是否恢复——这是判断「某个位置是否承载该功能」最直接的因果实验。

实验选了两个被研究得比较透的电路:间接宾语识别(IOI)和大于比较(GT)。结果呈现出明显的二分:

  • IOI 电路完全塌陷。 学生准确率 35.2%,教师 94.8%;负责搬运人名信息的 name-mover 头在学生的注意力头类型里一个都没保住。
  • GT 电路活了下来。 任务表现恢复到 87.7%,恢复的方式是把教师第 9 层的比较头重映射到学生的第 4 层(平均 Pearson r = 0.945)——功能还在,位置全变了。

结论是:决定某条电路能否在蒸馏后存活的,是这条电路本身的可压缩性,不是它的重要性。依赖多层接力、需要精确位置对齐的电路,压掉中间层就没了;集中在一两层内的电路,可以被搬到别处重新接线。

常见误区

  • 用总分判断压缩是否成功。 总分是必要条件,不是充分条件。压缩后应该按子任务、按类别分别看,而不是只看一个合并数字。
  • 以为「功能还在原位置」。 GT 电路的经历说明,功能可以活下来但位置改变,任何依赖「第几层做这件事」的假设都会失效,包括基于层号的剪枝和逐层蒸馏方案。
  • 把注意力头的重要性排序直接当剪枝依据。 重要性高不等于可保留——能不能保留取决于它所在电路的结构。
  • 在小模型上验证大模型的行为。 电路结论高度依赖架构与训练数据,换一个教师、换一个任务域都要重测。

用不上的时候

  • 只关心端到端指标的场景。 如果下游任务确实只看聚合表现,内部塌陷不影响交付,那么做机制分析是额外成本。
  • 压缩幅度很小。 层数基本不动、只做量化或轻度剪枝时,电路塌陷不是主要风险。
  • 没有可靠的子任务切片。 机制分析需要能构造受控输入来触发特定电路,业务上没有这种切片时,先做分层评测更实际。

参考

arXiv:2610.37157,What Survives Distillation? A Mechanistic Interpretability Study of GPT-2 and DistilGPT-2(2026-10-27)。用 CKA、logit lens、注意力模式分解、SAE 特征统计与激活修补对比 GPT-2 与六层学生;报告 IOI 电路完全塌陷(35.2% vs 94.8%,name-mover 头零保留)、GT 电路经第 9 层到第 4 层的比较头重映射恢复到 87.7%(平均 Pearson r = 0.945)。

延伸阅读

相关词条


火眼识别提供端侧视觉引擎与设备管理平台,相关方案见 火眼识别官网。