模型压缩·加速技巧
📚 30章 从入门到实战
1
模型压缩概述
为什么需要模型压缩?三大目标:体积小、速度快、精度高。
2
模型剪枝基础
什么是剪枝?结构化剪枝与非结构化剪枝的区别。
3
细粒度剪枝
权重剪枝的原理与实现,如何设定剪枝阈值。
4
向量级剪枝
对卷积核的通道进行剪枝,减少计算量。
5
核级剪枝
移除整个卷积核,直接改变网络结构。
6
滤波器级剪枝
基于重要性评估的滤波器剪枝策略。
7
剪枝后的微调
为什么剪枝后必须微调?微调策略与学习率设置。
8
知识蒸馏入门
教师网络与学生网络的概念,蒸馏的损失函数。
9
软标签蒸馏
使用温度参数软化概率分布,传递暗知识。
10
特征层蒸馏
不仅仅学习输出,还要学习中间层的特征表示。
11
关系蒸馏
学习样本之间的关系,提升学生网络的泛化能力。
12
量化基础
什么是量化?FP32到INT8的转换原理。
13
对称量化与非对称量化
量化参数(scale、zero_point)的计算。
14
训练后量化 (PTQ)
无需重新训练,直接对模型进行量化。
15
量化感知训练 (QAT)
在训练过程中模拟量化误差,提升精度。
16
混合精度量化
不同层使用不同位宽,平衡精度与速度。
17
低秩分解
使用SVD分解将大矩阵拆解为小矩阵的乘积。
18
CP分解与Tucker分解
高阶张量的分解方法及其在卷积网络中的应用。
19
权重共享与哈希
通过哈希函数将多个权重映射到同一个桶,减少存储。
20
紧凑网络设计
从网络结构源头设计轻量模型(MobileNet、ShuffleNet)。
21
深度可分离卷积
拆分为深度卷积和逐点卷积,大幅降低参数量。
22
分组卷积与通道混洗
分组卷积的原理,ShuffleNet中的通道混洗操作。
23
神经架构搜索 (NAS)
自动搜索轻量高效的网络结构。
24
模型加速硬件基础
GPU、NPU、DSP对模型加速的支持。
25
算子融合
将多个连续算子合并,减少内存访问和Kernel启动开销。
26
内存优化
内存复用、就地操作、张量重计算等技巧。
27
推理框架实践
TensorRT、ONNX Runtime、OpenVINO的部署流程。
28
模型转换与中间表示
从PyTorch/TensorFlow到ONNX的转换与调试。
29
端侧部署实战
将压缩后的模型部署到手机或嵌入式设备。
30
综合案例
从ResNet50到MobileNet的压缩与加速全流程实战。