论文阅读(第四部分):Full Stack Optimization of Transformer Inference: a Survey
原文链接:https://arxiv.org/pdf/2302.14017.pdf
3 模型优化
3.1 量化
high-precision arithmetic is often unnecessary for inference
-
量化是一种压缩DNN模型的过程,通过用较低比特位,典型的(但并不必然)定点表示,如8比特整数( INT8 ),而不是32比特或16比特浮点数( FP32或FP16)来表示参数和/或激活
-
One obvious advantage of reduced precision is the reduction in memory consumption.
- For example, quantizing model weights from FP32 to INT8 leads to a 4× smaller model size
- 减少片外存储和带宽
- 量化激活进一步允许减少内存流量和中间部分结果的存储。
-
A second advantage of quantizing model weights and activations is the reduced size, latency, and energy consumption of the ALUs and the corresponding PEs
- 一般来说,浮点ALU在面积、延迟和能耗方面的效率往往低于整数ALU
- 这是因为浮点PE在执行一次乘法操作时,需要乘尾数,加指数,并使用指数进行左移得到最终结果,而定点PE只需要一个乘法单元
- modern GPUs and TPUs often contain INT8 processing paths
- 量化的另一个关键应用是在纯整数硬件上部署模型
- 一些面向低成本、低功耗嵌入式设备的边缘处理器,如ARM Cortex - M内核and GAP-8
- 在这些处理器上部署模型时,不仅需要对模型的权重和激活值进行量化,而且所有的计算都必须使用整数运算
- 否则,部署是不可能的,或者由于需要在片外处理非整数操作而导致相当大的开销。这将导致额外的延迟和数据传输到通用主机处理器的能量消耗
- integer-only quantization reduces the end-to-end inference latency by 39.6× on Gemmini.
- 一些面向低成本、低功耗嵌入式设备的边缘处理器,如ARM Cortex - M内核and GAP-8
- 量化方法大致可以分为均匀量化和非均匀量化,这取决于它们如何映射值。均匀量化将浮点域分割成均匀间隔的区间,并将每个区间映射为单一的固定点值。这可以从一个简单的算术规则中得到:
Q ( r ) = I n