量化
https://zhuanlan.zhihu.com/p/362033017
英伟达的ppt: 8-bit-inference-with-tensorrt
https://zhuanlan.zhihu.com/p/58182172
量化是数学运算与数字信号处理里广为使用的一种方法,它将一个大的集合种的输入数字映射到一个小的集合中的数字,这个小的集合一般是有限集。这样做可以带来两个好处:
- 减少内存消耗,增加数据吞吐量,可以用缓存机制存放更多中间结果,减少重复计算;
- 量化的结果可以被更快的处理,一般硬件会对量化的结果的运算做优化。
最常见的量化应用场景是通信里面对语音信号的处理,在打电话的过程中你的声音信号先被量化成8位的数字信号,经过传输到达对方后再被恢复成声音信号,其实它是一个有损的信息压缩方法。这也是为什么电话里面听到得声音与当面说话得声音有差异得原因,因为量化在一定程度上出现了信息的丢失。
训练后量化PTQ
post-training quantization,模型训练好之后再进行量化,这种方法一般对大模型效果不错,对小模型则效果比较差。
量化感知训练QAT
Quantization-aware training,在训练过程中对模型参数,inference与training使用的是量化过后的weights和activation,如下图所示。由于训练的loss能够反应了模型部署时的实际计算方式,所以效果一般会好过训练后量化,但训练方式变得更复杂。
Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference

问题:对数据库灵敏,泛化性差[IntraQ]
ZSQ
Zero-shot quantization
合成假图像,不需要训练数据