一句话解释:跨架构蒸馏(Cross-Architecture AI 词典:Distillation">Distillation)指学生模型和教师模型的网络结构完全不同(比如 Transformer 教 Mamba、SSM 这类状态空间模型),却仍要把教师的能力迁移过去的知识蒸馏(Knowledge Distillation)配方。
打个比方:老师傅有一整墙扳手(注意力机制,任意两个零件都能直接对上);徒弟只有一把卷尺(状态空间模型把看过的东西压成一个固定大小的隐状态,逐 token 往前推)。徒弟没法复刻老师的每个动作,只能学“这类活儿该怎么处理”。
三个配方要点
1. 对齐什么。最稳的是输出层:软标签 KL 散度(Kullback-Leibler divergence)加温度 T。但只对齐输出,学生容易“结果像、过程不像”,序列一长就现原形。所以还要加中间层对齐:两边维度不同,用一个可学习的线性投影把学生隐状态投到教师维度,再算余弦相似度或 MSE。注意力对齐更麻烦——Mamba 压根没有 attention map。常见做法是造“代理注意力”:拿学生隐状态两两算相似度,凑出一张 N×N 矩阵,再去对齐教师的注意力图;这本质上是逼学生把“该记谁”编码进隐状态。
2. 层如何匹配。层数、宽度都不一样,需要层映射(layer mapping),均匀间隔映射最常见。经验是两头抓:浅层对齐特征、末层对齐输出,中间层收益递减。
3. 损失项如何加权。任务交叉熵 + 软标签 KL + 表征损失 + 代理注意力损失,加权求和。权重走 warmup:前若干步只跑任务损失,蒸馏项慢慢加进来;温度也不能太低,否则软标签信息量不够。具体超参以所用框架的官方页面为准。
性能下降排查
| 症状 | 常见原因 | 先试什么 |
|---|---|---|
| 开局就崩 | 蒸馏权重过大、温度过低 | warmup、升温、降权 |
| 短句正常、长文下降 | 隐状态容量瓶颈,对齐样本太短 | 长序列采样,降注意力对齐权重 |
| 某一类任务明显下降 | 教师有专门管局部模式的头,学生无对应结构 | 定位关键层,调整对齐层选择 |
| 训到一半数值爆炸 | 混合精度下递推不稳定 | 递推部分用 fp32,加梯度裁剪 |
和相邻概念的区别:同架构蒸馏像同型号换小排量,逐层一一对应即可;跨架构蒸馏像换发动机类型,只能对齐行为、无法对齐零件。它也不是量化或剪枝——那两个保持架构,只压数值精度或宽度;也不同于“让教师生成数据做 SFT”(数据蒸馏),后者只传答案不传过程。
实际意义:架构创新最快的落地路径常常不是从头预训练,而是把现成大模型的能力搬到更省算力、更长上下文的骨架上。对从业者,这意味着技术选型时“教师不必与学生同源”;对普通人,你手机上的长文档摘要、端侧助手,可能很快就不再依赖缩水版 Transformer。但要提醒一句:跨架构蒸馏目前更像工程配方而非定理,同一套超参换个数据集往往就得重调。
