Skip to main content
QUICK REVIEW

[論文レビュー] TVM: End-to-End Optimization Stack for Deep Learning

Tianqi Chen, Thierry Moreau|arXiv (Cornell University)|Feb 12, 2018
Parallel Computing and Optimization Techniques参考文献 12被引用数 118
ひとこと要約

TVM は、モバイルデバイス、組み込みシステム、FPGA や ASIC などのアクセラレータを含む多様なハードウェアバックエンドにわたるパフォーマンスポータブルなディープラーニング推論を可能にするエンドツーエンドの最適化スタックである。グラフレベルおよびオペレータレベルの最適化、例えばオペレータの統合、メモリ再利用、効率的なメモリ遅延隠蔽を介して、オープンソースのコンパイラインfrastrucureを活用して競争力のあるパフォーマンスを達成する。

ABSTRACT

Scalable frameworks, such as TensorFlow, MXNet, Caffe, and PyTorch drive the current popularity and utility of deep learning. However, these frameworks are optimized for a narrow range of server-class GPUs and deploying workloads to other platforms such as mobile phones, embedded devices, and specialized accelerators (e.g., FPGAs, ASICs) requires laborious manual effort. We propose TVM, an end-to-end optimization stack that exposes graph-level and operator-level optimizations to provide performance portability to deep learning workloads across diverse hardware back-ends. We discuss the optimization challenges specific to deep learning that TVM solves: high-level operator fusion, low-level memory reuse across threads, mapping to arbitrary hardware primitives, and memory latency hiding. Experimental results demonstrate that TVM delivers performance across hardware back-ends that are competitive with state-of-the-art libraries for low-power CPU and server-class GPUs. We also demonstrate TVM's ability to target new hardware accelerator back-ends by targeting an FPGA-based generic deep learning accelerator. The compiler infrastructure is open sourced.

研究の動機と目的

  • 異種のハードウェアプラットフォームにおけるディープラーニングフレームワークのパフォーマンスポータビリティの欠如に対処すること。
  • モバイルや組み込みデバイスなどの非サーバーGPUにディープラーニングモデルをデプロイするために必要な手作業の作業量を減らすこと。
  • FPGA や ASIC などの専用アクセラレータ向けに、ディープラーニングワークロードの効率的なコンパイルと最適化を可能にすること。
  • メモリ再利用やスレッドレベルの並列処理といった低レベルの最適化を露呈することで、多様なバックエンドでのパフォーマンス向上を実現すること。
  • 高レベルのグラフ統合と低レベルのハードウェアマッピングを両方サポートする統一的かつ拡張可能なコンパイラスタックを提供すること。

提案手法

  • カーネル起動オーバーヘッドの低減とデータ局所性の向上を図るため、オペレータ統合を通じてグラフレベルの最適化を提供する。
  • スレッドブロック間でのメモリ再利用といった低レベルの最適化を適用し、メモリ帯域幅の圧力を最小限に抑える。
  • ディープラーニングオペレータを効率的な低レベルコード生成にマッピングすることで、任意のハードウェアプリミティブをサポートする。
  • 異種アーキテクチャにおいて、計算とメモリアクセスを重ねて実行するメモリ遅延隠蔽技術を実装する。
  • 異なるハードウェアバックエンド向けにプラグイン可能なコード生成を可能にするモジュラで拡張可能なコンパイラスタックを採用する。
  • エンドツーエンドのコンパilationを可能にするために、既存のディープラーニングフレームワークとの統合を図るフロントエンドインタフェースを統合する。

実験結果

リサーチクエスチョン

  • RQ1モバイルCPUや専用アクセラレータを含む多様なハードウェアバックエンドにわたるディープラーニングワークロードを、どのように効率的にコンパイルおよび最適化できるか?
  • RQ2低消費電力および組み込みデバイスでの高いパフォーマンスを達成するために、最も効果的な最適化技法は何か?
  • RQ3統一されたコンパイラスタックは、サーバークラスGPUと低消費電力CPUの両方で、手作業最適化されたライブラリと同等のパフォーマンスを達成できるか?
  • RQ4FPGAベースのディープラーニングアクセラレータのような新しいハードウェアアクセラレータをターゲットにする場合、このシステムの有効性はどの程度か?
  • RQ5グラフレベルおよびオペレータレベルの最適化は、異種プラットフォーム間でのパフォーマンスポータビリティを実現するために、どのように機能するか?

主な発見

  • TVM は、低消費電力CPUおよびサーバークラスGPUにおいて、最先端の手作業最適化ライブラリと同等のパフォーマンスを達成している。
  • このシステムは、FPGAベースの汎用ディープラーニングアクセラレータを効果的にターゲットとしており、新規ハードウェアへの拡張性を示している。
  • TVM はオペレータ統合とメモリ再利用を通じて顕著なパフォーマンス向上を実現し、メモリ帯域幅のボトルネックを軽減している。
  • TVM におけるメモリ遅延隠蔽技術は、遅延制限アーキテクチャにおけるコンピューティングリソースの利用効率を向上させている。
  • オープンソースのコンパイラインfrastrucureにより、多様なハードウェアプラットフォームでのディープラーニングモデルの迅速なプロトタイピングとデプロイメントが可能になっている。
  • TVM のエンドツーエンド最適化スタックにより、異なるハードウェアバックエンドにおける手動チューニングの必要性が著しく減少している。

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

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

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

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