模型量化(Model Quantization)

Tensorflow Model Quantization

Quantizing deep convolutional networks for efficient inference: A whitepaper

推理加速库:GEMMLOWP , Intel MKL-DNN , ARM CMSIS , Qualcomm SNPE , Nvidia TensorRT

降低模型复杂度的方法->降低权重和激活输出的精度要求-----int8,int16量化

1.优点

    无需重训练 几乎不会有精度损失 模型尺寸更小。fp32->int8,模型理论减小4倍。 计算更快,大部分处理器8bit数据处理更快。 功耗更低。 更少的内存和缓存由于激活输出->更低精度的权重和激活输出有利于缓存更好的重用???

2.量化设计(Quantizer Design)

2.1 Uniform Affine Quantizer(映射量化)

尺度指定了量化的步长,浮点型0映射到零点。零点是一个整型数,确保0没有量化误差。

quantization operation,

(1) (2)

尺度,z零点, round四舍五入,clamp取值范围0,N。

de-quantization operation,

(3)

2.2 Uniform symmetric quantizer(对称量化)-> 即z=0

quantization operation,

(4)

(5) or

(6)

de-quantization operation,

(7)


Pytorch Model Quantization

int8 quantization operation,

(8)

(9)

(10)

(11)

de-quantization operation,

(12)

经验分享 程序员 微信小程序 职场和发展