Skip to main content
QUICK REVIEW

[論文レビュー] On-Device Neural Net Inference with Mobile GPUs

Ju Hyun Lee, Nikolay Chirkov|arXiv (Cornell University)|Jul 3, 2019
Advanced Neural Network Applications参考文献 10被引用数 58
ひとこと要約

本論文は、AndroidのOpenGL ESとiOSのMetalを用いて、モバイルGPU上でのリアルタイムのオンデバイスニューラルネット推論を実現する TensorFlow Lite GPUバックエンドを提案し、CPUより2–9倍の推論速度を達成するとともに、GPUに適したネットワーク設計とメモリ管理戦略を詳述します。

ABSTRACT

On-device inference of machine learning models for mobile phones is desirable due to its lower latency and increased privacy. Running such a compute-intensive task solely on the mobile CPU, however, can be difficult due to limited computing power, thermal constraints, and energy consumption. App developers and researchers have begun exploiting hardware accelerators to overcome these challenges. Recently, device manufacturers are adding neural processing units into high-end phones for on-device inference, but these account for only a small fraction of hand-held devices. In this paper, we present how we leverage the mobile GPU, a ubiquitous hardware accelerator on virtually every phone, to run inference of deep neural networks in real-time for both Android and iOS devices. By describing our architecture, we also discuss how to design networks that are mobile GPU-friendly. Our state-of-the-art mobile GPU inference engine is integrated into the open-source project TensorFlow Lite and publicly available at https://tensorflow.org/lite.

研究の動機と目的

  • リアルタイムのニューラルネット推論を、AndroidおよびiOSデバイス上で実現する。
  • OpenGL ES 3.1+とMetal 9+に対応するGPUバックエンドをTensorFlow Liteに統合し、デバイス間で動作させる。
  • GPUに適したデータレイアウトとシェーダレベルの最適化を提案し、スループットを最大化する。

提案手法

  • TFLite GPUバックエンドのアーキテクチャとデリゲートベースのグラフ分割を説明する。
  • Compute Shadersを用いてニューラルネットワーク演算を実装し、操作のフュージョンでシェーダ数を削減する。
  • モバイルGPU上でのメモリアクセスとキャッシュ利用を最適化するためにPHWC4テンソルレイアウトを採用する。
  • GreedyおよびMinimum-Cost Flowアプローチを用いた中間テンソルのメモリ管理戦略を実装し、ピークGPUメモリを最小化する。
  • デバイスごとおよび演算タイプごとに作業グループサイズを調整し、計算とメモリ効率のバランスを取る。

実験結果

リサーチクエスチョン

  • RQ1モバイルGPUバックエンドは、TensorFlow Liteを使用して一般的なモバイルデバイス上でリアルタイムまたは準リアルタイム推論を提供できるか。
  • RQ2モバイルGPU上でメモリIOと計算利用を最適化するデータレイアウトとシェーダ戦略は何か。
  • RQ3オンデバイス推論中にGPUメモリフットプリントを最小化するため、中間テンソルはどのように管理すべきか。
  • RQ4代表的なネットワークとデバイスに対するCPU推論と比較した場合、GPUバックエンドのレイテンシへの影響はどの程度か。

主な発見

  • GPUバックエンドは、さまざまなネットワークに対してCPU推論より平均で2–9×の高速化を達成した。
  • PHWC4メモリレイアウトはテンソルを4チャネルのグループに整列させることでキャッシュミスを減少させ、GPUスレッドのメモリ共鳴を改善する。
  • GPU専用の最適化パイプラインには、要素ごとの演算とより重い演算の融合、定数のインライン化、アーキテクチャに合わせたシェーダの特殊化が含まれる。
  • 中間テンソルのメモリ管理戦略(GreedyまたはMinimum-Cost Flow)はピークGPUメモリを大きく削減する。例えばTable 3に示すメモリフットプリントの削減がある。
  • 作業グループの最適サイズはGPUによって異なる。Adrenoでは調整による大幅な利得を示し、Maliは変更に対して堅牢性が高い。推奨サイズの実用的な表が提供される(Table 2)。
  • TFLite GPUはデバイス全体で妥当なカバレッジと性能を示し、iOSデバイスは大きなキャッシュとOpenGL対OpenCLバックエンドの利点を享受する。

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

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

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

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