Skip to main content
QUICK REVIEW

[論文レビュー] Fast and Energy-Efficient CNN Inference on IoT Devices

Mohammad Motamedi, Daniel Fong|arXiv (Cornell University)|Nov 22, 2016
Advanced Neural Network Applications参考文献 7被引用数 9
ひとこと要約

本稿では、モバイルGPUにおける高速でエネルギー効率の良いCNN推論を実現するため、RenderScriptに基づく並列化手法を提案する。デバイス固有のハードウェアに最適化し、混合精度計算を活用している。順次実行と比較して、最大310.74倍の高速化と最大249.47倍のエネルギー消費削減を達成し、3つの異なるモバイルプラットフォームで1画像あたり0.6ジュール未満のエネルギーでリアルタイムのオンデバイス推論を実現する。

ABSTRACT

Convolutional Neural Networks (CNNs) exhibit remarkable performance in various machine learning tasks. As sensor-equipped internet of things (IoT) devices permeate into every aspect of modern life, it is increasingly important to run CNN inference, a computationally intensive application, on resource constrained devices. We present a technique for fast and energy-efficient CNN inference on mobile SoC platforms, which are projected to be a major player in the IoT space. We propose techniques for efficient parallelization of CNN inference targeting mobile GPUs, and explore the underlying tradeoffs. Experiments with running Squeezenet on three different mobile devices confirm the effectiveness of our approach. For further study, please refer to the project repository available on our GitHub page: https://github.com/mtmd/Mobile_ConvNet

研究の動機と目的

  • リソース制限のあるIoTおよびモバイルデバイスにおけるリアルタイムでエネルギー効率の良いCNN推論を実現すること。
  • クラウドベースの推論の限界、すなわち高いエネルギーコスト、接続依存性、プライバシー懸念を解決すること。
  • RenderScriptを活用した異種コンピューティングにより、モバイルGPUにおけるCNN推論性能を最適化すること。
  • 並列化と精度設定の最適な設計パラメータを、デバイスおよびレイヤー固有に特定すること。
  • 250ms未満の遅延と0.6J未満のエネルギー消費で実現可能なオンデバイスSqueezeNet推論の実現可能性を示すこと。

提案手法

  • AndroidのRenderScriptフレームワークを活用し、モバイルSoCのCPUおよびGPUコアにCNN計算を分散処理する。
  • 各出力特徴マップ要素が別々のスレッドで計算されるスレッドレベルの並列化戦略を実装する。
  • ストライド制御を備えた3次元畳み込みカーネルを採用し、入力特徴マップとフィルターバンクを効率的に処理する。
  • 単精度と半精度の混合精度計算を適用し、計算負荷とメモリ帯域幅を削減する。
  • デバイス固有のチューニングにより、各プラットフォームおよびCNNレイヤーごとに最適なブロックサイズ、スレッド数、精度モードを選択する。
  • 実際の使用状況下での正確な電力およびエネルギー測定を実現するため、Trepnプロファイラを活用する。

実験結果

リサーチクエスチョン

  • RQ1どのようにしてモバイルGPU上でエネルギー消費を最小限に抑えながらCNN推論を高速化できるか?
  • RQ2異なるモバイルGPUアーキテクチャにおいて、並列化と精度の最適なトレードオフは何か?
  • RQ3混合精度計算は、モバイルデバイス上で顕著な性能向上を達成しつつ、精度を維持できるか?
  • RQ4多様なモバイルプラットフォームにおいて、並列推論のエネルギー効率は順次実行と比べてどの程度優れているか?
  • RQ5IoTデバイスにおけるリアルタイムアプリケーション向けに、オンデバイスCNN推論をどの程度実用化できるか?

主な発見

  • 提案された並列アルゴリズムは、3つのモバイルデバイスにおいて、順次実装と比較して最小59.54倍、最大310.74倍の高速化を達成した。
  • エネルギー消費は最大249.47倍まで削減され、プラットフォーム間で1画像あたり0.106Jから0.569Jの範囲でエネルギー使用量が変動した。
  • 実行時間は250ms未満(Nexus 6Pでは129.21ms)で、エネルギー消費は0.6J未満であり、リアルタイムアプリケーションに実用的であることが確認された。
  • 不正確(半精度)計算は、正確(単精度)並列実行と比較して、実行時間を2.11倍から4.16倍まで短縮した。
  • Nexus 5は、低いGPUクロック速度と、より古いが効率的なチップセットアーキテクチャのおかげで、並列モード下でも低い電力消費を示した。
  • 最適な設計パラメータ(ブロックサイズや精度など)は、プラットフォームやCNNレイヤーによって顕著に異なり、デバイス固有のチューニングが不可欠であることがわかった。

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

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

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

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