什么是模型量化
模型量化的优点
量化技术落地的三大挑战
量化原理
浮点与定点数据的转化公式如下:
矩阵运算的量化
Quantize,Dequantize,Requantize算子
假设模型已经量化好,即模型算子已经转换为int类型算子(如下图的Conv2D)。在模型推理阶段,需要在计算图中插入Quantize,Dequantize,Requantize3种算子。
3种算子的计算过程如下,其中的scale,offset是在推理前已经计算好的。
- 
    float -> int  
- 
    int -> float  
- 
    int32 -> int8  
动态训练后量化(Post-Training Quantization Dynamic, PTQ Dynamic)
不需要重新进行训练或者是标签数据,仅将模型中特定算子的权重从FP32类型映射成INT8/16类型。因此这是一种轻量化的量化方法。在大多数情况下PTQ Dynamic使用8bit量化时可以接近浮点模型的精度。
量化感知训练(Quantization Aware Training, QAT)
让模型感知量化运算对模型精度带来的影响,通过finetune训练降低量化误差。
QAT算法流程:
静态训练后量化(Post-Training Quantization Static, PTQ Static)
使用少量无标签较准数据,采用KL散度等方法计算量化比例因子。

 
 
        
      




























