
知识蒸馏:由诺奖得主Hinton提出,9年后被DeepSeek带火,究竟是什么?
知识蒸馏最早在2015年被诺贝尔物理学奖得主Geoffrey Hinton提出,在2025又被DeepSeek带火看了许多介绍蒸馏技术的文章,我们希望把知识蒸馏这项技术的前世今生介绍给大家2006年的春天,英特尔刚刚发布第一个双核处理器 E6320(4 M 缓存、1.86 GHz),苹果也刚发布了第一台MacBook,而第一代iPhone还在乔布斯的实验室中孕育当时研究机器学习学者们发现:用机器做
知识蒸馏最早在2015年被诺贝尔物理学奖得主Geoffrey Hinton提出,在2025又被DeepSeek带火
看了许多介绍蒸馏技术的文章,我们希望把知识蒸馏这项技术的前世今生介绍给大家
01
模型压缩的提出
2006年的春天,英特尔刚刚发布第一个双核处理器 E6320(4 M 缓存、1.86 GHz),苹果也刚发布了第一台MacBook,而第一代iPhone还在乔布斯的实验室中孕育
当时研究机器学习学者们发现:用机器做预测,只要把足够多的模型组合在一起,不断叠加分析步骤,就能获得惊人的准确率
这种"集成学习"方法就像把决策委员会中请过来一千个专家,虽然决策准确,但每次决策都需要所有专家投票,既耗时又占空间。
在康奈尔大学的实验室里,Rich Caruana教授和他的学生们也面临着这个棘手的问题。
“我们的模型医疗诊断正确率高、粒子物理实验数据分析得不错、搜索引擎准确,但问题也很明显:模型动辄超过1GB!预测一个数据太久了!”
Caruana说,
"在高速粒子加速器中,每秒钟会产生数万次的粒子碰撞,每次碰撞都需要实时判断是否产生了有价值的物理现象。如果每个判断都需要2秒,那么绝大多数的碰撞事件都会被错过。
当你用2秒才能响应的老式相机去拍摄一场赛车比赛时,等你按下快门,比赛已经结束了,我们需要的是毫秒级的响应速度。"
深夜的实验室里,他们突然想到一个大胆的想法:
何不训练一个小模型来"模仿"这个大模型?
即用一个更小型的神经网络,从输入的数据自己学习最终的结果,绕过繁琐的决策
但问题是,训练神经网络来自主学习最关键的是需要大量的数据,为此,他们开发了一个叫MUNGE的算法
这是一种生成人工数据的方法,其核心思想是通过扰动真实样本来生成新样本,同时保持数据分布的关键特征,用这种生成的数据来训练小模型(神经网络)
大白话:给你一个数学题型,把条件和答案的数给你换一下再做一次,这样有了足够多的题目,给小模型做的题目也就丰富了起来。
最终用这些数据训练神经网络的结果令人振奋:
压缩后的神经网络平均大小为0.33MB,而原始集成模型平均大小为550.29MB,运行速度快了1000倍(原始模型处理10k样本需要5396秒,压缩后只需5.62秒),而且准确率几乎没有损失
这项技术最终被他们命名为"模型压缩"
02
知识蒸馏的诞生
2006-2015的9个春秋里,处理芯片随摩尔定律不断升级。
2014发布DDR4意味内存进入8GB时代,苹果新发布的6s手机也将移动设备带入2GB内存时代,神经网络也在向越来越深发展。
2015年的谷歌实验室里,Hinton看着Rich Caruana在9年前做的模型压缩方法,他提出了一个大胆的想法。
“将模型压缩就像大的模型把知识传递给小的模型,但知识的传递应该是多层次的。”
他一边敲击键盘,一边自言自语,
“不应该只盯着答案,过程也很重要。”
他把过去的模型压缩叫做硬目标(one-hot),在此之上提出了软目标(soft targets),硬目标传递结果,软目标传递中间的知识(软目标即模型输出的概率分布)
Hinton在软目标中引入温度系数(temperature),使用的概率分布如下:
大白话:当模型看到一张手写数字2的图片时,硬目标告诉模型这个数字是2,软目标告诉模型:这个图片可能90%像"2",9%像"3",1%像"7"
这种方式用概率分布把神经网络的部分中间信息保留(学习)下来,而这种细粒度的相似度信息对模型的泛化能力非常重要
Hinton最终将这种保留了结果信息与过程信息的模型压缩方法命名为知识蒸馏(Knowledge Distilling),知识蒸馏方法由此诞生
03
知识的追随者们
2015年深秋,蒙特利尔的枫叶正红得耀眼,Romero和他的同事们却始终在思考一个问题:为什么要把知识蒸馏局限在最后一层?(即用来训练小模型的知识一定是输出层的内吗?)
"你们看,"Romero指着显示器说,
“这第一层学到的是简单的边缘和纹理,第二层开始组合出更复杂的形状,到了最深的几层,已经能识别出完整的物体轮廓。这些层层递进的特征,不正是知识最本质的体现吗?”
——基于中间特定层输出的蒸馏诞生
他们的发现像涟漪一样在学术界荡开
2017年,来自韩国的研究员Yim更进一步:“离散的单一输出只是涵盖知识的部分内容,如果我们能够捕捉网络在处理信息时的’思维流’,也许能找到更本质的知识传递方式。”
于是他们提出了一个大胆的想法:用两层特征之间的关系来表示网络的解题思路:FSP矩阵
——从关注单一输出层到关注层与层之间关系的蒸馏诞生
04
算法创新
2017年,来自马里兰大学和佐治亚理工的研究者们设计了一个特殊的"判别器"网络
它像一位评委,专门对比学生模型和教师模型的输出
通过判别器网络的对抗性训练,让学生网络不断改进其输出分布,以接近教师网络的知识表示
——对抗性知识蒸馏算法就此诞生(Adversarial Distillation)
还有让多个专精不同领域的教师模型同时施教的算法
有的教师擅长捕捉细节特征,有的善于抽象高层语义,不同学科的老师各有所长,他们的知识通过精心设计的蒸馏过程,最终在学生模型中得到融会贯通。
——这就是Multi-Teacher Distillation
还有 Cross-Modal Distillation、Graph-Based Distillation、Data-Free Distillation…
如今,知识蒸馏已从一项简单的模型压缩技术,成长为一个充满活力的领域。
正如一位研究员所说:“知识不是独立的点,而是相互关联的网。要习得真正的智慧,就必须理解知识间的联系。”
05
DeepSeek的知识蒸馏技术
DeepSeek的知识蒸馏做法是
1、用DeepSeek R1来输出思维链和最终结果(共800k样本)
2、在较小的开源模型上做监督微调(SFT),选取的开源模型如下:
而DeepSeek蒸馏出来的小参数模型推理效果好于同样大小模型的原因则为,类似中间层蒸馏的输出蒸馏:
Hinton最早提出的蒸馏方法是基于大模型输出的结果做的蒸馏
这里是基于R1输出的结果做的蒸馏,因此蒸馏的知识类型依旧是输出结果
但是由于R1的输出结果包含大模型的思维链,因此知识中也包含了部分中间的推理过程,进而蒸馏出来的较小模型也会相较同参数大小模型更加“聪明”
至于使用体验,相信在经过互联网上铺天盖地的本地部署营销后,大家也知道了蒸馏后的实际效果肯定是不如满血版的
另外,他们在论文中也留下了这样一句话:
“For distilled models, we apply only SFT and do not include an RL stage, even though incorporating RL could substantially boost model performance.”
他们深知,仅仅依靠监督微调还远远不够——这只是通往卓越的第一步
通过强化学习等更先进的蒸馏方法,我们完全可以突破当前的瓶颈,让蒸馏后的小模型性能更上一层楼,未来说不定蒸馏后即可达到满血版性能
这个充满挑战的课题,正如一颗种子播撒在开源社区这片沃土上,未来也必定会有无数开发者不懈追寻,也必将有更轻巧、更智能的模型破土而出
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
更多推荐
所有评论(0)