量化模型的特征
从training和inference模型是否一致来看,可细分为:
- post training quantization。在训练时不做quantization,inference时将所有需要quantization的地方做量化。这种做法往往对accuracy损失较大
- quantization aware training。 在训练时做quantization,但对quantization的地方要同时保留原有精度,以便于梯度更新。在inference时只保留量化后的结果。这种做法效果往往要好于第一种。
- training与inference时模型一致。这种做法目前只见过一例(WAGE)。需要保证梯度更新时能直接更新在量化后的weights上。
从quantization的精度来看,可细分为:
- 二值化
- 三值化
- bit-shifts。用两个整数来记录任何一种精度。其中一个整数是 2 n 2^{n} 2n的指数位,另一个是扩大 2 n 2^{n} 2n倍的浮点数的整数位Int。然后用 I n t 2 n \frac {Int}{2^{n}} 2nInt来表征任何一种精度
从quantization的映射情况看,可细分为:
- 映射后与映射前相对大小关系不变。映射前a>b,映射后:q(a)>q(b)。这里a