一文读懂知识蒸馏技术的原理、方法与应用

知识蒸馏(Knowledge Distillation) 1、Distilling the Knowledge in a Neural Network Hinton的文章"Distilling the Knowledge in a Neural Network"首次提出了知识蒸馏(暗知识提取)的概念,通过引入与教师网络(teacher network:复杂、但推理性能优越)相关的软目标(soft-target)作为total loss的一部分,以诱导学... 阅读详情

一、知识蒸馏的概念与起源

知识蒸馏,作为人工智能领域的一项模型训练技术,采用一种类似于教师 - 学生的独特方式进行模型优化。想象一下,大型复杂模型就如同一位知识渊博的教师,积累了丰富的知识。而小模型则是渴望学习的学生,通过知识蒸馏技术,学生模型能够从教师模型身上快速有效地学习到那些经过漫长训练才获得的宝贵知识。这种技术不仅可以显著改善模型的运行效率,还能大幅减少运算开销,因此也被称为模型蒸馏。

知识蒸馏并非是近期才出现的全新概念。早在 2006 年,Bucilua 等人就展现出了前瞻性的思维,最先提出将大模型的知识迁移到小模型的创新想法。然而,直到 2015 年,Hinton 正式提出并完善了广为人知的知识蒸馏概念,这一技术才逐渐在学术界和工业界引起广泛关注。其核心思想简洁而深刻:让学生模型通过模仿教师模型,达到与教师模型相当的精度水平。而实现这一目标的关键问题,便是如何巧妙地将教师模型蕴含的丰富知识,迁移到学生模型之中。

二、知识蒸馏的常用方法

(一)数据蒸馏

数据蒸馏就像是一场精心编排的 “知识传递接力赛”。在这个过程中,教师模型首先扮演起 “知识生产者” 的角色,生成一系列 < 问题,答案 > pair。这些精心生成的数据对,就如同传递知识的 “接力棒”,随后被传递给学生模型,用于其训练过程。例如,DeepSeekR1-Distill-Qwen-32B 模型便是数据蒸馏的成功范例。它借助DeepSeek-r1 生成的 80 万条数据,在 Qwen2.5-32B 模型的基础上直接进行有监督微调(SFT),从而实现了自身性能的显著提升。通过这种方式,学生模型能够从教师模型生成的数据中学习到隐含的模式和知识,快速提升自己的能力。

(二)Logits 蒸馏

Logits是神经网络在应用 softmax 函数之前的原始输出分数。Logits 蒸馏则是让学生模型不仅仅局限于模仿教师模型的最终预测结果,而是深入学习教师模型的 logits。为什么要这样做呢?因为 logits 中蕴含着更多关于模型内部决策过程的信息,通过模仿 logits,学生模型能够保留教师模型更多的 “智慧结晶”。教师模型在面对各种输入时,其内部的决策逻辑就像一本复杂的 “秘籍”,而 logits 就是这本 “秘籍” 的一种呈现方式。学生模型通过学习 logits,就如同研读这本 “秘籍”,从而更好地理解和模仿教师模型的决策过程,提升自身的性能。

(三)特征蒸馏

尽管 Logits 蒸馏已经能够让学生模型获取教师模型的不少知识,但有时这还不够彻底。在这种情况下,特征蒸馏便应运而生。特征蒸馏的核心在于对教师模型的中间层进行蒸馏。神经网络的中间层就像是一个知识的 “加工厂”,不同层对输入数据进行了不同层次的特征提取和抽象。通过蒸馏教师模型的中间层特征,学生模型能够学习到教师模型在处理数据过程中所提取的关键特征,进一步丰富自己的知识储备。例如,在图像识别任务中,教师模型中间层可能提取到了图像中物体的边缘、纹理等重要特征,学生模型通过特征蒸馏学习到这些特征后,能够在图像识别任务中表现得更加出色。

三、知识蒸馏的应用场景

(一)移动端与嵌入式设备

