模型压缩系列视频

模型压缩系列视频

PPT:https://github.com/chenzomi12/DeepLearningSystem/tree/main/Inference

模型压缩架构和流程介绍!量化/剪枝/蒸馏/二值化4件套

模型压缩架构和流程介绍!量化/剪枝/蒸馏/二值化4件套!【推理系统】模型压缩第01篇

image-20230507220556976 image-20230507220704102 image-20230507220907579

低比特量化基本原理!

低比特量化基本原理!【推理引擎】模型压缩系列第02篇

image-20230507224628987 image-20230508194307800 image-20230508195909966 image-20230508195940356 image-20230508200045451 image-20230508200143051 image-20230508200217006 image-20230508200234426 image-20230508200408514

量化原理

image-20230508200649585 image-20230508203322288 image-20230508210615108

下图第二种是截断的方法,设置一个原始值的范围,映射到-127到127,超出这个范围的值就不要了。

image-20230508210727207

第一种int类型表示,第二种uint类型表示;

image-20230508211019684 image-20230508212535898

求S和Z:

image-20230508212647603 image-20230508212859096 image-20230508213015902

感知量化训练QAT原理!伪量化节点计算方式!

感知量化训练QAT原理!伪量化节点计算方式!【推理引擎】模型压缩系列第03篇

QAT:引入fake quant,作用是引入误差,视为“量化误差”,然后finetune模型,来适应这个误差。

image-20230508214253802 image-20230508224027206 image-20230508224218305

正向传播中做了两个工作:1.记录最大最小值;2.量化模拟的操作(fp32量化成int8)

image-20230508224402509

反向传播,直通,output导数等于intput的导数。但是做了一个截断操作

image-20230508224627487 image-20230508224817292

每个step都会有不同的min和max。

image-20230508224848066 image-20230508225002427 image-20230508231725541 image-20230508231813277 image-20230508232838532 image-20230508232815032

AI框架工作流程

image-20230508232941798

QAT的衍生研究

image-20230508233312042 image-20230508233354434 image-20230508233411652

训练后量化PTQ深度解读!与量化部署核心原理!

训练后量化PTQ深度解读!与量化部署核心原理!【推理引擎】模型压缩系列第04篇

image-20230509094833732 image-20230509094921765 image-20230509095233870 image-20230509095357276 image-20230509095503992 image-20230509095548097

设置不同量化里的saturation阈值,然后得到不同的量化结果,也就得到不同的量化分布,再用kl散度选最小的那个量化分布。

image-20230509100917464 image-20230509111623431

端侧量化推理部署

conv2D过程有int8 * int8,再用int8会溢出,因此用int32

2^8 *2 ^8 = 2^16?

image-20230509111658013 image-20230509132458541 image-20230509132544390 image-20230509132634249 image-20230509132940350 image-20230509133008345 image-20230509133032018