[論文レビュー] A Unified Optimization Approach for CNN Model Inference on Integrated GPUs
本論文は、Intel、ARM、NVIDIAのエッジプラットフォームにおける統合GPU上で効率的なCNN推論を実現する統合最適化フレームワークを提示する。ドメイン特化型の中間表現(IR)と機械学習に基づくスケジューリングを用い、ビジョン固有の演算子を高速化することで、ベンダーオプティマイズドライブラリ比最大1.62倍の高速化を達成するとともに、より広範なモデルカバレッジを実現し、互換性を保つためにCPUバックアップを提供する。
Modern deep learning applications urge to push the model inference taking place at the edge devices for multiple reasons such as achieving shorter latency, relieving the burden of the network connecting to the cloud, and protecting user privacy. The Convolutional Neural Network (\emph{CNN}) is one of the most widely used model family in the applications. Given the high computational complexity of the CNN models, it is favorable to execute them on the integrated GPUs at the edge devices, which are ubiquitous and have more power and better energy efficiency than the accompanying CPUs. However, programming on integrated GPUs efficiently is challenging due to the variety of their architectures and programming interfaces. This paper proposes an end-to-end solution to execute CNN model inference on the integrated GPUs at the edge, which uses a unified IR to represent and optimize vision-specific operators on integrated GPUs from multiple vendors, as well as leverages machine learning-based scheduling search schemes to optimize computationally-intensive operators like convolution. Our solution even provides a fallback mechanism for operators not suitable or convenient to run on GPUs. The evaluation results suggest that compared to state-of-the-art solutions backed up by the vendor-provided high-performance libraries on Intel Graphics, ARM Mali GPU, and Nvidia integrated Maxwell GPU, our solution achieves similar, or even better (up to 1.62$ imes$), performance on a number of popular image classification and object detection models. In addition, our solution has a wider model coverage and is more flexible to embrace new models. Our solution has been adopted in production services in AWS and is open-sourced.
研究の動機と目的
- アーキテクチャの非一様性とポータブル最適化の欠如による、エッジデバイスにおける統合GPU上での非効率的かつ非ポータブルなGPU推論の課題に対処すること。
- 従来は最適化が不十分だったりCPUにオフロードされがちなビジョン固有の演算子を、統合GPU上で高パフォーマンスで実行可能にする。
- 手動での低レベルカーネルチューニングを回避することで、開発者の負担を軽減し、多様なSoCプラットフォームにおけるパフォーマンスチューニングを自動化すること。
- GPU実行に不適切な演算子に対してはフォールバック機構を提供し、広範なモデル互換性を確保すること。
- モデルのポータビリティと拡張性を維持しつつ、ベンダーオプティマイズドライブラリと同等またはそれ以上のパフォーマンスを達成すること。
提案手法
- 統合された中間表現(IR)により、ビジョン固有の演算子を抽象化し、異なるGPUベンダ(CUDAおよびOpenCL)向けのコード生成を可能にする。
- グラフレベルおよびテンソルレベルで機械学習に基づくスケジューリングを適用し、最適な実行計画を探索することで、手動チューニングの負担を低減する。
- NMS や ROIAlign など、制御が複雑な演算子に対して特別な最適化を実装し、これらがGPU上で非効率になりがちな問題を解消する。
- GPUで実行できない、または非効率な演算子は、同じSoC上のCPUにルーティングするフォールバック機構を備えることで、互換性とパフォーマンスを確保する。
- Halideをインspiredとしたコンパイラー型パイプラインを基盤とし、統合GPUの独自の特性を適切に処理できるように拡張する。
- 強化学習またはベイズ最適化を用いて、パフォーマンスチューニングを自動化し、効率的なスレッドおよびメモリレイアウトの探索を実現する。
実験結果
リサーチクエスチョン
- RQ1複雑な制御論理を有するビジョン固有の演算子を、異種アーキテクチャにまたがる統合GPU上でどのように効率的に実行できるか?
- RQ2統合されたIRと自動スケジューリング戦略により、多様な統合GPU上でベンダーオプティマイズドライブラリと同等のパフォーマンスを達成できるか?
- RQ3自動化された機械学習駆動のスケジューリングが、エッジCNN推論における推論遅延およびエネルギー効率に与える影響は何か?
- RQ4統合されたフレームワークは、多様なSoCプラットフォームで高いパフォーマンスを維持しつつ、幅広い人気のあるCNNモデルをサポートできるか?
- RQ5GPUへのフォールバックが、パフォーマンスを犠牲にせずに、モデルカバレッジとデプロイの柔軟性をどの程度向上できるか?
主な発見
- 提示されたフレームワークは、Intel、ARM、NVIDIAの統合GPU上で、ベンダーオプティマイズドライブラリ(例:cuDNN、ACL、clDNN)比最大1.62倍の高速化を達成した。
- ResNet、SSD、YOLOを含む複数の画像分類および物体検出モデルにおいて、最新のソリューションと同等またはそれ以上のパフォーマンスを示した。
- NMS や ROIAlign といったビジョン固有の演算子を含む、従来の解決策ではカバーされにくいモデルをより広くサポートした。
- 機械学習に基づくスケジューリングの活用により、手動チューニングの必要性が顕著に低減され、多様なエッジプラットフォームへの迅速なデプロイが可能になった。
- フォールバック機構により、GPUアクセラレーションが不可能な場合でもすべての演算子を効率的に実行可能となり、モデルのポータビリティが向上した。
- 本ソリューションはAWSで本番環境にデプロイされており、オープンソース化されており、実世界での実用性とスケーラビリティを実証した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。