在资源受限的移动端和嵌入式设备上,运行大型复杂模型往往面临着计算能力和存储空间的双重挑战。知识蒸馏技术可以将在强大计算设备上训练好的大型模型知识,迁移到适用于移动端和嵌入式设备的小型模型中。这样一来,这些小型设备能够在保持较高准确率的同时,以更低的能耗和更快的速度运行模型,为用户提供实时的智能服务,如手机端的图像识别应用、智能手表的健康监测功能等。

(二)在线推理服务

在在线推理服务场景中,响应时间是关键指标之一。使用知识蒸馏后的小型模型进行推理,可以在不显著降低模型准确率的前提下,大幅提高推理速度,减少用户等待时间。这对于那些需要实时响应用户请求的服务,如搜索引擎的智能问答系统、电商平台的个性化推荐服务等,具有重要意义。通过快速准确地给出推理结果,能够显著提升用户体验,增强服务的竞争力。

(三)模型压缩与加速

随着模型规模的不断增大,存储和传输模型所需的资源也越来越多。知识蒸馏技术可以在模型压缩方面发挥重要作用,通过将大型模型的知识蒸馏到小型模型中,实现模型的轻量化。同时,小型模型在推理过程中的计算量减少,从而加速了推理速度。这对于大规模部署模型的企业和机构来说,可以有效降低硬件成本和运营成本,提高系统的整体性能。

【知识蒸馏】知识蒸馏(Knowledge Distillation)技术详解 知识蒸馏综述 阅读详情

相关推荐

知识蒸馏 | 知识蒸馏的算法原理与其他拓展介绍

如有错误,恳请指出。 这篇博客将记录我看视频后对知识蒸馏的笔记,视频链接见参考资料[1],其中包含知识蒸馏的算法原理(训练流程与测试流程),以及知识蒸馏能够正常工作的背后机理与其发展的趋势及展望。 在这篇博客中,主要都是介绍没有涉及具体的代码,我另外还将会记录一下知识蒸馏的测试过程,见另外的一篇博客。 文章目录框架1. 知识蒸馏的算法原理1.1 知识的表示与迁移1.2 训练流程1.3 推理过程1.4 KD与Labe Smoothing的区别2. 知识蒸馏的应用场景3. 知识蒸馏的背后机理4. 知识蒸馏.

Clichong 8011

知识蒸馏概述

知识蒸馏概述

关于我的学习记录 2671

一文详解什么是知识蒸馏

在蒸馏过程中,将相同输入同时输入教师模型和学生模型,教师模型为学生模型提供知识指导,通过最小化学生模型输出与教师模型输出之间的差异(如使用交叉熵损失、均方误差损失等),优化学生模型参数,使学生模型学习教师模型的知识。教师模型训练过程中,能学习到数据中的“暗知识”,如数据分布规律、特征之间的隐含关系等。它通过将一个复杂的大模型(称为教师模型,Teacher Model)的知识转移到一个较小的模型(称为学生模型,Student Model)中,使得学生模型在保持较小规模的同时,能够尽可能地接近教师模型的性能。

Python栈 2551

深度总结 | 知识蒸馏在推荐系统中的应用

作者| 张俊林@新浪微博来源 |知乎链接 |https://zhuanlan.zhihu.com/p/143155437目录知识蒸馏典型方法知识蒸馏在推荐系统中的三个应用场景知识蒸...

abcdefg90876的博客 1902

【AI系统】知识蒸馏原理

知识蒸馏 (Knowledge Distillation, KD) 是一种用于模型压缩和优化的技术,最初由 Hinton 在文章“Distilling the Knowledge in a Neural Network”中提出,核心思想是从一个复杂的较大的模型(通常称为教师模型)中提取知识,将这些知识转移到一个精简的小模型(通常称为学生模型)中。这个过程能够显著减少模型的复杂度和计算开销,同时尽可能保留较大模型的性能。

ZOMI酱 3175

DeepSeek背后的原理——AI蒸馏技术详解

