参考论文:https://arxiv.org/abs/2111.12293
前言
将传统的PTQ策略(文章以对称均匀量化为例)直接应用于Vision Transformer,通常会导致较大的精度损失,例如实施8bits量化时,预测精度损失可能超过1%,主要原因在于,Post-Softmax与Post-GELU输出激活的数据分布是偏离高斯分布的:
- 首先在Self-Attention模块中,Softmax计算输出的Attention map呈现对角线聚焦分布、体现出严重的不平衡分布(unbalanced distribution),大多数数值趋近于零;为了有效量化少数的较大数值,需要计算得到较大的Scaling factor,但会导致量化分辨率的不足,因而较小数值的量化效果会变差(直接量化为整数零),并产生较大的量化误差;
- GELU输出激活呈现非对称分布,正数区间较大、负数区间较小,直接应用对称量化(完全一致的量化参数)、容易导致较差的量化效果。因此采用非对称或非均匀量化是一种策略,而文章提出了Twin Uniform量化策略,在所划分的不同区间内,分开、独立实施均匀量化(不