Skip to main content
QUICK REVIEW

[論文レビュー] MobiRNN: Efficient Recurrent Neural Network Execution on Mobile GPU

Qingqing Cao, Niranjan Balasubramanian|arXiv (Cornell University)|Jun 3, 2017
Context-Aware Activity Recognition Systems参考文献 8被引用数 10
ひとこと要約

MobiRNN は、Android の RenderScript ランタイムを使用して、スマートフォン上の GPU に効率的に RNN 推論をオフロードするモバイル最適化フレームワークです。アクティビティ認識用 RNN では、CPU 僅用実行と比較して 4 倍以上の遅延低減を達成しており、モバイルハードウェアでは性能が低下するデスクトップ GPU オフロード技術を上回っています。

ABSTRACT

In this paper, we explore optimizations to run Recurrent Neural Network (RNN) models locally on mobile devices. RNN models are widely used for Natural Language Processing, Machine Translation, and other tasks. However, existing mobile applications that use RNN models do so on the cloud. To address privacy and efficiency concerns, we show how RNN models can be run locally on mobile devices. Existing work on porting deep learning models to mobile devices focus on Convolution Neural Networks (CNNs) and cannot be applied directly to RNN models. In response, we present MobiRNN, a mobile-specific optimization framework that implements GPU offloading specifically for mobile GPUs. Evaluations using an RNN model for activity recognition shows that MobiRNN does significantly decrease the latency of running RNN models on phones.

研究の動機と目的

  • プライバシー制約や接続性の制限により、モバイルデバイス上で効率的なオンデバイス RNN 推論が不足している問題を解決すること。
  • 順序依存性のため RNN に一般化できない、既存の CNN 最適化モバイルディープラーニングフレームワークの制限を克服すること。
  • コア数やメモリが限られたモバイル GPU でも効率的に動作する、モバイル固有の GPU オフロードソリューションを設計すること。
  • 実際のモバイルデバイス上で、モデルの複雑さや GPU ワークロードの変動に応じた GPU オフロードのパフォーマンスを評価すること。
  • モバイルプラットフォームに効率的に RNN をデプロイできる実用的でオープンソースのフレームワークを提供すること。

提案手法

  • MobiRNN は、Android の RenderScript ランタイムを活用し、手動での並列化ロジックを一切不要にすることで、モバイル GPU コアに自動的に RNN 計算を並列化します。
  • Long Short-Term Memory (LSTM) ネットワークの推論をモバイル GPU にオフロードし、RenderScript のデータ並列実行モデルを活用します。
  • フレームワークはマルチレイヤー LSTM モデルをサポートしており、モデルサイズとデバイス制約に基づいて動的にメモリと計算を管理します。
  • パフォーマンス評価は、センサー入力を使用したアクティビティ認識 RNN モデルを用いて、実際のモバイルデバイス(Nexus 5 と Nexus 6P)で実施しました。
  • ADB スクリプトと GPU API を使用して GPU 利用率を監視し、並列ワークロードが推論遅延に与える影響を評価しました。
  • 実装には GPU 実行モードと CPU 実行モードの両方を含み、公平な比較のため CPU モードでは RenderScript を介したマルチスレッド実行が使用されています。

実験結果

リサーチクエスチョン

  • RQ1CPU 僅用実行と比較して、GPU オフロードがモバイルデバイス上の RNN 推論遅延を顕著に短縮できるか?
  • RQ2大規模で高性能なハードウェアを想定したデスクトップ GPU オフロード技術と比較して、モバイル GPU 上での GPU オフロードのパフォーマンスはどの程度か?
  • RQ3モデルの複雑さ(隠れユニット数やレイヤー数で測定)が、GPU オフロードによるスループット向上にどのように影響するか?
  • RQ4並列して実行される GPU ワークロード(例:レンダリング)が、モバイル GPU 上での RNN 推論パフォーマンスにどの程度影響を及ぼすか?
  • RQ5マルチスレッド CPU 実行は、モバイルデバイス上の RNN 推論において GPU オフロードの代替手段として実用的か?

主な発見

  • MobiRNN は、スマートフォン上の CPU 僅用実行と比較して、RNN 推論遅延を 4 倍以上短縮し、リアルタイムパフォーマンスを顕著に向上させました。
  • デスクトップ GPU オフロード技術は、モバイルデバイス上では性能が約 4 倍低下するため、モバイル固有の最適化の必要性が浮き彫りになりました。
  • GPU オフロードによるスループット向上は、デバイスの種別、モデルの複雑さ、GPU 利用率に依存し、高密度の隠れユニット数を持つモデルではメモリ帯域幅の制限により性能が飽和します。
  • マルチスレッド CPU 実行は、GPU オフロードのパフォーマンス向上の少なくとも 70% を達成しており、一部のシナリオでは CPU 並列化が強力な代替手段であることが示されました。
  • GPU 利用率が 70% を超えると、GPU オフロードの恩恵が著しく減少し、重い GPU ロード下では、CPU 実行が GPU 実行よりも速くなる場合さえあります。
  • フレームワークは、GPU オフロードが低~中程度の GPU ロード下で最も効果的であり、実時間での GPU 利用率に基づいて動的に管理すべきであることを示しました。

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

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

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

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