AI蒸馏技术(Knowledge Distillation)是一种模型压缩方法,旨在将一个大型、复杂的模型(通常称为教师模型)的知识转移到一个更小、更简单的模型(学生模型)中。通过这种方式,学生模型可以在保持较高性能的同时,显著减少计算资源和存储需求。

m0_69644950的博客 2411

浅谈“知识蒸馏”技术在机器学习领域的应用

什么是知识蒸馏技术? 知识蒸馏技术首次出现是在Hinton几年前的一篇论文《Distilling the Knowledge in a Neural Network》。老大爷这么大岁数了还孜孜不倦的发明各种人工智能领域新名词,让我这种小白有很多可以去学习了解的内容,给个赞。 那什么是知识蒸馏技术呢?知识蒸馏技术的前提是将模型看作一个黑盒,数据进入后经过处理得到输出。通常意义上,复杂的模型的输出...

Garvin的专栏 2901

【凌智视觉模块】rv1106 部署 pp-humseg 模型

人像分割技术实现摘要 人像分割是利用计算机视觉技术将图像/视频中的人物与背景分离的像素级处理技术。凌智视觉模块基于RV1106芯片开发,支持高效视觉模型部署。当前主流方法包括PP-HumanSeg、BiSeNet等深度学习模型,其中PP-HumanSegV2以96.63% mIoU精度和63FPS手机端速度成为SOTA方案。 实现流程包含: 初始化RKNN模型后端 图像预处理(尺寸调整、颜色空间转换) 执行模型推理 后处理(概率解码、动态阈值分割、形态学优化) 代码实现要点: 使用RKNPU2Backend

m0_50786932的博客 986

大模型学习之AI模型知识蒸馏

知识蒸馏是一种机器学习技术,通过将知识从一个更大、更复杂的模型(通常称为“教师”模型)转移到一个更小、更简单的模型(称为“学生”模型)。这个过程使学生模型能够在性能上接近教师模型,同时更加高效,所需的计算资源更少。以下是知识蒸馏的工作原理:教师模型训练:一个大型且通常复杂的神经网络在数据集上进行训练。由于其规模和复杂性,这个模型可以达到高精度,但通常需要高计算成本。学生模型训练:学生模型较小且不那么复杂,不仅要预测原始标签,还要模仿教师模型的一些行为。

2401_85375186的博客 844

告别老旧内核!手把手教你为Android 10设备手动更新WebView(以升级至97版为例)

本文详细指导如何在Android 10设备上手动更新WebView至97版,解决老旧内核导致的兼容性、性能和安全问题。通过ADB命令和图形化操作两种方案,无需Root即可完成升级,显著提升网页加载速度和安全性。

weixin_28672681的博客 582

LDPC码译码原理——概率公式推导

怎么说呢,一直以来都想写一下博客。近半年多来我一直在学习LDPC码译码上的东西,主要是在FPGA实现上的,所以这次想写一些关于这方面的内容,包括译码的原理、仿真以及实现。(当然是基于准循环LDPC码上实现的)不过呢,我写这个的初衷是为了让初学者理解入门用的,而不是在大牛面前班门弄斧,有错误之处欢迎大家批评指正。不知道会不会有人一开始像我一样,为了学好LDPC码,先去好好了解其它的诸如RS码或者是卷...

stand_by_me123的博客 2万+

一文搞懂【知识蒸馏】【Knowledge Distillation】算法原理

知识蒸馏就是把一个大的教师模型的知识萃取出来,把他浓缩到一个小的学生模型,可以理解为一个大的教师神经网络把他的知识教给小的学生网络,这里有一个知识的迁移过程,从教师网络迁移到了学生网络身上,教师网络一般是比较臃肿,所以教师网络把知识教给学生网络,学生网络是一个比较小的网络,这样就可以用学生网络去做一些轻量化网络做的事情。

Coding... 8万+

人工智能发展史(从起步到磅礴)以及浪潮阶段

