模型蒸馏
模型蒸馏 Knowledge Distillation
模型蒸馏是一种将大型模型(教师模型)的知识迁移到小型模型(学生模型)的技术,旨在让小模型在保持性能的同时降低计算资源消耗。其核心是通过对齐两者的输出分布(如概率或特征),使学生模型模仿教师模型的决策逻辑。根据实现方式,分为黑盒蒸馏(仅利用教师模型的输出结果)和白盒蒸馏(额外利用中间层信息)。
蒸馏原理
蒸馏的底层逻辑是知识迁移。教师模型的输出(如分类概率)包含隐式知识(软目标),通过损失函数(如KL散度)驱动学生模型的输出与之对齐。同时,学生模型的结构可能被简化或调整,以适配资源限制。例如,白盒蒸馏会利用中间层的特征相似性,而黑盒蒸馏仅依赖最终预测结果。
模型蒸馏实践案例
Qwen2.5系列:通过白盒蒸馏实现,利用前向KL散度对齐教师和学生模型的输出,代码开源且效果接近原模型。
Deekseek R1:蒸馏过的小模型(8B参数的Deepseek-R1-Distill)在医疗领域微调,性能媲美大模型,且部署成本降低90%。
OpenAI实践:通过蒸馏将500B参数模型压缩到100B,训练时间从1个月缩短至1周,大幅降低成本。
总结
模型蒸馏就是大教小:大模型当老师,总结解题套路:小模型当学生,模仿套路快速出师。技术原理是通过损失函数让学生的答案尽量像老师,而实际应用(如qwen2.5、deepseek)证明,小模型不仅省钱省电,还能在某些特定任务中青出于蓝。未来,随着算法优化,蒸馏会成为大模型落地的重要瘦身术。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 提拉的Studio!