[論文レビュー] Sparse Systolic Tensor Array for Efficient CNN Hardware Acceleration
本稿では、モバイルデバイスにおける効率的なINT8 CNN推論を実現するため、可変密度バインドブロック(VDBB)スパarsity技術と再利用最適化されたスタティカルテンソルアレイ(STA)マイクロアーキテクチャを組み合わせた手法を提案する。VDBB方式を時間的にアンロールし、ハードウェア実装されたIM2COL変換を統合することで、87.5%のスパarsityにおいて最大55.7 TOPS/Wの性能を達成し、従来のスパースCNNアクセラレータを著しく上回る。また、多様なスパarsityレベルにおいても高いハードウェア利用率を維持する。
Convolutional neural network (CNN) inference on mobile devices demands efficient hardware acceleration of low-precision (INT8) general matrix multiplication (GEMM). Exploiting data sparsity is a common approach to further accelerate GEMM for CNN inference, and in particular, structural sparsity has the advantages of predictable load balancing and very low index overhead. In this paper, we address a key architectural challenge with structural sparsity: how to provide support for a range of sparsity levels while maintaining high utilization of the hardware. We describe a time unrolled formulation of variable density-bound block (VDBB) sparsity that allows for a configurable number of non-zero elements per block, at constant utilization. We then describe a systolic array microarchitecture that implements this scheme, with two data reuse optimizations. Firstly, we increase reuse in both operands and partial products by increasing the number of MACs per PE. Secondly, we introduce a novel approach of moving the IM2COL transform into the hardware, which allows us to achieve a 3x data bandwidth expansion just before the operands are consumed by the datapath, reducing the SRAM power consumption. The optimizations for weight sparsity, activation sparsity and data reuse are all interrelated and therefore the optimal combination is not obvious. Therefore, we perform an design space evaluation to find the pareto-optimal design characteristics. The resulting design achieves 16.8 TOPS/W in 16nm with modest 50% model sparsity and scales with model sparsity up to 55.7TOPS/W at 87.5%. As well as successfully demonstrating the variable DBB technique, this result significantly outperforms previously reported sparse CNN accelerators.
研究の動機と目的
- 固定スパarsityのDBBアクセラレータには、スパarsityレベルが異なる多様なCNNモデルにスケーリングできないという限界があることに対処すること。
- INT8 GEMMワークロードにおける構造的スパarsityの可変スパarsity比をサポートする際、高いハードウェア利用率とエネルギー効率を維持すること。
- データバンド幅を3倍に拡張することでSRAMの電力消費を低減する、ハードウェア最適化されたIM2COL変換により、SRAMの電力消費を削減すること。
- スタティカルアレイアーキテクチャにおいて、重みのスパarsity、活性化のスパarsity、およびデータ再利用を共同最適化し、スループットとエネルギー効率を最大化すること。
- 16nmモバイルSoCへの展開を想定し、設計空間を評価し、パレート最適な設定を同定すること。
提案手法
- ブロックあたりの非ゼロ要素数を設定可能な時間的にアンロールされたVDBB定式化を提案し、12.5%から100%までの全スパarsityレベルを、利用効率の低下なしにサポート可能にする。
- 処理素子あたりのMAC数をスケーリングすることで、オペランドおよび部分積の再利用を増加させるテンソルPE(TPE)を備えたスタティカルテンソルアレイ(STA)を設計する。
- データ消費直前にオンチップで変換を実行するハードウェア遅延IM2COLユニットを導入し、有効バンド幅を3倍に拡張することでSRAMの電力消費を削減する。
- 活性化のスパarsityにクロックガーディングを適用することで、負荷バランスを損なわず、電力消費を削減する。
- データ再利用、スパarsityサポート、ハードウェアリソース配分を共同最適化するための包括的な設計空間探索を実施する。
- 16nmプロセス技術を用いて、性能、エネルギー効率(TOPS/W)、面積効率を、さまざまなモデルスパarsityレベルで評価する。
実験結果
リサーチクエスチョン
- RQ1ハードウェアアクセラレータは、利用効率やエネルギー効率を損なわずに、構造的スパarsity(DBB)における可変スパarsityレベルをどのようにサポートできるか?
- RQ2INT8 GEMM向けに、スパーススタティカルアレイで高いデータ再利用と有効バンド幅拡張を実現するためのアーキテクチャ的技術は何か?
- RQ3データパスにIM2COL変換を統合することで、スパースCNNアクセラレータにおけるSRAM電力消費をどのように低減できるか?
- RQ4モバイルCNN推論用のスパーススタティカルアレイにおいて、再利用、スパarsityサポート、ハードウェアコストの最適なトレードオフは何か?
- RQ5可変DBBスパarsityは、固定スパarsityまたはランダムスパースアクセラレータと比較して、エネルギー効率をどの程度向上できるか?
主な発見
- 提案されたVDBBアーキテクチャは、12.5%から100%までの全スパarsityレベルをサポートし、多様なCNNモデルにおいて一貫した性能向上を実現する。
- テンソルPEを備えた再利用最適化STAは、50%のモデルスパarsityで16.8 TOPS/W、87.5%のスパarsityで55.7 TOPS/Wの性能を16nmプロセスで達成する。
- ハードウェア実装されたIM2COLユニットにより、有効バンド幅が3倍に拡張され、オフチップバンド幅を増加させることなくSRAMの電力消費が削減される。
- SMT-SAやKang [21]を含む、従来のスパースCNNアクセラレータよりもエネルギー効率とスループットの両面で優れた性能を発揮する。
- 設計空間評価により、モバイル展開に適したスパarsityサポート、再利用、面積コストのバランスが取れたパレート最適な設定が同定された。
- 時間的にアンロールされたVDBB、強化されたデータ再利用、およびオンチップIM2COL変換の組み合わせにより、固定スパarsityおよびランダムスパースと比較して顕著な性能およびエネルギー効率の優位性が得られた。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。