随机森林是将多个有差异的弱学习器(决策树)Bagging并行组合,通过建立多个的拟合较好且有差异模型去组合决策,以优化泛化性能的一种集成学习方法。从论文里可以了解到,GPT-1具有1.17个参数,采用了12层的Transformer 解码器结构,使用5GB的无标注文本数据,在8个GPU上训练了一个月,然后再进行人工监督的微调。训练相结合的理念(该方法在当时计算力上还是有很多挑战,基本上都是和链式求导的梯度算法相关的),这也解决了单层感知器不能做非线性分类的问题,开启了神经网络新一轮的高潮。

xiao77224li的博客 7505

必看!一文读懂知识蒸馏技术

在大规模数据集上训练教师模型直到收敛。知识蒸馏作为一种模型压缩技术,具有诸多显著优势,使其在深度学习领域得到了广泛应用。首先,知识蒸馏能够显著降低模型的复杂度和计算成本。通过将教师模型的知识迁移到学生模型中,学生模型可以在保持较高性能的同时,大幅减少参数量和计算资源的消耗。例如,经过知识蒸馏优化的学生模型,其参数量可以比教师模型减少数倍甚至数十倍,推理速度可以提高数十倍。这使得模型能够在资源受限的设备上高效运行,如移动设备、嵌入式设备等,极大地拓展了深度学习模型的应用场景。

star_nwe的博客 2193

从ADC校准到精准测量:避开PY32F030小信号采样的那些坑

本文深入探讨了PY32F030微控制器进行ADC小信号采样时面临的挑战与解决方案。从硬件设计、软件滤波算法到系统级校准策略,详细分析了如何避开常见陷阱,实现精准测量,特别是在25mV以下小信号场景中的应用实践。

ujm567890的博客 758

电能质量仿真:电能质量改善措施仿真_(12).电能质量改善措施综合仿真案例

假设我们有一个微电网系统,该系统包含分布式电源(如光伏板、风力发电机)、储能设备、负荷和电网连接。电压波动:由于负荷的波动和分布式电源的间歇性输出,系统电压出现了不稳定的情况。谐波污染:非线性负荷和逆变器的运行导致系统中出现了显著的谐波污染。频率偏差:分布式电源的波动和负荷的突变导致系统频率出现了偏差。我们需要通过仿真来评估这些问题的影响,并提出相应的改善措施。

2401_87715305的博客 1360

一文读懂大模型蒸馏技术:从原理到应用

LLM 蒸馏是一种能让大语言模型 “轻装上阵” 的训练技术。打个比方,就像一位知识渊博的老教授(教师模型)把毕生所学倾囊相授给年轻学生(学生模型)。在 AI 世界里,就是把大而复杂的模型(像 GPT-4o)的行为和知识,传递给小而高效的模型(比如 GPT-4o mini)。这样一来,小模型既能保留大模型的核心能力,还能更灵活地 “工作”,减少计算资源的消耗,在各种设备上都能快速运行。

Python_cocola的博客 1674

RAG的“诊断艺术”:从测试集结果倒追根源,精准优化检索、排序与生成

当RAG应用给出一个糟糕的答案时,开发者的第一反应可能是:“我的Prompt写得不够好?”这种基于“感觉”的猜测往往是低效的。通过构建一个包含黄金上下文信息的测试集,我们可以像一位经验丰富的医生一样,对RAG系统的各个“器官”进行独立的“健康检查”。一个用于RAG诊断的测试集,除了问题和答案,还需要包含中间环节的“黄金标准”。如果你的RAG流程包含Re-ranker,那么在评估完初期的召回后,需要单独评估Re-ranker的效果。RAG的优化是一个持续的过程,应该形成一个闭环。的文档块尽可能多地召回。

kakaZhui的博客 153

知识蒸馏算法原理

