AI蒸馏技术怎么理解?讲清知识蒸馏、软标签、温度和LLM蒸馏
第一次听到“AI蒸馏”这个词,很多人会想复杂。其实一句话就能说清:一个大模型太贵、太慢、太占内存,能不能让一个小模型把它有用的本事学走?这个训练过程,就叫知识蒸馏。
大模型当老师,小模型当学生。学生学得够好,就能在特定任务上用更少资源,做出接近老师的效果。它不是把大模型切一半,也不是简单压缩文件。它更像重新教一个徒弟。
一、AI蒸馏像带徒弟
经典知识蒸馏里,有两个角色。
一个叫教师模型。它通常更大、更强,但跑起来更贵。
一个叫学生模型。它通常更小、更快,但能力还没练好。
正常训练学生时,我们只告诉它答案。比如一张图,标签是“猫”。学生只知道这是猫。
教师模型看同一张图时,可能给出概率:
猫 80%,狐狸 10%,狗 7%,其他 3%。
这些概率比一个“猫”字多很多信息。它告诉学生:猫和狐狸有点像,猫和狗也有点像,猫和汽车几乎不像。
这些小概率里,藏着老师学到的判断结构。学生不只在背答案,还在学老师怎么看世界。
二、软标签比标准答案多什么
标准答案叫硬标签。它只说对或错,是或不是。
软标签是概率。它说每个类别有多像。
硬标签:猫。
软标签:猫 0.8,狐狸 0.1,狗 0.07,其他 0.03。
软标签的好处是,它能保留类别之间的关系。学生能知道,狐狸比汽车更像猫。这个信息对训练很有用。
聪明不只是知道哪个答案对,还包括知道为什么这个更像,那个稍微不像。软标签就在传这种经验。
三、温度到底干啥
讲蒸馏时,经常碰到“Temperature”,温度。
这个词听着吓人,其实就是一个调节概率分布的参数。公式是 softmax(logits / T)。
T 等于 1,就是正常输出。模型往往很自信,比如猫 99.8%,狗 0.1%,狐狸 0.1%。除了猫,其他信息几乎被压没了。
T 大于 1,分布会变平滑。猫 65%,狗 20%,狐狸 12%,其他 3%。这样软标签能带更多关系。
T 小于 1,分布会更尖锐,模型更自信。
训练时常用 T 大于 1,让学生看到更多类别关系。学生推理时,通常把 T 调回 1。教师和学生一般用同一个温度,最后再乘 T 的平方,平衡梯度大小。
下面是一个简单代码例子:
import torch
import torch.nn.functional as F
def distillation_loss(student_logits, teacher_logits, T=2.0):
# 教师模型不更新,所以要断开梯度
teacher_logits = teacher_logits.detach()
# 教师软标签
teacher_prob = F.softmax(teacher_logits / T, dim=-1)
# 学生输出取对数
student_log_prob = F.log_softmax(student_logits / T, dim=-1)
# KL散度衡量学生和教师分布差距
kd_loss = F.kl_div(
student_log_prob,
teacher_prob,
reduction="batchmean"
) * (T * T)
return kd_loss这段代码做的是:学生尽量模仿老师的概率分布。T 越大,分布越软。乘 T*T 是经典知识蒸馏里的常见做法。
四、蒸馏不只学最后答案
现在的蒸馏,早就不只是模仿最后输出。
大致可以分三层。
第一层,学输出。老师怎么给概率,学生就怎么学。这叫输出层蒸馏。
第二层,学中间。老师内部怎么处理信息,学生也去模仿。比如隐藏特征、注意力分布。
第三层,学关系。老师觉得哪些样本像,哪些样本不像,学生也学这种关系。比如哪些图片相似,哪些文本意思接近。
所以,蒸馏不等于模型压缩。压缩可能是结果,知识迁移才是核心。
五、LLM蒸馏是什么
到了大语言模型时代,蒸馏这个词变得更宽。
现在很多人说的“LLM蒸馏”,常指用大模型生成大量高质量数据,再拿这些数据训练小模型。比如让大模型写问答、写代码、解释数学题、改写邮件,然后让小模型学。
这种做法更准确叫数据蒸馏、指令蒸馏,或者黑盒蒸馏。它和经典知识蒸馏有区别。经典蒸馏能看老师的概率和内部特征。黑盒蒸馏只能看老师生成的文本。
如果拿得到老师模型的 logits、隐藏层,就叫白盒蒸馏。白盒能学更多,但条件更高。
LLM蒸馏的好处很现实。原来几十亿、几百亿参数模型能做的事,可能迁移到更小的模型里。小模型跑得快,显存低,成本低,还能放进手机、汽车、摄像头和本地电脑。
六、为什么非做不可
模型能力不是免费的。
参数多一点,可能就多一份显存、多一份算力、多一份延迟、多一份推理成本。做演示时贵一点没关系。一天回答一亿次,成本就完全不一样。
企业也不一定需要全能模型。
客服模型只要会客服。代码模型只要擅长几种语言。医疗场景模型只要在限定任务里稳定工作。
这时候,与其每次都请最贵的全科专家,不如培养一个专项助理。蒸馏的价值就在这里。它让小模型用更少资源,学到尽可能多的有效能力。
七、但别神化蒸馏
学生不可能百分之百复制老师。
复杂推理可能掉。长尾知识可能掉。很少出现的特殊情况,学生可能学不到。老师有偏见、有错误、有幻觉,学生也可能一起继承。
老师答错一万次,学生学得再认真,也只是把错误学得更熟。
数据来源也要注意。大量用某个模型的输出训练另一个模型,可能涉及服务条款、版权、隐私和商业竞争。技术上能蒸,不代表现实中可以随便蒸。
还有一点,老师不一定比学生大。常见是大教小,但也有同规模蒸馏、多个老师教一个学生、自己教自己的自蒸馏。
八、别和量化、剪枝搞混
量化,是把模型里的数字表示变省。比如原来用 16 位,现在改成 8 位、4 位。
剪枝,是删掉一些不重要的参数或连接。
蒸馏,是训练一个学生,让它模仿老师的能力。
简单说:
量化是给模型减重量。
剪枝是给模型裁枝。
蒸馏是教一个更小的徒弟。
现实里,这几种方法经常一起用。一个模型可能先蒸馏,再量化,最后变成手机能跑的版本。
九、普通人记住什么
以后看到“轻量模型”“端侧模型”“低成本模型”,背后可能都有蒸馏、量化、剪枝这些技术。
你不需要会写公式。只要记住:AI蒸馏,就是让大模型当老师,把答案里的概率、关系和经验教给小模型。小模型用更少资源,学会老师最有用的本事。
选模型时,不要只看大小。要看你的任务准确率、速度、成本、隐私要求。适合场景的模型,才是好模型。
AI蒸馏不是魔法。它的核心就是模仿、提炼和取舍。大模型负责见多识广,小模型负责更快更省。谁能把有用的能力装进合适的模型里,谁就更容易把AI真正用起来。
本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!