1. 基础科普:
- FP32可表示的数值范围为 -3.4 * 10^38 ~ 3.4 * 10^38。
- INT8可表示的数值范围为 -128 ~ 127。(即8bit)
- INT4可表示的数值范围为 -8 ~ 7。(即4bit)
2. 量化方法分类:
- 精度分:8bit量化,4bit量化, 16bit量化。
- 根据缩放系数能否覆盖网络数据和参数范围分:饱和量化(需要),非饱和量化。
- 根据零点是否为0分:对称量化,非对称量化。
- 按是否需要数据集和训练分:动态离线量化,静态离线量化,量化感知训练。(1)动态离线量化:无需样本数据,对模型的参数在推理前进行量化。该方法依赖最少,量化的效果一般,量化的加速效果弱一些。(2)静态离线量化:在预测前使用量化校准集进行模型激活值分布的统计,确定激活层的量化参数。(3)量化感知训练:在训练的过程中网络模拟量化的效果进行参数更新和优化,量化的效果最好,部署预测无速度损失,训练过程需要进行改变。