[論文レビュー] Efficient Memory Management for Deep Neural Net Inference
本論文は、深層ニューラルネットワークの推論における実行時メモリ使用量を最小限に抑えるために、中間テンソル間でメモリバッファを知的に再利用する5つの新規メモリ管理戦略を提案する。テンソルの使用期間をモデル化し、グリーディーでサイズおよび幅に配慮した割り当てを、ストリップパッキングヒューリスティクスを用いて適用することで、最先端の手法と比較して最大11%のメモリ使用量削減を達成し、多数のモデルで理論的下限に近い性能を実現する。
While deep neural net inference was considered a task for servers only, latest advances in technology allow the task of inference to be moved to mobile and embedded devices, desired for various reasons ranging from latency to privacy. These devices are not only limited by their compute power and battery, but also by their inferior physical memory and cache, and thus, an efficient memory manager becomes a crucial component for deep neural net inference at the edge. We explore various strategies to smartly share memory buffers among intermediate tensors in deep neural nets. Employing these can result in up to 11% smaller memory footprint than the state of the art.
研究の動機と目的
- モバイルおよび組み込みデバイスにおける深層ニューラルネットワーク推論のための限られた物理的メモリおよびキャッシュの課題に対処する。
- 推論の正しさやパフォーマンスに影響を与えることなく、深層ニューラルネットワークの中間テンソルのメモリ使用量を削減する。
- 使用期間が重複しないテンソル間でメモリバッファを再利用することにより、推論エンジンのメモリ割り当てを最適化する。
- 効率的なメモリレイアウトとバッファ共有を通じて、キャッシュミート率を向上させ、推論速度を向上させる。
- リソース制約のあるシステムで実行時に探索可能な、実用的で計算が高速な戦略を提供する。
提案手法
- 計算グラフのトポロジカル順序から得られる {first_op, last_op, size} のテンソル使用記録を用いて中間テンソルをモデル化する。
- 使用期間を [first_op, last_op] として定義し、重複しないテンソルを特定してメモリを共有可能にする。
- テンソルのサイズ(最大から)および重なり数(重複する期間の数)に基づくグリーディー戦略を適用し、バッファ再利用の優先順位を決定する。
- 2次元ビンパッキング問題の変種としてのメモリ割り当て問題を解くために、ストリップパッキングヒューリスティクス(例:Bestfit)を用いる。
- GPUテクスチャ向けの「共有オブジェクト」と、CPUメモリプール向けの「オフセット計算」という2つの異なる割り当てアプローチを導入する。
- 実行時に戦略を評価し、最適な構成を選択する。ほとんどのモデルで数ミリ秒未塔のオーバーヘッドとなる。
実験結果
リサーチクエスチョン
- RQ1深層ニューラルネットワークの中間テンソルのメモリバッファを、合計メモリ使用量を最小限に抑えるために、どのように効率的に再利用できるか。
- RQ2テンソルのサイズと使用期間が事前に分かっている場合、共有メモリバッファを割り当てるために最も効果的なヒューリスティクスは何か。
- RQ3メモリ再利用戦略は、ナイーブな割り当てや先行研究と比較して、どれほどメモリ消費量を削減できるか。
- RQ4グリーディーでサイズに応じた戦略やストリップパッキングなど、異なる割り当て戦略は、メモリ効率および実行時パフォーマンスの観点でどのように比較できるか。
- RQ5提案された戦略は、多様なニューラルネットワークアーキテクチャにおいて、理論的下限に近いメモリ使用量を達成できるか。
主な発見
- グリーディー by Size Improved 戦略は、評価されたすべてのモデルで、先行する最先端手法と比較して最大11%の低いメモリ消費量を達成した。
- 共有オブジェクトアプローチにおいて、グリーディー by Size Improved は MobileNet v1、PoseNet、BlazeFace で理論的下限に達した。
- オフセット計算アプローチにおいて、グリーディー by Size は DeepLab v3 を除くすべてのモデルで理論的下限に達した。DeepLab v3 では、下限から8%以内の性能を示した。
- 提案された戦略は、ナイーブな割り当てと比較して最大10.5倍、ストリップパッキング Bestfit よりも最大7.7%低いメモリ使用量を実現した。
- メモリ再利用によりキャッシュミート率が向上し、一部のケースでは最大10%の高速化が達成された。
- これらの戦略は実行時に探索可能であり(数ミリ秒)、実装可能なオンデバイスデプロイメントに適している。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。