跳到主内容

大模型知识蒸馏是什么:把大模型的能力教给小模型

100%
大模型知识蒸馏是什么:把大模型的能力教给小模型

知识蒸馏(Knowledge Distillation)是一种模型压缩与迁移方法:训练一个小模型(学生)去模仿一个大模型(教师)的输出,而不只是拟合原始标签。结果是在体积大幅缩小的同时保住大部分能力,让模型能跑在手机、边缘设备和低成本服务器上。本文把原理、做法和取舍一次讲清。

为什么需要知识蒸馏

大模型能力越强,推理越贵:显存占用高、延迟大、单 token 成本高。很多场景并不需要全知全能,只要在特定任务上够用就行,比如端侧翻译、客服问答、内容分类。直接用小模型从头训,效果往往差一截;而蒸馏能借教师的经验把小模型拉起来。它和 全量微调 思路不同:微调是让模型适配数据,蒸馏是让小模型学大模型的思考方式。

蒸馏的核心机制:从硬标签到软标签

普通训练用硬标签,图片是猫就标 1,其余标 0 。蒸馏用的是教师模型输出的软标签:它给猫 0.9 、狗 0.08 、狐狸 0.02,这些非零概率携带了类别之间的关系,狗比卡车更像猫。学生通过匹配这种概率分布,学到比硬标签更丰富的结构信息。关键是温度(Temperature):把 softmax 调软,让小概率差异放大,再在学生端用同样温度对齐,最后推理时温度归 1 。

三种常见蒸馏方式

  • Logits 蒸馏:直接让学生匹配教师的输出概率分布,最常见、最易上手。
  • 特征蒸馏:让学生中间层的特征图去逼近教师对应层,适合视觉模型,能学到更细的表示。
  • 自蒸馏与离线蒸馏:没有现成大模型时,用同一个网络的不同阶段互教,或用强数据增强版本教弱版本。

实践中还常配合 量化 一起用:先蒸馏出小模型,再做 INT8 量化,体积和速度进一步下探,端侧落地更稳。

实操:把大模型蒸馏成小模型的步骤

下面这套流程在开源大模型当教师时最常用,核心是先有底线、再追软标签、最后量化。

蒸馏、微调与量化有什么不同

三者常被混用,但目的不同。微调改的是知识适配,在已有能力上接私有数据;量化改的是存储与计算精度,几乎不动能力;蒸馏改的是模型容量,用大模型教小模型。工程上它们可以串联:先微调教师,再蒸馏学生,最后量化部署。

落地取舍与风险

蒸馏不是免费午餐。学生容量太小会学不下教师的知识;教师本身的错误也会被一并传下去;数据分布偏移时,软标签可能误导学生。建议先用一小批验证集对比学生与教师的差距,确认收益大于成本再全量。


  1. 选教师与学生:教师用效果最好的大模型,学生选参数量小 4 到 10 倍、结构尽量兼容的网络。

  2. 预热学生:先用硬标签正常训几轮,让学生有个底线,避免一开始就追软标签追崩。

  3. 加温度对齐:用高温 softmax 软化教师输出,学生同温度匹配软分布,损失加权硬标签加软标签。

  4. 降温评估:推理温度归 1,在验证集上对比学生与教师的准确率、延迟与体积。

  5. 量化部署:达标后做 INT8 量化,压到端侧或低成本实例上线。

“别把教师的错误一起蒸进去”
教师模型本身有误判时,软标签会把错误温柔地传给学生。蒸馏前先用人工或规则筛掉明显错误的样本,必要时只蒸馏高置信度的教师输出。

常见问题


“知识蒸馏和微调有什么区别?”
微调是让模型在已有能力上适配新数据,蒸馏是让小模型模仿大模型的输出分布来学习。一个改知识适配,一个改模型容量,目标不同,也可以先后串联使用。

“小模型一定能通过蒸馏追上大模型吗?”
不一定。学生容量不足时会学不下教师的全部知识,差距随任务难度拉大。通常能追回七到九成能力,极限场景仍需更大的学生或保留教师。

“蒸馏一定要自己有大模型吗?”
不一定。可以用开源大模型当教师,也可以用自蒸馏:让同一网络的不同阶段或增强版本互教,适合没有现成教师的情况。

“蒸馏后的小模型怎么部署最省?”
蒸馏得到小模型后,再配合 INT8 量化,能进一步压低显存和延迟,适合端侧和低成本 本地部署 场景。


这篇有帮助吗?
云上的幻象
云上的幻象查看主页

七彩云博客,分享 WordPress 建站实战与 AI 工具测评,覆盖服务器运维、站长工具、软件资源与电商运营干货,专注原创实用的主题插件、网站加速与安全优化教程。

1038文章4评论

相关文章

评论 (0)

欢迎你,新朋友,感谢参与互动!文明发言,理性交流 · 首次评论将在审核后展示