Skip to main content
QUICK REVIEW

[論文レビュー] NPAS: A Compiler-aware Framework of Unified Network Pruning and Architecture Search for Beyond Real-Time Mobile Acceleration

Zhengang Li, Geng Yuan|arXiv (Cornell University)|Dec 1, 2020
Advanced Neural Network Applications参考文献 77被引用数 5
ひとこと要約

NPASは、リアルタイムのモバイル推論を実現するため、構造的ニューラルネットワーク prune とニューラルアーキテクチャサーチ(NAS)を統合するコンパイラ認識フレームワークを提案する。微細な、レイヤーに依存しない prune と、コンパイラ最適化されたコード生成パイプライン、強化学習を用いた探索とベイズ最適化を統合することで、モバイル端末で3.9msのImageNet推論遅延と71%のTop-1精度を達成。これは、速度と精度の両面で先行研究を上回る。

ABSTRACT

With the increasing demand to efficiently deploy DNNs on mobile edge devices, it becomes much more important to reduce unnecessary computation and increase the execution speed. Prior methods towards this goal, including model compression and network architecture search (NAS), are largely performed independently and do not fully consider compiler-level optimizations which is a must-do for mobile acceleration. In this work, we first propose (i) a general category of fine-grained structured pruning applicable to various DNN layers, and (ii) a comprehensive, compiler automatic code generation framework supporting different DNNs and different pruning schemes, which bridge the gap of model compression and NAS. We further propose NPAS, a compiler-aware unified network pruning, and architecture search. To deal with large search space, we propose a meta-modeling procedure based on reinforcement learning with fast evaluation and Bayesian optimization, ensuring the total number of training epochs comparable with representative NAS frameworks. Our framework achieves 6.7ms, 5.9ms, 3.9ms ImageNet inference times with 78.2%, 75% (MobileNet-V3 level), and 71% (MobileNet-V2 level) Top-1 accuracy respectively on an off-the-shelf mobile phone, consistently outperforming prior work.

研究の動機と目的

  • モデル圧縮とNASのギャップを埋めるために、モバイル加速に向けた統合的かつコンパイラ認識最適化を可能にする。
  • 3×3畳み込みに限定されない、多様なDNNレイヤー(例:CONV、FC)に適用可能な汎用的で微細な構造的pruneスキームを開発する。
  • モバイルデバイスの厳密な遅延制約下で、最適なpruneスキームとネットワークアーキテクチャの共同探索を高速化する。
  • コンパイル段階のコード生成とハードウェア認識モデル圧縮を統合することで、エンドツーエンドのモバイル推論加速を実現する。
  • 実際のモバイルハードウェア上で、モデルの精度と推論遅延のPareto最適なトレードオフを達成する。

提案手法

  • 異なるカーネルサイズのCONVレイヤーに対してブロックパンチングpruneを、FCレイヤーに対してブロックベースのpruneを提案し、多様なDNNレイヤーにわたる微細で構造的なスパarsityを実現する。
  • 複数のDNNアーキテクチャとpruneスキームをサポートする統合的かつコンパイラベースの自動コード生成フレームワークを構築し、モバイルCPUおよびGPUでの効率的推論を可能にする。
  • 3段階のNPASフレームワークを導入する:(1) モバイル非効率な演算の置き換え、(2) メタモデルに基づく強化学習探索と高速評価、ベイズ最適化による探索コスト削減、(3) 大きさ、ADMM、幾何学的中央値法を用いたpruneアルゴリズム探索。
  • ターゲットモバイルデバイス(Samsung Galaxy S10)上で、1回の推論遅延測定を実行し、実際の遅延制約下で探索をガイドするため、高速な1回のprunedモデル再訓練(2エポック)を採用する。
  • Phase 3では、事前学習済みモデルと知識蒸留を活用し、prune中に精度を維持する。pruneに100エポック、微調整に100エポックを割り当てている。
  • 実際の推論遅延をモバイルハードウェア上で測定する高速な自動チューニングコンパイラを活用し、探索中のリアルなパフォーマンス評価を保証する。

実験結果

リサーチクエスチョン

  • RQ1統合的フレームワークは、モバイル加速に向けたコンパイラレベルの最適化を認識しながら、構造的pruneとNASを効果的に統合できるか?
  • RQ2微細でレイヤーに依存しない構造的pruneは、従来の粗い粒度または3×3に限定されたアプローチを上回る、モデル精度とハードウェア効率を向上させられるか?
  • RQ3モバイルの厳密な遅延制約下で、pruneとアーキテクチャ探索の探索空間をどのように効率的に探索できるか?
  • RQ4コンパイラ認識最適化は、モデル精度を損なわずに推論遅延をどれほど短縮できるか?
  • RQ5メタモデルに基づく強化学習とベイズ最適化を組み合わせたアプローチは、標準的なNASと同等の探索効率を達成しつつ、高い精度を維持できるか?

主な発見

  • NPASは、Samsung Galaxy S10モバイル端末で3.9msのImageNet推論遅延と71%のTop-1精度を達成し、先行するNASおよびprune手法を上回った。
  • モバイルGPUでは、75%のTop-1精度で5.9msの遅延を達成(MobileNet-V3レベル)、71%のTop-1精度で3.9msの遅延を達成(MobileNet-V2レベル)。
  • コンパイラ最適化のみで、MNNと比較してモバイルGPU上で最大141%の高速化を達成し、コード生成の影響を実証した。
  • ベースラインモデルと比較して、NPASはモデル計算量(MACs)を最大50%まで削減しながら、遅延制約下でも精度を維持または向上させた。
  • EfficientNet-B0では、全体の探索時間が15GPU日まで短縮され、Phase 1はわずか5エポック、Phase 3は1.5日で完了した。これは高速評価とベイズ最適化のおかげである。
  • NPASは、CPUおよびGPUの両方でMNN、PyTorch Mobile、TFLiteを常に上回る精度-遅延トレードオフのPareto最適性を達成した。

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

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

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

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