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
ひとこと要約

本稿では、Alveo U280 プラットフォーム上で1秒間に5,800フレームを超える推論スループットを達成する、ハードウェア・ソフトウェア共同設計されたFPGAアクセラレータを、バイナリ複素数ニューラルネットワーク(BCNN)向けに提案する。構造的プルーニングと高水準合成を用いた新規2次元畳み込みアクセラレータを組み合わせることで、モデルサイズとメモリ帯域幅を低減しつつ高い精度を維持し、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におけるメモリ帯域幅とオンチップリソースの負荷を軽減すること。
  • 構造的プルーニングとカスタム畳み込みカーネルアーキテクチャを用いて、高スループットかつ低遅延なFPGAアクセラレータをBCNN向けに設計すること。
  • CIFAR-10 や ImageNet などの実世界のデータセットを用いて、提案されたBCNNアクセラレータの性能と効率を評価すること。

提案手法

  • Surrogate Lagrangian Relaxation (SLR) を用いてBCNNモデルに構造的プルーニングを適用し、最小限の精度損失で最大20倍のプルーニング率を達成する。
  • バイナリ化された重みはStraight-Through Estimator (STE) を用いて量子化され、ハードウェアでの効率的なバイナリ演算を可能にする。
  • バイナリ複素数演算に最適化された、並列処理を活用しパイプライン開始間隔を最小限に抑える新規2次元畳み込みアクセラレータを設計する。
  • Xilinx Alveo U280 FPGA 上にアクセラレータを実装するためにHigh-Level Synthesis (HLS) を使用し、スループットを最大化するリソーススケジューリングを実施する。
  • オフチップメモリのボトルネックを回避するため、オンチップメモリ使用を最適化し、高いオンチップ帯域幅と低遅延を活用する。
  • CIFAR-10 および ImageNet データセットを用いてハードウェア評価を実施し、Alveo U280 とRTX 6000 GPU の両方でスループットと遅延を測定して比較する。

実験結果

リサーチクエスチョン

  • RQ1構造的プルーニングとバイナリ量子化を組み合わせることで、精度の低下を最小限に抑えつつ複素数値ニューラルネットワークにおける高圧縮率を達成できるか?
  • RQ2FPGAベースのアクセラレータは、バイナリ複素数畳み込み演算においてスループットとハードウェア利用率を最大化するために、どのようにアーキテクチャ設計すべきか?
  • RQ3推論スループットとエネルギー効率の観点から、FPGAアクセラレータを用いたBCNNはGPUベースの実装に比べてどの程度の性能向上を達成できるか?
  • RQ4プーリング層の選択(スペクトル、平均、最大)がBCNNモデルの精度と効率にどのように影響するか?
  • RQ5大規模BCNNモデルにおいて、オフチップメモリアクセスのボトルネックを回避するために、オンチップメモリの利用をどの程度まで最大化できるか?

主な発見

  • 提案されたBCNNアクセラレータは、Alveo U280 FPGA 上でNIN-Netに対して1秒間に5,882フレーム、ResNet-18に対して1秒間に4,938フレームのスループットを達成する。
  • モデル圧縮率は20倍に達し、CIFAR-10 における複素数NIN-Netでは1.9%の精度低下、複素数ResNet-18では2.8%の精度低下にとどまる。
  • FPGA実装は、NIN-Netでは1.51倍、ResNet-18では1.58倍のスピードアップを、単一のRTX 6000 GPUに比べて達成する。
  • ハードウェア利用率は90%以上に達し、LUTが主なリソースボトルネックとなっており、NIN-Netでは9、ResNet-18では8つの並列カーネルを実現できる。
  • 平均プーリングは、スペクトルプーリングや最大プーリングに比べて精度が高く、許容できる複雑さであるため、最終モデルで採用された。
  • ImageNet では、複素数ResNetE-18モデルは元の形で83.46%のtop-5精度を維持し、プルーニング後は78.38%、プルーニング+量子化後は71.69%の精度を示した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。