一句话定义
蒸馏的机制性塌陷指模型在蒸馏压缩后,整体指标看起来正常,但内部某条具体的计算路径(通常称为电路,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)。
延伸阅读
- 总分没掉,某一类却整块错 —— 这篇讲的是这件事对门店意味着什么。
相关词条
火眼识别提供端侧视觉引擎与设备管理平台,相关方案见 火眼识别官网。