Skip to main content
QUICK REVIEW

[论文解读] Binary Complex Neural Network Acceleration on FPGA

Hongwu Peng, Shanglin Zhou|arXiv (Cornell University)|Aug 10, 2021
Neural Networks and Applications参考文献 26被引用 4
一句话总结

本文提出了一种面向二值复值神经网络(BCNN)的软硬件协同设计FPGA加速器,在Alveo U280平台上实现了超过5,800帧/秒的推理吞吐量。通过结合结构化剪枝与一种基于高层次综合的新型2D卷积加速器,该设计在保持高精度的同时,显著降低了模型尺寸和内存带宽需求,在ResNet-18上比GPU快1.58倍,在NIN-Net上快1.51倍。

ABSTRACT

Being able to learn from complex data with phase information is imperative for many signal processing applications. Today' s real-valued deep neural networks (DNNs) have shown efficiency in latent information analysis but fall short when applied to the complex domain. Deep complex networks (DCN), in contrast, can learn from complex data, but have high computational costs; therefore, they cannot satisfy the instant decision-making requirements of many deployable systems dealing with short observations or short signal bursts. Recent, Binarized Complex Neural Network (BCNN), which integrates DCNs with binarized neural networks (BNN), shows great potential in classifying complex data in real-time. In this paper, we propose a structural pruning based accelerator of BCNN, which is able to provide more than 5000 frames/s inference throughput on edge devices. The high performance comes from both the algorithm and hardware sides. On the algorithm side, we conduct structural pruning to the original BCNN models and obtain 20 $ imes$ pruning rates with negligible accuracy loss; on the hardware side, we propose a novel 2D convolution operation accelerator for the binary complex neural network. Experimental results show that the proposed design works with over 90% utilization and is able to achieve the inference throughput of 5882 frames/s and 4938 frames/s for complex NIN-Net and ResNet-18 using CIFAR-10 dataset and Alveo U280 Board.

研究动机与目标

  • 在资源受限的边缘设备上实现复值深度神经网络的实时推理。
  • 通过模型压缩与高效硬件映射相结合,降低大型DNN中的内存带宽与片上资源压力。
  • 基于结构化剪枝与定制卷积核架构,设计一种高吞吐量、低延迟的BCNN FPGA加速器。
  • 在CIFAR-10和ImageNet等真实数据集上评估所提BCNN加速器的性能与效率。

提出的方法

  • 采用代理拉格朗日松弛法(Surrogate Lagrangian Relaxation, SLR)对BCNN模型实施结构化剪枝,实现最高达20倍的剪枝率,且精度损失极小。
  • 使用直通估计器(Straight-Through Estimator, STE)对二值化权重进行量化,从而在硬件中实现高效的二值运算。
  • 设计了一种新型2D卷积加速器,以充分利用并行性并最小化流水线启动间隔,适用于二值复值运算。
  • 采用高层次综合(High-Level Synthesis, HLS)在Xilinx Alveo U280 FPGA上实现加速器,并通过资源调度策略最大化吞吐量。
  • 优化设计以最大化片上内存使用,避免片外内存访问瓶颈,充分利用高带宽与低延迟的片上存储。
  • 通过CIFAR-10和ImageNet数据集进行硬件评估,对比Alveo U280与RTX 6000 GPU的吞吐量与延迟性能。

实验结果

研究问题

  • RQ1结构化剪枝与二值量化相结合是否能在复值神经网络中实现高剪枝率,同时保持极小的精度损失?
  • RQ2如何设计基于FPGA的加速器,以最大化二值复值卷积运算的吞吐量与硬件利用率?
  • RQ3与基于GPU的实现相比,FPGA加速的BCNN在推理吞吐量与能效方面能带来多大的性能提升?
  • RQ4池化层选择(谱池化、平均池化、最大池化)对BCNN模型的精度与效率有何影响?
  • RQ5在大型BCNN模型中,如何最大限度地利用片上内存,以避免片外内存访问瓶颈?

主要发现

  • 所提出的BCNN加速器在Alveo U280 FPGA上对NIN-Net实现5,882帧/秒的吞吐量,对ResNet-18实现4,938帧/秒的吞吐量。
  • 该设计在CIFAR-10上对复值NIN-Net实现20倍模型压缩率,精度仅下降1.9%;对复值ResNet-18精度下降2.8%。
  • 与单个RTX 6000 GPU相比,FPGA实现分别在NIN-Net和ResNet-18上获得1.51倍和1.58倍的加速比。
  • 硬件利用率超过90%,LUTs为主要资源瓶颈,分别支持NIN-Net与ResNet-18的9个和8个并行核。
  • 平均池化在精度上优于谱池化与最大池化,且复杂度可接受,因此被选为最终模型的池化方式。
  • 在ImageNet上,复值ResNetE-18模型在原始形式下保持83.46%的top-5精度,剪枝后降至78.38%,剪枝+量化后为71.69%。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。