模型的知识蒸馏(Knowledge Distillation),是一种通过将复杂模型(教师模型)的知识迁移到简单模型(学生模型)的技术,旨在压缩模型大小、降低计算成本,同时保持性能。这项技术的目标是让学生模型学习到教师模型的特征和知识,从而达到和教师模型相似的性能,而学生模型的参数量和计算复杂度要远小于教师模型。本篇我们一起来看看应该如何理解知识蒸馏技术。
01.核心原理
模型的知识蒸馏通过训练一个规模更小但性能不下降太多的学生模型,来模仿或逼近一个规模更大、精度更高的教师模型的行为,从而达到模型压缩、加速推理的目的。它的核心就是教师-学生架构:利用训练好的大型教师模型指导小型学生模型的学习,使学生模仿教师的输出或中间特征。
具体而言:
-
我们有一个已经训练好的 大模型(Teacher)。
-
我们想得到一个 小模型(Student),具备接近 Teacher 的性能但拥有更少的参数量和更快的推理速度。
-
在训练 Student 的过程中,不仅使用传统的标签/真值 (Ground Truth) 监督,还使用来自 Teacher 的输出(如 logits、embedding、注意力分布等)作为“软标签 (Soft Targets)”或额外监督信号,让学生更好地学习 老师的知识。
02.DeepSeek的蒸馏技术
相关资料显示,现在爆火的DeepSeek就是创新性地运用了多种蒸馏技术,使其成为了耀眼的明星,可见蒸馏技术在大模型中是多么的重要,这些技术包括:
1. 数据蒸馏与模型蒸馏结合
DeepSeek 的蒸馏技术将数据蒸馏和模型蒸馏相结合,显著提升了模型性能并降低了计算成本。具体方法如下:
数据蒸馏:利用强大的教师模型(如 DeepSeek-R1)生成高质量的训练数据,包括数据增强、伪标签生成和优化数据分布。例如,通过教师模型生成推理轨迹,并结合生成式奖励模型(GRM)筛选高质量样本。
模型蒸馏:通过监督微调(SFT),使用教师模型生成的 80 万个推理数据样本对较小的基础模型(如 Qwen 和 LLaMA 系列)进行微调。这一过程不包括额外的强化学习(RL)阶段,使得蒸馏过程更加高效。
2. 高效知识迁移策略
DeepSeek 采用了多种高效的知识迁移策略,以实现更优的知识传递和模型优化:
基于特征的蒸馏:将教师模型中间层的特征信息传递给学生模型,帮助学生模型更好地捕捉数据的本质特征。
特定任务蒸馏:针对不同任务(如机器翻译、文本生成)对蒸馏过程进行优化,提升模型在具体任务上的表现。
3. 蒸馏模型的架构与训练优化
DeepSeek 的蒸馏模型架构设计和训练过程充分考虑了效率与性能的平衡:
教师模型与学生模型选择:教师模型为 DeepSeek-R1(6710 亿参数),学生模型基于 Qwen 和 LLaMA 系列架构。
层次化特征提取:学生模型通过学习教师模型的多层特征表示,更好地理解数据的结构和模式。
参数共享与压缩:通过参数共享和压缩技术,减少学生模型的参数量和存储需求。
轻量化模块设计:引入轻量级模块,降低计算复杂度,同时保持高性能。
4. 训练过程中的优化方法
DeepSeek 在蒸馏模型的训练过程中引入了多种优化方法:
温度参数调整:通过调整软标签的温度参数,帮助学生模型更好地学习教师模型的输出。
动态学习率调整:根据训练进度动态调整学习率,提高训练效率。
正则化技术:使用 L2 正则化等技术,防止过拟合,提升模型泛化能力。
5. 性能与效率的显著提升
DeepSeek 的蒸馏模型在多个基准测试中表现出色,同时显著降低了计算资源需求:
推理效率提升:蒸馏模型的参数量大幅减少,推理速度提升显著。例如,DeepSeek-R1-Distill-Qwen-32B 的推理速度比原始模型提高了约 50 倍。
性能表现优异:在 AIME 2024 基准测试中,DeepSeek-R1-Distill-Qwen-7B 实现了 55.5% 的 Pass@1,超越了 QwQ-32B-Preview(最先进的开源模型)。DeepSeek-R1-Distill-Qwen-32B 在 MATH-500 上实现了 94.3% 的 Pass@1。
通过这些创新,DeepSeek 的蒸馏技术不仅大幅提升了模型的推理效率,还在性能上接近甚至超越了原始的大型模型,为资源受限场景下的应用提供了强大的支持
03.蒸馏的步骤
知识蒸馏的步骤通常包括以下几个部分:
1. 准备教师模型:首先需要有一个已经训练好的、性能优秀的大型模型作为教师模型。这个模型通常是在大量数据上训练得到的,并且具有较高的准确率。
2. 定义学生模型:根据应用场景的需求,设计一个较小的学生模型结构。该模型的参数量和计算量都远小于教师模型,但通过后续的训练过程能够从教师模型中学习到有用的信息。
3. 软标签生成:使用教师模型对训练集进行前向传播,生成每个样本的预测概率分布(即“软标签”)。这些软标签不仅包含了正确类别的信息,还隐含了不同类别之间的相对关系,有助于学生模型学习到更加丰富的决策边界。
4. 损失函数调整:传统的监督学习中,模型通常是基于真实标签来优化损失函数。而在知识蒸馏中,则引入了教师模型提供的软标签作为额外的指导信号。常见的做法是将原始的交叉熵损失与基于软标签的KL散度损失结合起来,形成一个新的复合损失函数。
5. 学生模型训练:利用上述复合损失函数来训练学生模型。在此过程中,学生模型不仅要学会拟合真实标签,还要尽可能地模仿教师模型的输出行为,即最小化其预测结果与软标签之间的差异。
6. 评估与调优:完成训练后,需要对学生模型在验证集或测试集上的表现进行评估,并根据实际效果调整模型结构、超参数等,以进一步提升性能。
7. 部署应用:当学生模型达到满意的性能水平时,即可将其部署到实际的应用场景中,实现高效能的同时减少资源消耗。
总结
模型蒸馏技术在降低模型复杂度和推理成本的同时,能够保留大部分教师模型的性能,是当前人工智能领域中实现高效模型部署的重要技术之一。
如何学习大模型 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 的正确特征了。