[論文レビュー] SCNN: An Accelerator for Compressed-sparse Convolutional Neural Networks
SCNNは、重みと活性化の圧縮スパース表現と PT-IS-CP-sparse データフローを用いて、密なアクセラレータに対して大幅な速度とエネルギーの改善を実現する CNN 推論アクセラレータである。64個のPEと1024個の乗算器を搭載し、オンチップデータ再利用と疎計算を強調する。
Convolutional Neural Networks (CNNs) have emerged as a fundamental technology for machine learning. High performance and extreme energy efficiency are critical for deployments of CNNs in a wide range of situations, especially mobile platforms such as autonomous vehicles, cameras, and electronic personal assistants. This paper introduces the Sparse CNN (SCNN) accelerator architecture, which improves performance and energy efficiency by exploiting the zero-valued weights that stem from network pruning during training and zero-valued activations that arise from the common ReLU operator applied during inference. Specifically, SCNN employs a novel dataflow that enables maintaining the sparse weights and activations in a compressed encoding, which eliminates unnecessary data transfers and reduces storage requirements. Furthermore, the SCNN dataflow facilitates efficient delivery of those weights and activations to the multiplier array, where they are extensively reused. In addition, the accumulation of multiplication products are performed in a novel accumulator array. Our results show that on contemporary neural networks, SCNN can improve both performance and energy by a factor of 2.7x and 2.3x, respectively, over a comparably provisioned dense CNN accelerator.
研究の動機と目的
- 効率的なCNN推論を、ウェイトプルーニングと活性化のスパース性を活用して動機づけ、実現する。
- スパースデータを圧縮形式のままオンチップで再利用するデータフローとハードウェアアーキテクチャを開発する。
- データ移動を最小化し、ゼロオペランドとの乗算を回避する。
- 同等のリソース下で、密結合設計と比較してスループット、エネルギー、面積の観点でスパースCNNアクセラレータを評価する。
提案手法
- 圧縮スパースブロックの重みと活性化に対して動作する PT-IS-CP-sparse データフローを導入する。
- Cartesian-product乗算器アレイを用いて、すべての非ゼロ対の積を計算する。
- 分散アキュムレータネットワークを用いて、正しい座標で部分和を合計する。
- IARAM/OARAMと分散アキュムレータバンクアレイを備えたオンチップメモリ階層を構築し、データを局所に保つ。
- 出力を圧縮スパース形式で表現し、ホロー処理と層シーケンスを適用してPE間のタイル処理を管理する。
- denseとsparseアーキテクチャを比較するための周期レベルのシミュレーションと解析モデリング(TimeLoop)を提供する。
実験結果
リサーチクエスチョン
- RQ1ウェイトと活性化のスパース性を活用することは、専門のアクセラレータ上のCNN推論の性能とエネルギーにどう影響するか?
- RQ2ウェイト、入力、出力の圧縮スパース表現を最も効果的に活用するデータフローとハードウェア設計は何か?
- RQ3同等のリソース下で、スパースCNNアクセラレータの面積、速度、エネルギーのトレードオフは密設計と比べてどうか?
- RQ4AlexNet、GoogLeNetのような一般的なネットワークで、圧縮表現を用いてすべての活性化をオンチップに収められるか?
- RQ5ホロー/タイル戦略は、スパースCNN加速のスケーラビリティとエネルギー効率にどのように影響するか?
主な発見
- 64-P E SCNN構成で1024個の乗算器を搭載するとピークスループットが約2テラオペに達する。
- SCNNは、同等のリソースで提供された密結合CNNアクセラレータと比較して約2.7倍の速度向上と約2.3倍のエネルギー削減を実現する。
- 活性化とウェイトのスパース性は、圧縮スパース表現とPT-IS-CP-sparseデータフローを介して活用され、不要な乗算を排除する。
- SCNN設計は1MBのオンチップ活性化RAM(IARAM+OARAM)を使用し、分散バンクアレイ全体で部分和を蓄積してスパース計算をサポートする。
- 単一のSCNN PEの面積は約0.123 mm^2で、完全な64-PEアクセラレータは約7.9 mm^2と推定され、主にメモリ要件によって推進される。
- このアーキテクチャはTimeLoop分析と周期レベルシミュレータを通じたパフォーマンス/電力推定のためのタイル処理とDRAMアクセスエネルギー計算をサポートする。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。