[论文解读] Efficient non-uniform quantizer for quantized neural network targeting reconfigurable hardware
本文提出了一种针对可重构FPGA的硬件高效非均匀量化器,用于量化神经网络,采用单尺度整数表示法对权重和激活值进行表示。通过使用正态累积分布函数(CDF)实现非均匀量化,并对残差模块进行修改以保持动态范围,该方法在CIFAR-10和CIFAR-100数据集上实现了接近理想的精度,3-4位量化下表现优异,支持FPGA上的纯整数运算推理。
Convolutional Neural Networks (CNN) has become more popular choice for various tasks such as computer vision, speech recognition and natural language processing. Thanks to their large computational capability and throughput, GPUs ,which are not power efficient and therefore does not suit low power systems such as mobile devices, are the most common platform for both training and inferencing tasks. Recent studies has shown that FPGAs can provide a good alternative to GPUs as a CNN accelerator, due to their re-configurable nature, low power and small latency. In order for FPGA-based accelerators outperform GPUs in inference task, both the parameters of the network and the activations must be quantized. While most works use uniform quantizers for both parameters and activations, it is not always the optimal one, and a non-uniform quantizer need to be considered. In this work we introduce a custom hardware-friendly approach to implement non-uniform quantizers. In addition, we use a single scale integer representation of both parameters and activations, for both training and inference. The combined method yields a hardware efficient non-uniform quantizer, fit for real-time applications. We have tested our method on CIFAR-10 and CIFAR-100 image classification datasets with ResNet-18 and VGG-like architectures, and saw little degradation in accuracy.
研究动机与目标
- 设计一种兼具硬件效率与适用于可重构FPGA加速器的非均匀量化器。
- 解决低精度神经网络中均匀量化方法的局限性,特别是在极端位宽约束下保持模型精度的挑战。
- 通过使用单一比例因子将权重和激活值均表示为定点整数,实现纯整数运算推理。
- 对残差模块架构进行修改,以维持动态范围并防止量化过程中的精度下降。
- 在CIFAR-10和CIFAR-100数据集上,基于ResNet-18与类似VGG的网络结构,在3–4位低精度量化下评估该方法,实现最小精度损失。
提出的方法
- 采用基于正态CDF的非均匀量化器对网络参数和激活值进行处理,替代均匀量化,以更好地匹配激活值与权重的实际分布。
- 对权重和激活值均采用单尺度整数表示,支持仅使用整数运算的高效硬件映射。
- 重构残差模块结构,使激活函数在残差连接之前应用,从而保持动态范围并避免残差路径的饱和。
- 采用渐进式量化训练方案,从网络首层到末层逐步进行量化,确保训练稳定收敛,防止模型发散。
- 将量化过程集成到训练流程中,反向传播使用全精度权重副本,而前向传播则使用量化后的值。
- 完全避免浮点运算,依赖位移操作与整数运算,实现高效的FPGA硬件部署。
实验结果
研究问题
- RQ1基于正态CDF的非均匀量化器是否能在FPGA部署的低比特DNN中,相比均匀量化提升精度?
- RQ2如何在保持模型精度的前提下,有效将纯整数运算应用于权重和激活值?
- RQ3在纯整数量化下,为保持残差网络的动态范围,需要进行哪些架构修改?
- RQ4与均匀量化相比,该方法在FPGA上能将硬件资源使用量降低多少?
- RQ5该方法是否能在CIFAR-10和CIFAR-100等标准图像分类基准上,以3–4位精度实现接近理想精度?
主要发现
- 在CIFAR-10上,ResNet-18使用4位权重和激活值,Top-1精度达到93.45%,仅比全精度基线(93.76%)低0.31个百分点。
- 在CIFAR-100上,ResNet-18使用4位量化,Top-1精度达到71.71%,相比32位基线(73.95%)仅下降2.24个百分点。
- 类似VGG的网络结构在量化下表现出略高的精度下降,3位权重和激活值在CIFAR-100上达到63.1%的精度,较32位基线下降4.0个百分点。
- 经修改的残差模块设计成功保持了残差路径的动态范围,有效防止了低精度设置下的饱和导致的精度下降。
- 该方法实现了完全的纯整数推理,无需任何浮点运算,显著降低了FPGA上的硬件资源占用,并提升了能效。
- 结果表明,基于正态CDF的非均匀量化在3–4位精度下仍能有效保持模型精度,尤其在具有跳跃连接的残差网络中表现优异。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。