知识蒸馏算法原理 “蒸馏”的概念大概就是将本身不够纯净的水通过加热变成水蒸气,冷凝之后就成更纯净的水 知识蒸馏同样使用这种原理,将不太纯净的“知识”通过“蒸馏”的方式获得更加有用或者纯净的“知识” 体现在神经网络中如下图所示: 一个大而臃肿,但知识丰富且高效的“教师网络”,通过转换精准将特定领域的知识传授给“学生网络”,让“学生网络”在某个方面做得很好,并且不那么臃肿,类似“模型压缩” 为什么不直接使用教师网络?因为将算法应用在现实生活中很多设备的算力会被限制,因此需要尽可能.

charles_zhang_的博客 1万+

【33】软考软件设计师——算法题(二):贪心法与回溯法深度精讲|第4题进阶满分攻略

本文是《软件设计师·50讲通关|从零基础到工程师职称》专栏第33篇,承接第32篇分治法与动态规划,聚焦**下午第4题算法大题进阶核心**,详解贪心法与回溯法两大高频难点算法。全文超4000字深度拆解贪心法核心原理、贪心选择性质、局部最优推全局最优的底层逻辑,厘清贪心算法适用边界与经典误区;深挖回溯法深度优先遍历思想、递归回溯三步流程、可行性剪枝与最优性剪枝两大核心技巧;全覆盖活动选择、零钱兑换、01背包贪心禁区、八皇后、全排列等软考必考经典题型;配套标准化算法框架代码、考场填空模板、剪枝优化实操案例

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 439

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

知识蒸馏:原理、算法与应用

知识蒸馏:原理、算法与应用

a131529的博客 2848

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

一文看懂“知识蒸馏”技术

过去几年中,深度学习已成为人工智能许多成功的基础,包括计算机视觉中的各种应用、强化学习。随着许多最新技术的帮助,包括残差连接和批量归一化,可以在强大的GPU或TPU集群上轻松训练数千层的非常深的模型。例如,使用数百万图像的流行图像识别基准测试可以在不到十分钟的时间内训练出ResNet模型;训练强大的BERT语言理解模型不需要超过一个半小时。大规模的深度模型取得了压倒性的成功,但是巨大的计算复杂度和大量的存储要求使得在实时应用中部署它们成为了一大挑战,尤其是在资源有限的设备上,比如视频监控和自动驾驶汽车。

weixin_42010722的博客 3536

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

一文读懂DeepSeek蒸馏技术,AI进阶的秘密武器

蒸馏技术,英文名为Knowledge Distillation,简称KD ,最早是由Geoffrey Hinton、Oriol Vinyals和Jeff Dean在2015年提出。从概念上来说,它就像是一场“老师与学生”的教学过程。在这个过程中,有一个性能强大但结构复杂的“老师模型”,还有一个相对较小、更轻便的“学生模型”。“老师模型”将自己从海量数据中学习到的知识和经验,传递给“学生模型” ,让“学生模型”在接收这些知识后,能够在保持高性能的同时,实现更小的模型规模和更快的推理速度。

老黄浅谈质量的博客 1307

【一文了解】模型的知识蒸馏技术

根据应用场景的需求,设计一个较小的学生模型结构。该模型的参数量和计算量都远小于教师模型,但通过后续的训练过程能够从教师模型中学习到有用的信息。

m0_59164520的博客 1274

【大模型开发】Distillation(知识蒸馏)技术原理与代码案例分析

以下内容将全面剖析大模型的知识蒸馏(Distillation)技术,包括其基本原理、常见方法、在大规模模型(如 GPT/BERT/LLM)上的应用场景与挑战,以及可运行的 PyTorch 示例。知识蒸馏是近年来模型压缩的重要手段之一,对大语言模型的实际部署有显著帮助

人工智能(AI)技术,大模型技术,深度学习,机器学习,计算机视觉,AI工具实践应用等分享 4421
上一篇: 深入理解倒排索引原理:从 BitSet 到实际应用
下一篇: 增长黑客:好产品驱动增长的全方位解析
技术宝哥
博客等级 码龄16年 331粉丝 222原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值