01
MobileViT模型概述
了解MobileViT的架构特点、优势与局限性,明确压缩的必要性。
架构动机
02
模型压缩技术全景
梳理剪枝、量化、蒸馏、低秩分解等主流压缩技术,对比其适用场景。
剪枝量化蒸馏
03
结构化剪枝基础
理解结构化剪枝与非结构化剪枝的区别,掌握通道剪枝与滤波器剪枝的原理。
结构化通道剪枝
04
MobileViT中的通道剪枝
针对MobileViT的MobileNet模块,实施通道剪枝策略,减少计算量。
MobileNet通道
05
MobileViT中的Transformer剪枝
对MobileViT的Transformer模块进行注意力头剪枝与MLP层剪枝。
注意力头MLP
06
全局与局部剪枝策略
对比全局剪枝与局部剪枝在MobileViT上的效果,学习如何设定剪枝率。
全局局部剪枝率
07
剪枝后微调技术
剪枝后的模型需要微调恢复精度,学习学习率调度与蒸馏辅助微调方法。
微调蒸馏
08
权重量化基础
理解对称量化与非对称量化,掌握量化参数(scale, zero_point)的计算。
对称非对称scale
09
MobileViT的INT8量化
将MobileViT的权重与激活值量化为INT8,使用PyTorch的量化工具包。
INT8PyTorch
10
量化感知训练(QAT)
在训练过程中模拟量化误差,提升量化后模型的精度。
QAT模拟量化
11
知识蒸馏原理
理解教师-学生框架,学习软标签与硬标签的损失函数设计。
教师-学生软标签
12
MobileViT蒸馏实战
以大型ViT或CNN为教师,蒸馏轻量MobileViT学生模型。
蒸馏ViTCNN
13
蒸馏中的温度与权重调节
掌握温度参数T与损失权重α对蒸馏效果的影响。
温度α
14
低秩分解技术
理解SVD分解与CP分解,将其应用于MobileViT的全连接层与卷积层。
SVDCP低秩
15
MobileViT中的低秩近似
对Transformer的QKV投影矩阵进行低秩分解,减少参数量。
QKV低秩近似
16
神经架构搜索(NAS)基础
了解NAS的搜索空间、搜索策略与评估方法。
NAS搜索空间
17
轻量架构搜索
使用NAS为MobileViT搜索更高效的模块配置,如减少通道数或层数。
轻量通道层数
18
混合精度训练
使用FP16与BF16训练MobileViT,减少显存占用并加速训练。
FP16BF16显存
19
算子融合与图优化
将相邻的卷积+BN+ReLU融合为一个算子,减少推理开销。
融合BNReLU
20
ONNX导出与优化
将MobileViT导出为ONNX格式,使用ONNX Runtime进行推理优化。
ONNXRuntime
21
TensorRT部署加速
使用TensorRT对MobileViT进行层融合与量化,实现端侧加速。
TensorRT层融合
22
TFLite与移动端部署
将MobileViT转换为TFLite格式,在Android/iOS上部署。
TFLiteAndroidiOS
23
NCNN与端侧推理
使用NCNN框架在ARM CPU上优化MobileViT推理。
NCNNARM
24
模型压缩工具链
介绍NNI、TinyNeurile、PocketFlow等工具,实现自动化压缩。
NNIPocketFlow
25
压缩后模型评估
从精度、参数量、FLOPs、推理延迟等维度全面评估压缩效果。
精度FLOPs延迟
26
精度-效率权衡分析
学习如何绘制Pareto前沿,选择最优的压缩配置。
Pareto权衡
27
MobileViT在边缘设备上的案例
展示在树莓派、Jetson Nano上的实际部署效果。
树莓派Jetson
28
常见问题与调试技巧
剪枝后精度骤降、量化后输出NaN等问题的排查与解决。
调试NaN精度
29
未来趋势与前沿技术
了解结构化稀疏、动态推理、硬件感知压缩等新方向。
稀疏动态推理
30
综合实战项目
从零开始对MobileViT进行剪枝+量化+蒸馏,输出最终轻量模型。
实战剪枝量化蒸馏