Skip to main content
QUICK REVIEW

[論文レビュー] IOS: Inter-Operator Scheduler for CNN Acceleration

Yaoyao Ding, Ligeng Zhu|arXiv (Cornell University)|Nov 2, 2020
Advanced Neural Network Applications参考文献 23被引用数 5
ひとこと要約

IOSは、複数の段階にわたるCNN演算子の並列実行を最適化する動的計画法に基づくインターオペレータスケジューリングを提案する。これにより、GPUの利用効率と推論性能が顕著に向上し、TensorRTなどの最先端のライブラリよりも1.1倍から1.5倍の高速化を達成する。これは、さまざまなハードウェアおよびバッチサイズにおいて、イントラオペレータおよびインターオペレータ並列化を統合的に活用することで実現される。

ABSTRACT

To accelerate CNN inference, existing deep learning frameworks focus on optimizing intra-operator parallelization. However, a single operator can no longer fully utilize the available parallelism given the rapid advances in high-performance hardware, resulting in a large gap between the peak performance and the real performance. This performance gap is more severe under smaller batch sizes. In this work, we extensively study the parallelism between operators and propose Inter-Operator Scheduler (IOS) to automatically schedule multiple operators' parallel execution through a novel dynamic programming algorithm. IOS consistently outperforms state-of-the-art libraries (e.g., TensorRT) by 1.1 to 1.5x on modern CNN benchmarks. The code to reproduce each experiment is available at: https://github.com/mit-han-lab/inter-operator-scheduler.

研究の動機と目的

  • ピークハードウェア性能と実世界のCNN推論効率の間の性能ギャップが拡大する状況に対処すること、特に小バッチサイズ下での性能低下を解消すること。
  • 既存のイントラオペレータ並列化最適化の限界を克服し、現代の高性能ハードウェアを十分に活用できるようにすること。
  • CNNレイヤー全体にわたるインターオペレータ並列化を調整するグローバルに最適なスケジューリング戦略を開発すること。グリーディーやヒューリスティックな手法による部分最適解を避けること。
  • バッチサイズやデバイスの能力に応じて適応可能なハードウェアに配慮したスケジューラーを構築し、一貫した性能向上を実現すること。
  • TVMのような既存の自動チューニングフレームワークと比較して、最適化コストを低減しつつ、優れたスループットを達成すること。

提案手法

  • IOSは、複数段階にわたるGPU利用効率を最大化する最適な実行順序を求めるために、インターオペレータスケジューリング問題を動的計画法のタスクとして定式化する。
  • 計算グラフを有向無閉路グラフ(DAG)としてモデル化し、演算子をノード、データ依存関係をエッジとする。状態遷移関数を用いて実行可能なスケジュールを探索する。
  • サブスケジュールを再帰的に評価し、ハードウェア制約下で遅延を最小化または利用効率を最大化するスケジュールを選択することで、最適なスケジュールを計算する。
  • cuDNNなどの既存のディープラーニングライブラリと統合し、インフラオペレータ並列化の最適化に依存する。最適化のオーバーヘッドを低減するため、主にインターオペレータの調整に焦点を当てる。
  • 実行段階のプロファイリングにより、メモリ帯域幅や共有リソースの競合(例:L3キャッシュ)といったハードウェア固有のボトルネックを考慮する。
  • 異なるバッチサイズに応じた動的適応を可能にするために、各バッチサイズごとに個別の最適スケジュールを生成し、推論ワークロード全体にわたる一貫性のあるパフォーマンス向上を実現する。

実験結果

リサーチクエスチョン

  • RQ1動的計画法に基づくスケジューラーは、ヒューリスティックまたはグリーディーなスケジューリングと比較して、CNN推論においてより高いGPU利用効率を達成できるか?
  • RQ2インフラオペレータ並列化が不十分な状況下でも、インターオペレータスケジューリングはさまざまなバッチサイズにおいて性能にどのように影響を与えるか?
  • RQ3TensorRT や TVM などの最先端のライブラリと比較して、インターオペレータスケジューリングはどれほどスループットを向上させられるか?
  • RQ4インターオペレータスケジューリングにおける最適化の計算コストと得られる性能向上のトレードオフはどの程度か?
  • RQ5高並列実行環境におけるリソース競合やメモリアクセスボトルネックに対し、スケジューラーはどのように対処するか?

主な発見

  • IOSは、Inception V3、SqueezeNet、NASNetを含む複数の最新のCNNベンチマークで、TensorRTなどの最先端のライブラリを上回り、1.1倍から1.5倍の高速化を達成する。
  • バッチサイズ1から128の全範囲で、ベースラインを常に上回る性能を発揮し、特にインターオペレータ並列化が最も重要となる低バッチサイズで最大の向上が観察された。
  • バッチサイズ1では、バッチサイズ32用に最適化されたスケジュールよりもIOSで最適化されたスケジュールが28%高速であることが判明し、バッチに依存したスケジューリングの重要性を示している。
  • IOSは最適化コストをわずか3 GPU時間にまで低減したが、TVMの208 GPU時間と比較して、Inception V3およびSqueezeNetの両方で性能を上回った。
  • インフラオペレータ並列化とインターオペレータ並列化は直交的かつ補完的であり、IOSはインターオペレータスケジューリングに焦点を当て、TVMはインフラオペレータカーネルの最適化に注力しているため、両者の統合的最適化によりさらなる向上が期待できる。
  • スケジュール内で演算子fとgをマージすることで、中間活性化の削除によりメモリアクセスを削減できるが、計算量は増加する。この効果は、大規模バッチサイズでメモリボトルネックが顕著になる状況では有益である。

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

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

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

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