[論文レビュー] A Simple Method to Reduce Off-chip Memory Accesses on Convolutional Neural Networks
本稿では、畳み込みニューラルネットワーク用のニューラルプロセッシングユニット(NPUs)におけるオフチップメモリアクセスを大幅に削減する、シンプルでオンチップメモリに配慮したアルゴリズムを提案する。マルチブランチモジュール(例:Inceptionブロック)を検出することで、最適なオンチップメモリ再利用を実現するためのブランチの再順序化、および特徴マップバッファリングの知的管理を実施する。この手法により、サムスン社のNPUにおけるInception-V3に対して、データ量ベースで97.59%、アクセス回数ベースで50倍のオフチップメモリアクセス削減が達成された。
For convolutional neural networks, a simple algorithm to reduce off-chip memory accesses is proposed by maximally utilizing on-chip memory in a neural process unit. Especially, the algorithm provides an effective way to process a module which consists of multiple branches and a merge layer. For Inception-V3 on Samsung's NPU in Exynos, our evaluation shows that the proposed algorithm makes off-chip memory accesses reduced by 1/50, and accordingly achieves 97.59 % reduction in the amount of feature-map data to be transferred from/to off-chip memory.
研究の動機と目的
- オフチップメモリアクセスの最小化により、NPUsにおけるエネルギー消費の低減とリアルタイム性能の向上を図ること。
- モバイルNPUの展開において顕著な問題となる高帯域幅および高エネルギー消費のオフチップメモリを緩和すること。
- マルチブランチ畳み込みモジュールにおける特徴マップのストレージ管理を知的に制御することで、限られたオンチップSRAMの利用効率を最大化すること。
- 既存のNPUアーキテクチャおよび量子化済みネットワークと互換性を持つ、軽量でハードウェアに依存しないアルゴリズムの開発
提案手法
- グラフベースのネットワーク解釈を用いて、CNN内に存在するマルチブランチモジュール(例:Inceptionブロック)を検出する。長距離スキップ接続は無視する。
- 各ブランチの必要メモリ量に基づいてブランチを再順序化し、より大きなメモリ要件を早期に処理することで、オンチップSRAMの利用効率を最大化する。
- 複数の入力特徴マップ(MIFM)および複数の出力特徴マップ(MOFM)を、複数のモジュール間で再利用可能となるように割り当てる。これにより、重複するオフチップ転送を削減する。
- 2種類のブランチ処理戦略を採用する:ブランチ処理(I) はオンチップ再利用を目的とし、ブランチ処理(II) はオンチップ領域が不足した場合のオフチップアクセスを目的とする。
- サイズ基準を用いて判断する:必要メモリ量(size_req)が利用可能なメモリ量(size_avail)を上回る場合、オフチップアクセスが発動する。
- 重みおよび特徴マップを8ビット量子化済みと仮定し、ネットワークの精度や構造を変更せずに、主にメモリアクセスの削減に焦点を当てる。
実験結果
リサーチクエスチョン
- RQ1マルチブランチCNNモジュールにおいて、オンチップメモリ再利用を体系的に活用することで、オフチップメモリアクセスを削減できるか?
- RQ2ブランチの順序付けおよびメモリ割り当て戦略を最適化することで、NPUsにおけるオフチップデータ転送を最小限に抑える方法は何か?
- RQ3実世界のモデル(例:Inception-V3)において、モジュール間での特徴マップ再利用が、合計のオフチップメモリ帯域幅をどの程度削減できるか?
- RQ4モバイルNPUにおける限られたオンチップメモリ予算のもとで、オフチップメモリアクセスの最大削減率はどの程度達成可能か?
主な発見
- 提案手法により、Inception-V3における特徴マップのオフチップメモリアクセスが、データ量ベースで97.59%削減された。
- オフチップメモリアクセス回数は、平均して1モジュールあたり200回から4回へと50倍に削減された。
- メモリ制約のため、リダクション-aおよびInception-b1の2つのモジュールのみが残留オフチップアクセスを要し、それぞれ3回および1回のアクセスであった。
- Inception-V3の全11モジュールにおいて、合計のオフチップメモリアクセス量が47.14%削減された。
- 重みアクセスパターンに変更を加えず、メモリ管理に依存するのみで、特徴マップのデータ転送が効果的に削減された。
- 本手法はハードウェアに依存せず、8ビット量子化ネットワークと互換性があるため、オンチップSRAMが限られたモバイルNPUに適している。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。