📘 量化感知训练 · 边缘部署
🎯 30章实战
QAT
01
量化基础
对称/非对称
什么是模型量化、为什么需要量化、量化的数学原理
02
量化类型
PTQ vs QAT
Post-Training Quantization 与 Quantization-Aware Training 对比
03
QAT核心原理
FakeQuant
伪量化节点作用、前向与反向传播中的梯度近似
04
环境搭建
PyTorch/ONNX/TensorRT
PyTorch 量化工具包安装、ONNX Runtime 与 TensorRT 环境配置
05
数据校准
KL散度/MSE
Calibration数据集的选择、KL散度与MSE校准方法
06
PTQ实战
静态/动态量化
使用PyTorch进行静态量化与动态量化
07
QAT实战
FakeQuant微调
在PyTorch中插入FakeQuant节点、训练与微调量化模型
08
BN融合
BatchNorm+卷积
Batch Normalization与卷积层的融合技术及其在量化中的重要性
09
量化粒度
Per-tensor/Channel/Group
Per-tensor vs Per-channel 量化、Per-group 量化详解
10
精度调试
敏感层回退
量化后精度下降原因分析、敏感层定位与回退策略
11
硬件适配
CPU/GPU/NPU/DSP
不同硬件对量化算子的支持差异
12
ONNX量化
ONNX Runtime
使用ONNX Runtime进行模型量化与推理优化
13
TensorRT量化
INT8 Calibration
TensorRT中的INT8量化、Calibration与Entropy Calibrator
14
TFLite量化
FP16/INT8/动态
TensorFlow Lite的量化方案(FP16、INT8、动态范围量化)
15
NCNN量化
部署工具链
NCNN框架下的量化部署流程与工具链
16
OpenVINO量化
POT工具
Intel OpenVINO的量化工具(Post-Training Optimization Tool)
17
模型导出
ONNX/TensorRT/TFLite
将QAT模型导出为ONNX/TensorRT/TFLite格式的注意事项
18
边缘设备选型
Jetson/RK3588/树莓派
Jetson Nano、RK3588、树莓派、手机端等设备的算力与内存分析
19
推理引擎对比
ORT/TensorRT/TFLite/NCNN/MNN
ONNX Runtime、TensorRT、TFLite、NCNN、MNN的性能基准测试
20
内存优化
内存池/共享内存
量化模型的内存占用计算、内存池与共享内存技术
21
算子优化
INT8 GEMM / Winograd
量化算子的手工实现(INT8 GEMM、量化卷积)、Winograd算法
22
多线程部署
Pipeline并行
边缘设备上的多线程推理、Pipeline并行与异步处理
23
功耗优化
DVFS
量化模型在边缘设备上的功耗测试与动态电压频率调整
24
端侧部署实战
Android/iOS
在Android/iOS设备上部署量化模型(MediaPipe/NNAPI)
25
嵌入式部署
STM32/ESP32
在STM32/ESP32等MCU上部署TFLite Micro模型
26
模型加密
加密与混淆
量化模型的加密与混淆技术、防止模型被窃取
27
OTA更新
热更新/版本管理
边缘设备的模型热更新与版本管理策略
28
监控与日志
性能监控/告警
边缘设备上的推理日志、性能监控与异常告警
29
案例实战1
MobileNetV3 + Jetson
图像分类模型MobileNetV3的QAT训练与Jetson Nano部署
30
案例实战2
YOLOv5s + RK3588
目标检测模型YOLOv5s的INT8量化与RK3588部署