ToolNavs 发现实用AI工具
提交工具 登录
返回AI百科
知识蒸馏:把大模型"教小"的技术,原理、边界与三个误解

知识蒸馏:把大模型"教小"的技术,原理、边界与三个误解

AI百科 • Admin • • 7 次浏览

知识蒸馏是一种让小模型(学生模型)向已经训练好的大模型(教师模型)学习的技术。它由 Geoffrey Hinton 等人在 2015 年的论文《Distilling the Knowledge in a Neural Network》中正式提出,目标是让参数更少、速度更快的小模型保留尽可能多的大模型能力。

核心机制:学生学的不是答案,而是教师的"犹豫"

普通训练只用"硬标签":这张图是猫,就记作 100% 是猫。教师给的却是"软标签":70% 像猫、20% 像虎、10% 像别的。Hinton 把这类信息称为"暗知识"(dark knowledge)——类别间的相似关系,才是教师真正学到的东西。

为了让这些微弱的概率信号暴露出来,蒸馏引入了温度参数 T:把教师输出的 logits 除以 T 再做 softmax,T 越大,概率分布越"软",原来被压到 0.1% 的次要类别会被抬升,学生就能看清教师的判断结构。训练时学生的损失由两部分加权组成:一部分是跟随教师软标签的 KL 散度,另一部分是常规的交叉熵硬标签损失。

知识蒸馏的关键组成

一次完整的蒸馏需要四样东西:训练好的教师模型(通常是大模型)、待训练的学生模型(小架构)、温度参数 T,以及软、硬两路损失的加权比例。教师"出题并给参考答案",学生在模仿教师输出分布和贴合真实标签之间找平衡。

蒸馏的天花板:什么时候它不如直接训练

蒸馏不是万能钥匙。首先,学生的上限大致由教师决定:教师在某类任务上本身不行,学生学到的也只是"错得很像教师"。其次,学生容量太小会"学不动"——教师的知识装不进过小的网络。再次,蒸馏有前置成本:生成软标签需要先跑一遍大教师模型。最后,如果目标任务不在教师擅长的分布里,不如直接在目标数据上训练小模型。

三个最常见的误解

误解一:蒸馏就是压缩,等于量化或剪枝。 但蒸馏发生在训练阶段、做的是能力迁移;量化发生在部署阶段、做的是降低数值精度;剪枝做的是删除冗余参数。三者可以叠加使用(先蒸馏再量化很常见),但不能互相替代。

误解二:学生永远超不过教师。 多数情况下教师确实是上限,但损失里还混着真实硬标签,学生在特定任务数据上调优后,偶尔能反超教师的单项指标。

误解三:蒸馏之后能力无损。 几乎所有蒸馏都会丢一点性能,只是丢多少、丢在哪。宣传里"保留 97% 性能"的另一面,是那 3% 往往集中在长尾和困难样本上。

蒸馏、量化、剪枝的边界到底在哪

一句话区分:蒸馏改变的是"模型怎么学",产出一个全新的小模型;量化改变的是"数字怎么存",模型结构基本不动;剪枝改变的是"结构留多少",直接删除参数。三者作用在模型生命周期的不同阶段,经常组合但解决的问题各不相同。通俗版可对照模型蒸馏:为什么越来越多"小模型"能追上大模型体验。

真实应用场景

最经典的案例是 HuggingFace 的 DistilBERT:以 BERT 为教师,学生模型参数少 40%、速度快 60%,保留了约 97% 的语言理解能力。大语言模型时代也有代表作:DeepSeek-R1 团队用 R1 生成的 80 万条推理样本蒸馏出 DeepSeek-R1-Distill-Qwen-7B,在 AIME 2024 数学测试中拿到 55.5% 的通过率,大幅超过同量级直接训练的模型。今天手机端语音、端侧客服、车载系统里跑的小模型,背后大多有蒸馏的身影。

推荐工具

更多