首页 分享 模型压缩相关技术概念澄清(量化/剪枝/知识蒸馏)

模型压缩相关技术概念澄清(量化/剪枝/知识蒸馏)

来源:花匠小妙招 时间:2024-11-15 09:31
1.模型压缩背景

随着深度学习技术的不断发展,模型的规模和复杂度也随之增加。大型模型往往具有更高的精度和更强的泛化能力,但在实际应用中,模型的大小却成为了一个制约因素。模型体积过大会导致存储、传输和推理速度等方面的瓶颈,限制了模型在资源受限设备上的部署和应用。因此,模型压缩技术应运而生,旨在减少模型的体积,同时尽可能地保持模型的性能。

下面的这张图(推理流程图)可以看到模型压缩在整个模型推理流程中的位置,模型压缩处于离线推理模块中;

在这里插入图片描述

模型压缩的主要方法: 1.模型量化 2.模型剪枝 3.知识蒸馏 2.模型量化基础 1.深度学习神经网络模型的特点: 数据参数量大计算量大内存占用大模型精度高 2.模型量化的概念

模型量化是一种将浮点计算转成低比特定点计算的技未,可以有效的降低模型计算强度、参数大小和内存消耗,但往往带来巨大的精度损失。无其是在极低比特(<4bit)、二值网络(Ibit)、甚至将梯度进行量化时,带来的精度挑战更大。

常见模型精度:

在这里插入图片描述

3.模型量化的优点 保持精度:只要把控好量化的程度,对于高级任务精度的影响可以做到很小加速计算:传统的卷积运算一般采用FP32计算,INT8与其比可以增加3倍速度节省内存:INT8比FP32占用的空间更小,传输时间也能大幅下降节能:使用的位数少,做运算时搬运的数据少,访存次数就少了 4.模型量化方法

量化训练(Quant Aware Training,QAT)

量化训练让模型感知量化运算对模型精度带来的影响,通过finetune训练降低量化误差

动态离线量化(Post Training Quantization Dynamic,PTQ Dynamic)

动态离线量化仪将模型中特定算子的权重从FP32类型唤射成INT8/16类型

静态离线量化(Post Training Quantization Static,PTQ Static)

静态离线量化使用少量无标签校准数据,采用KL散度等方法计算量化比例因子。

5.量化原理

模型量化桥接了定点与浮点,建立了一种有效的数据映射关系,使得以较小的精度损失代价获得了较好的收益

3.模型剪枝基础 1.模型剪枝的概念

模型剪枝是一种从神经网络中移除“不必要”权重或偏差(weight/bias)的模型压缩技术。它可以通过减少模型的大小和计算量来提高模型的效率和速度。模型剪枝可以分为细粒度剪枝、粗粒度剪枝和结构化剪枝等不同的剪枝方法。

2.模型剪枝分类 Unstructured Pruning(非结构化剪枝) 随机对独立的权重或神经元链接进行剪枝剪枝算法简单,模型压缩比高但精度不可控,剪枝后权重矩阵稀疏 Structured Pruning(结构化剪枝) 对filter/channel/layer进行剪枝大部分算法在channel/layer上进行,相较非结构化更加保留原始结构剪枝算法相对复杂 3.常见剪枝算法

L1正则化剪枝

L2正则化剪枝

稀疏结构学习剪枝

通道剪枝

卷积核剪枝

低秩分解剪枝

基于Hessian矩阵的剪枝

4.剪枝的优缺点

模型剪枝的优点是可以减少模型的大小和计算量,提高模型的运行速度和效率。同时,模型剪枝可以提高模型的泛化能力,减少过拟合的风险。

模型剪枝的缺点是可能会牺牲模型的准确率和压缩比,而且非结构化剪枝需要依赖于专门的运行库和硬件设备。

5.剪枝VS量化

模型量化是通过减少权重表示或者激活所需的比特数来压缩模型

在这里插入图片描述

精度:32bit—>8bit

模型剪枝研究的是模型权重中的冗余部分,尝试删除冗余的和非关键的部分

在这里插入图片描述

​ 精度不变,删除冗余和非关键的部分

4.知识蒸馏(Knowledge Distillation)基础 1.概念介绍

知识蒸馏(Knowledge Distillation,简记为 KD)是一种经典的模型压缩方法,核心思想是通过引导轻量化的学生模型“模仿”性能更好、结构更复杂的教师模型(或多模型的 ensemble),在不改变学生模型结构的情况下提高其性能。

2.蒸馏主要思想

知识蒸馏就是将已经训练好的模型包含的知识,蒸馏到另一个模型中去。具体来说,知识蒸馏,可以将一个网络的知识转移到另一个网络,两个网络可以是同构或者异构。一般是将一个复杂模型(或集成模型)蒸馏到一个轻量级模型中以提升运行速度,但也有以提升指标为目的的蒸馏。

蒸馏的常规做法是先训练一个 teacher 网络,然后使用这个 teacher 网络的输出和数据的真实标签去训练 student 网络。

3.知识蒸馏算法的关键组成 Knowledge蒸馏算法Distillate师生架构 4.知识蒸馏方法

Offline distillaction(离线蒸馏)

在这里插入图片描述

大多数知识蒸馏均采用该方法;该方法主要分为两个部分:1.预训练教师模型;2.蒸馏算法迁移知识大多采用单向知识迁移和两阶段训练过程;在训练教师模型时时间较长,但对学生模型的蒸馏比较高效

Online distillaction(在线蒸馏)

在这里插入图片描述

主要针对参数量大、精度性能好的教师模式不可获得的情况下;教师模型和学生模型同时更新但现有的online distillaction往往难以获得在线环境下参数量大、精度性能好的教师模型;

Self-distillaction(自监督蒸馏)

在这里插入图片描述

教师模型和学生模型使用相同结构的网络两者都采取端到端的可训练方案属于online distillaction一种特例; 5.总结 Offline Distillation 像知识渊博的老师向传授学生知识;Online Distillation 更像老师和学生共同学习;Self-Distillation 更像学生自己学习知识。

日常学习总结

相关知识

深度神经网络加速利器:通道剪枝技术解析
模型压缩:CNN和Transformer通用,修剪后精度几乎无损,速度提升40%
论文阅读:The Unreasonable Ineffectiveness of the Deeper Layers 层剪枝与模型嫁接的“双生花”
Mistral
人工智能技术应用于智能农业植物病虫害检测解决方案.pptx
改进的LeNet
技术实现模型
压缩花土
植物景观色彩量化研究进展
生态安全格局构建:概念、框架与展望

网址: 模型压缩相关技术概念澄清(量化/剪枝/知识蒸馏) https://www.huajiangbk.com/newsview556566.html

所属分类:花卉
上一篇: 园艺施工中,下列哪些工具可以用于
下一篇: 杨梅树形修剪培育新技术详解

推荐分享