Skip to main content
QUICK REVIEW

[論文レビュー] Cnvlutin2: Ineffectual-Activation-and-Weight-Free Deep Neural Network Computing

Patrick Judd, Alberto Delmás Lascorz|arXiv (Cornell University)|Apr 29, 2017
Adversarial Robustness in Machine Learning参考文献 4被引用数 33
ひとこと要約

Cnvlutin2は、コアハードウェアを変更せずに、メモリフェッチ時に動的検出と知的な符号化を用いて、無効な活性化関数と重みの計算を排除する深層ニューラルネットワークアクセラレータを提案する。これにより、メモリ容量とエネルギー消費を大幅に削減でき、重み状態信号のオーバーヘッドを最大256倍まで低減する。重みの状態を事前に計算することで、最小限の面積とエネルギーコストで効果的なプルーニング対応推論が可能になる。

ABSTRACT

We discuss several modifications and extensions over the previous proposed Cnvlutin (CNV) accelerator for convolutional and fully-connected layers of Deep Learning Network. We first describe different encodings of the activations that are deemed ineffectual. The encodings have different memory overhead and energy characteristics. We propose using a level of indirection when accessing activations from memory to reduce their memory footprint by storing only the effectual activations. We also present a modified organization that detects the activations that are deemed as ineffectual while fetching them from memory. This is different than the original design that instead detected them at the output of the preceding layer. Finally, we present an extended CNV that can also skip ineffectual weights.

研究の動機と目的

  • 値の内容に関係なくすべての活性化関数と重みを処理する従来のDNNアクセラレータの非効率性に対処する。
  • 効果的な活性化関数と重みのみを符号化することで、DNN推論におけるメモリ保存領域とエネルギー消費オーバーヘッドを低減する。
  • メモリフェッチ時に無効な活性化関数をランタイムで検出することで、保存およびアクセスコストを排除する。
  • CNVアーキテクチャを拡張し、無効な活性化関数と無効な重みを含む計算をスキップできるようにする。
  • コア実行ユニットを変更せずに、ディスpatcherとリダクサのみを変更することで、既存のハードウェアと互換性を維持する。

提案手法

  • 元のCNVの(活性化関数, オフセット)形式と比較して、無効な活性化関数のメモリおよびエネルギーオーバーヘッドを低減する複数の符号化方式を導入する。
  • 明示的なフラグを保存する必要がないため、ロード中に無効な活性化関数を即座に特定するメモリフェッチレベルの検出メカニズムを提案する。
  • 間接的アドレッシングを用いることで、無効でない活性化関数のみをメモリに保存し、ゼロまたは近似ゼロの値の保存を排除することで、メモリ容量を削減する。
  • アクティベーション効果性(Iベクトル)と重み効果性(ISベクトル)を組み合わせたディスパッチャー論理を拡張し、計算をスキップできるかどうかを判断する。
  • フィルタごとのISベクトルの積を事前に計算することで、1ブリックあたりの信号伝送オーバーヘッドを16ビットから1ビット/16ブリックに削減する。
  • ブール論理条件を用いる: Can_Skip = (すべてのfについてIS_f=0) AND (I=0)、ここでIはアクティベーション効果性ベクトル、IS_fはフィルタfの重み効果性である。

実験結果

リサーチクエスチョン

  • RQ1検出精度を損なわずに、無効な活性化関数の符号化にかかるメモリ保存領域とエネルギー消費オーバーヘッドをどのように最小化できるか?
  • RQ2無効な活性化関数の検出をメモリフェッチ段階で行えるか?これにより、保存およびアクセスコストを排除できるか?
  • RQ3間接アドレッシングを用いて効果的な活性化関数のみを保存することで、どの程度メモリ容量を削減できるか?
  • RQ4CNVのパフォーマンスおよびエネルギー効率を、プルーニング対応の無効な重みのスキップを含むように拡張できるか?
  • RQ5タイル内の複数のフィルタにわたり重み効果性を事前に計算することで、信号伝送オーバーヘッドはどの程度低減できるか?

主な発見

  • 提案された符号化方式により、元のCNVの(活性化関数, オフセット)形式と比較して、無効な活性化関数の表現にかかるメモリおよびエネルギーオーバーヘッドが低減した。
  • メモリフェッチ段階での無効な活性化関数の検出は、明示的なフラグを保存しないため、追加のメモリ保存領域やアクセスコストを発生させない。
  • 間接アドレッシングを用いて効果的な活性化関数のみを保存することで、ゼロまたは近似ゼロの値の保存を排除し、メモリ容量が削減された。
  • ISベクトルの積の事前計算により、重み状態の信号伝送オーバーヘッドが元のブリックサイズの1/16から1/256にまで低減され、256倍のオーバーヘッド低減が達成された。
  • 無効な活性化関数と重みの両方をスキップできるように拡張することで、特に同時に処理されるフィルタ数が少ない構成において、追加の計算コスト削減が可能になった。
  • コア実行ユニットを変更せずにディスパッチャーとリダクサのみを変更することで、既存のハードウェアと完全に互換性を保った。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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