目录
2.5 Per-Tensor and Per-Channel
1. 介绍
本文介绍了量化的基本概念和实践应用:
- 映射函数:将浮点值映射到整数空间,常用的映射函数是线性变换。
- 量化参数:包括比例因子 ( S ) 和零点 ( Z ),用于确定输入数据的范围和偏移。
- 校准:确定量化过程中所需的缩放因子和零点,常用方法包括 MaxMin、Percentile、Entropy、MSE 和 Diffs。
- 对称与非对称量化:对称量化无需计算零点偏移,而非对称量化则需要。
- Per-Tensor 和 Per-Channel:Per-Tensor 使用相同的量化参数,而 Per-Channel 则为每个通道使用不同的量化参数。
- PTQ(训练后静态量化):适用于大型模型,通过模块融合和定期校准来减少量化误差。
- QAT(量化感知训练):通过在训练过程中模拟量化误差来提高小型模型的量化精度。
- 敏感性分析:确定哪些层对量化最敏感,并保留这些层的 FP32 精度。
- 退火学习率:通过动态调整学习率来帮助模型更好地收敛。
2. 基本概念
2.1 映射函数
映射函数是一个将值从浮点映射到整数空间的函数。
常用的映射函数是线性变换,由下式给出:
其中,r是输入,S和Z是量化参数。
可以将量化后的模型重新转换为浮点空间,反函数由下式给出:
,它们的差值构成了量化误差。
2.2 量化参数
映射函数有两个参数:比例因子 S 和零点 Z。
比例因子 S