Post-Training Piecewise Linear Quantization for Deep Neural Networks

作者: 牛土豆

来源: 学术头条

发布日期: 2020-08-26

本文介绍了三星团队在ECCV 2020上提出的Post-Training Piecewise Linear Quantization(PWLQ)方法,该方法旨在提高深度神经网络在低精度量化后的模型精度。通过分析4-bit精度损失的原因,PWLQ通过分段线性量化显著提升了量化后模型的精度,并在多个模型和任务中展示了优越的性能。

ECCV 2020已经拉开帷幕!今天,小编要给大家分享的是来自三星团队的Oral Presentation:Post-Training Piecewise Linear Quantization for Deep Neural Networks。

作者为Jun Fang, Ali Shafiee, Hamzah Abdel-Aziz, David Thorsley, Georgios Georgiadis, Joseph Hassoun。

地址为https://www.aminer.cn/pub/5e3940be3a55ace46ed435b6?conf=eccv2020,代码地址为https://github.com/jun-fang/PWLQ。近年来深度神经网络在很多的问题中,通过加大模型的深度、宽度或分辨度,取得了越来越高的精度。

但与此同时也增加了模型的计算复杂度和内存需求,从而导致在资源有限的嵌入式设备上来部署这些模型应用变得更加困难。量化是一种非常实际有用的压缩和加速模型的方法。它通过转换模型的32位浮点(FP32)weights和activations到低精度的整数(比如INT8),从而通过整数运算来近似原始的浮点运算模型达到压缩和加速的效果。

然而在具体的实际应用中,Post-Training Quantization是非常重要的。因为它不需要重新训练模型的参数,所以节省了非常耗费资源的调参过程;同时它也不需要访问训练数据,从而保护了数据的隐私性。在Post-Training Quantization的研究工作中,Uniform Quantization是最受欢迎的方法。

众多研究表明,8-bit Uniform Quantization就可以保持大部分的模型精度,但是如果降到4-bit,精度会有非常显著的损失。此篇文章就是分析了4-bit精度损失的具体原因,并提出了他们的Piecewise Linear Quantization(PWLQ)的方法来显著的提高量化后模型的精度。

如下图所示,训练完的模型的weights的分布并不是平均分布,而是近似于高斯分布:绝大多数的weights都集中于中心地带,而少数的weights分散在稀疏的连边上。可想而知,Uniform Quantization对于这种分布的近似残差不是最优的。而PWLQ把分布区间分为没有重叠的center和tail两部分,每部分分配相同的量化格点数。

这样一来会导致中间部分的近似精度提高,而两边的近似精度下降,但因为绝大部分的weights都分布在中间部分,所以整体的近似精度还是会得到提高。接下来,问题的关键在于怎么找到最优的区分点(breakpoint),PWLQ是通过最小化这种分布的近似残差来得以选取。文章提供了具体的理论证明和下图的数值模拟:近似的残差是关于区分点的凹函数(Convex Function),所以这个最优区分点是唯一存在的。

为了加快Inference,文中提供了找到区分点的one-shot的公式。在数值实验中,如下图的三种模型Inception-v3,ResNet-50和MobileNet-v2在ImageNet的结果上,PWLQ比Uniform Quantization有着明显的更高精度。

尤其在4-bit MobileNet-v2的对比上,PWLQ有高出27.42%的精度,由此可见PWLQ有着更强大的representational power。同时文中也做出了PWLQ和其他state-of-the-art的方法对比。

如下图所示,在4/8的情况下,PWLQ比LBQ(ICCV 2019)和ACIQ(NeurIPS 2019)分别取得0.40%和7.96%的更高精度;在4/4的情况下,PWLQ获得更高精度的优势更加显著。与此同时,PWLQ不仅在classification的任务中取得好结果,在segmentation和detection任务上也得到了相似的好结果。

最后让笔者感到欣喜的是文中不仅仅有展示PWLQ取得更好精度的优势所在,同时也有真诚讨论PWLQ的不足之处。比如,PWLQ的具体硬件实现中会带来一定的额外消耗,下图是作者给出的关于硬件Latency和Energy的具体模拟参数来说明这些额外消耗是可以接受的。

UUID: 79d1f28c-c109-4d18-9034-8c7c6460f80f

原始文件名: /home/andie/dev/tudou/annot/AI语料库-20240917-V2/AI语料库/学术头条公众号-pdf2txt/学术头条2020年-下/2020-08-26_ECCV2020Post-TrainingQuantization.txt

是否为广告: 否

处理费用: 0.0037 元