边缘AI部署中模型量化技术
解释边缘AI部署中的模型量化技术,包括PTQ和QAT两种量化方式的原理与选择。
回答
小字辈
模型量化:将FP32参数/激活映射到INT8/INT4,减少模型大小和计算量,提升推理速度。
两种主要方式:
1. PTQ (Post-Training Quantization, 训练后量化):
- 不重新训练,直接量化
- 步骤:
- 准备少量校准数据集(几百张图)
- 前向收集激活值分布
- 计算最佳缩放因子(Scale)和零点(Zero Point)
- 校准方法:
- MinMax:简单,但易受异常值影响
- Entropy(KL散度):最小化量化前后信息损失
- MSE:最小化平方误差
- 精度损失:大模型(<1%),小模型(2-5%)
2. QAT (Quantization-Aware Training, 量化感知训练):
- 在训练中模拟量化误差(Fake Quantization)
QAT(x) = round(clamp(x/scale) + zero_point)但STE(Straight-Through Estimator)保留梯度- 优点:精度损失<1%,接近FP32
- 缺点:需重新训练,训练时间+30%
选择建议:
- 大模型(>100M参数) → PTQ足够,精度损失微小
- 小模型/对精度敏感 → QAT
- 快速原型 → PTQ
- 产品部署 → PTQ优先,精度不足再QAT
工具:TensorRT (INT8)、ONNX Runtime量化、TFLite量化、NNCF(OpenVINO)、PyTorch FX量化。