[论文解读] An Efficient Hardware Accelerator for Structured Sparse Convolutional Neural Networks on FPGAs
该论文提出了一种用于FPGA上结构化稀疏卷积神经网络的硬件加速器,采用一种跳过零权乘加操作的稀疏粒度数据流,并通过零门控技术降低能耗。该设计在Xilinx ZCU102上实现了AlexNet每秒987张图像、VGG-16每秒48张图像的性能,相比以往FPGA加速器,速度提升达1.5×至6.7×,能效提升达2.0×至6.2×。
Deep Convolutional Neural Networks (CNNs) have achieved state-of-the-art performance in a wide range of applications. However, deeper CNN models, which are usually computation consuming, are widely required for complex Artificial Intelligence (AI) tasks. Though recent research progress on network compression such as pruning has emerged as a promising direction to mitigate computational burden, existing accelerators are still prevented from completely utilizing the benefits of leveraging sparsity owing to the irregularity caused by pruning. On the other hand, Field-Programmable Gate Arrays (FPGAs) have been regarded as a promising hardware platform for CNN inference acceleration. However, most existing FPGA accelerators focus on dense CNN and cannot address the irregularity problem. In this paper, we propose a sparse wise dataflow to skip the cycles of processing Multiply-and-Accumulates (MACs) with zero weights and exploit data statistics to minimize energy through zeros gating to avoid unnecessary computations. The proposed sparse wise dataflow leads to a low bandwidth requirement and a high data sharing. Then we design an FPGA accelerator containing a Vector Generator Module (VGM) which can match the index between sparse weights and input activations according to the proposed dataflow. Experimental results demonstrate that our implementation can achieve 987 imag/s and 48 imag/s performance for AlexNet and VGG-16 on Xilinx ZCU102, respectively, which provides 1.5x to 6.7x speedup and 2.0x to 6.2x energy-efficiency over previous CNN FPGA accelerators.
研究动机与目标
- 解决现有FPGA加速器在处理剪枝CNN带来的非规则稀疏性时的低效问题。
- 通过利用结构化稀疏性,克服密集CNN加速器在稀疏推理中的局限性。
- 通过零门控技术最小化能耗,并通过稀疏计算中的数据共享减少带宽需求。
- 设计一种灵活且高资源利用率的加速器,可适应不同大小的CNN模型与不同的稀疏模式。
- 通过数据流优化与硬件感知稀疏性,实现在FPGA上高性能与高能效。
提出的方法
- 提出一种稀疏粒度数据流,可跳过零权乘加操作,避免坐标重建的开销。
- 引入向量生成模块(VGM),利用所提出的数据流高效映射稀疏权重与输入激活。
- 实现零门控逻辑,当输入激活为零时禁用未使用的处理元素(PE),降低动态功耗。
- 采用8位定点量化,使每次DDR访问的数据吞吐量翻倍,提升资源利用率。
- 设计可配置大小的PE阵列(例如48×28个PE),在计算强度与片上内存限制之间取得平衡。
- 应用屋顶模型(roofline modeling)以识别峰值性能与能效的最优配置。
实验结果
研究问题
- RQ1如何设计一种数据流,以高效处理CNN中的结构化稀疏性,同时避免非规则性带来的开销?
- RQ2哪些架构技术可最小化FPGA上稀疏CNN推理的能耗?
- RQ3与现有FPGA加速器相比,所提出的数据流在性能与能效方面表现如何?
- RQ4通过数据流与量化优化,资源利用率与吞吐量可提升到何种程度?
- RQ5在FPGA上实现高性能与高能效时,PE阵列大小与字宽的最优配置是什么?
主要发现
- 所提出的加速器在Xilinx ZCU102上实现结构化稀疏AlexNet每秒987张图像,相比以往FPGA加速器速度提升达1.5×至6.7×。
- 对于VGG-16,实现每秒48张图像,相比以往工作实现2.2×至2.3×的速度提升与3.4×至6.2×的能效增益。
- 采用8位量化后,加速器实现每秒96张图像,相比密集与稀疏FPGA加速器分别实现4.4×至4.6×的速度提升与6.1×至11.2×的能效增益。
- 当使用8位运算时,峰值吞吐量达到1075.2 GOP/s,得益于每个PE使用两个DSP实现两个8×8乘法。
- 在48×28配置下,设计实现1344个PE,由于带宽与资源限制,AlexNet在超过8个PE后性能趋于平缓,VGG-16在超过16个PE后性能趋于平缓。
- 相比以往设计,采用8位数据后,逻辑单元效率提升近100倍,主要得益于LUT与多路选择器使用量的减少。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。