Interview: 知识蒸馏中Teacher-Student能力差距过大的问题与解决方案
题目解析
知识蒸馏是大模型压缩和能力迁移的核心技术。当Teacher和Student能力差距过大时,蒸馏效果会显著下降,理解其原因和解决方案是蒸馏实践的关键。
解答思路
能力差距过大导致的问题:1. Teacher的soft label分布过于尖锐或包含Student无法学习的复杂模式,Student无法有效模仿;2. Teacher的中间层表示和Student的中间层维度、语义都不对齐,feature-based蒸馏失效;3. Teacher在某些任务上的推理路径远超Student的表达能力,强行学习会导致”知识坍缩”——Student学到的是表面的统计相关性而非深层逻辑。
关键要点
- 温度参数T的调整可以缓解但无法根本解决差距问题;2. 能力差距越大,蒸馏损失的上限越低(Student的表达能力是瓶颈);3. 选择性蒸馏——只蒸馏Student有能力学习的部分;4. 数据增强可以部分弥补——用Teacher生成更多中间难度的样本。
加分回答
渐进蒸馏(Progressive Distillation)是最有效的方案:设置一系列中间大小的模型作为”阶梯”,如70B→30B→13B→7B逐级蒸馏。另一个方法是Teacher Assistant蒸馏——引入中等大小的助教模型作为桥梁。还可以使用Curriculum Learning,从简单样本开始蒸馏逐渐增加难度。
常见踩坑
常见错误是期望7B模型通过蒸馏获得70B的所有能力——蒸馏能缩小差距但不能消除模型容量的根本限制。另一个坑是蒸馏温度设太高导致soft label失去区分度,或设太低导致和hard label无异。