模型量化综述
前言 模型量化作为模型压缩优化的一个常见方法,现有的工具链都非常成熟易用。但很少有人了解其原理与实现。 本文总结了一下常见的量化方法,量化算法,量化如何加速,以及量化算法的实现。 量化为什么能加速 首先普遍认为量化的加速原理是,数据规模变小了,所以计算就加速了。亦或者是整数运算会比浮点运算更快。 但是实际上现代硬件对于fp16和fp32,int32的计算速度是差不多的。 真正影响的是速度的主要原因是两个: 1. GPU的访存非常昂贵,量化会让计算数据变小,而相应的访存请求也降低了。 2. 量化结束之后,因为数据大小降低了,因此可以把多条指令进行合并一条进行处理(向量化计算)。在指令层降低了延迟。(包括取值,译码,执行,全都压缩了) 这里稍微回顾一下指令执行的大概流程。分别是,取指,译码,访存,执行,写回。可以看到基本每一个流程都被优化了。 量化方法 对称量化,非对称量化,整数量化 tensor量化,通道量化 待完善 量化算法 minmax kl entropy 待完善…