モバイルデバイスでのリアルタイムディープラーニング

モバイルデバイスでのリアルタイムディープラーニング

[[210219]]

2017 年には、モバイル アプリケーション向けのディープラーニングにおいて大きな進歩がありました。 2017 年 4 月、Google は軽量ニューラル ネットワーク MobileNets をリリースしました。 2017 年 6 月、Apple はモバイル デバイス上で機械学習モデルの実行をサポートする Core ML をリリースしました。さらに、最近発売されたハイエンドデバイスの中には、MacBook Proよりもさらに高速に機械学習を実行できるGPUを搭載したものもあります。

ディープラーニングはすでにあらゆるところに存在しています。この記事では、ディープラーニングの実際のアプリケーションを見て、それがどれだけ高速化できるかを見ていきます。

MobileNets アプリケーション

私たちは最近、セマンティックセグメンテーション問題を解決するために、MobileUNet と呼ばれる新しいディープニューラルネットワークを開発しました。設計は非常にシンプルで、U-Net で MobileNet を使用します。ここでは要点のみ記載しています。詳細については、GitHub リポジトリを参照してください。

  • エンコーダーとデコーダーで構成されています。
  • エンコーダーは MobileNets を使用し、分類用の完全接続レイヤーがありません。
  • デコーダーはアップサンプリングに畳み込み転置を使用します。

このプロジェクトを開発する際、私たちは主に推論速度を重視しました。ディープ ニューラル ネットワークは GPU 上でより高速に実行されることはわかっていますが、モバイル デバイス上で実行するとどうなるでしょうか?

そのため、MobileNets を使用しました。

  • 推論を高速化するために、深さ方向の conv ブロックを使用します。
  • より高い精度と推論速度比を備えています。
  • 精度と速度のトレードオフを行うためのいくつかのパラメータを提供します。

下の図に示すように、比較的理想的な結果が得られます。

スピードと正確さ

MobileUNet のパフォーマンスを紹介する前に、いくつかの一般的な概念を明確にしたいと思います。

すべての畳み込み (Conv2D、DepthwiseConv2D、Conv2DTranspose など) は、異なるプロセッサで同じ速度で実行されますか?

答えはノーです。プロセッサによっては、一部の操作は高速になり、一部の操作は低速になります。 CPU と GPU の違いは簡単に区別でき、異なる GPU でも最適化に違いがあります。

次の図は、通常の畳み込みブロックと深さ方向の畳み込みブロックの違いを示しています。

深さ方向の畳み込みブロックと通常の畳み込みブロックのパフォーマンスは CPU 上では大きく異なりますが、GPU 上ではその差ははるかに小さくなります。

したがって、モバイル デバイスをベースにしたディープラーニング アプリケーションをリリースする場合は、まず主流のデバイスでテストするのが最適です。次に、MobileUNet のさまざまな指標を共有したいと思います。

主に以下の機材を使用しました。

  • iPhone 6プラス
  • iPhone 7プラス
  • iPhone 8プラス
  • ソニー Xperia XZ (Snapdragon 820)

MobileNets は、速度と精度の比率を制御するための alpha というパラメータを提供しているため、MobileUNet でもこのパラメータを使用します。 4 つのアルファ値 (1、0.75、0.5、0.25) と 4 つの画像サイズ (224、192、160、128) を選択しました。

下の図は速度の比較です。

驚いたことに、最も速いデバイスは iPhone 8 Plus ではなく、iPhone 7 Plus でした。 iPhone 7 Plus は非常に高速で、リアルタイム アプリケーションでも問題ありません。 iPhone 6 Plus と Snapdragon 820 は、特にアルファ値が大きい場合にはそれほど高速ではありません。

下の図は精度の比較です。

アルファが 0.25 に達すると、精度は急激に低下し始めます。精度はアルファ値と画像サイズに応じて直線的に低下します。したがって、アルファ値 0.25 は使用しません。

下のグラフは、Snapdragon 820 で実行されている速度と精度を示しています。

速度が重要な場合は、サイズが 128、精度が 0.875 IoU、アルファ値が 0.5 の左上のものを検討できます。精度がより重要な場合は、サイズが 192 でアルファ値が 0.5 のものを選択できます。

もちろん、デバイスごとに異なるモデルを使用することもできますが、複雑さが増します。

それでは、iPhone 7 Plus が iPhone 8 Plus よりも高速な理由を見てみましょう。

すでに述べたように、速度は各プロセッサによって異なります。 iPhone 7 Plus の GPU が iPhone 8 Plus の GPU よりもニューラル ネットワークに適しているかどうかを調べるために実験を行いました。

MobileUNet のエンコーダーとデコーダーを別々の部分に分割し、そのパフォーマンスをテストします。

明らかに、デコーダー部分が iPhone 8 Plus のボトルネックです。デコーダーでは Conv2DTranspose を使用しました。iPhone 7 Plus の GPU は Conv2DTranspose に最適化されていますが、iPhone 8 Plus は最適化されていません。

ベンチマークに使用されるスクリプトは Gist で入手できます。

  • Android での TensorFlow モデルのベンチマーク
  • iOS での Core ML モデルのベンチマーク

結論は

モバイルデバイスでのディープラーニングの使用はトレンドになっており、近い将来、ディープラーニングの応用はますます便利になるでしょう。

しかし、すべてのデバイスにハイエンドの GPU が搭載されているわけではないので、パフォーマンスのチューニングが必要です。プロセッサによって特性が異なるため、パフォーマンス テストには必ず実際のデバイスを使用してください。

パフォーマンス テスト自体は難しくなく、トレーニング済みのモデルを使用する必要もありません。トレーニングされていないモデルを使用して、パフォーマンスのボトルネックを見つけることができます。

<<:  大量データストリームのベストプラクティス

>>:  AI時代のクラウドベースのインテリジェントコンピューティング

ブログ    

推薦する

...

段階的な自動運転は後から追いつくことができるか?

自動運転の何十億ドルもの利益の一部を欲しがらない人はいないだろう。最近、SAIC傘下のXiangda...

機械学習における欠損値に対処する9つの方法

データサイエンスはデータに関するものです。これは、あらゆるデータ サイエンスや機械学習プロジェクトの...

マイクロソフトとグーグルのAIジレンマ:お金を稼ぐためにもっとお金を使う

7月26日のニュースによると、将来、人工知能はマイクロソフトやアルファベットなどのテクノロジー大手に...

トレンドマイクロ:2030年までにAIがサイバーセキュリティ担当者に取って代わる

トレンドマイクロは、2021年に向けて、サイバー犯罪者がホームネットワークを利用して企業のITおよび...

...

自動運転タクシー市場が急成長中。最初にこの市場を活用できるのは、Google、Uber、それともTeslaのどれでしょうか?

ウェイモは世界クラスのレベル4自動運転車工場を建設し、テスラは「世界クラスのチップ」を発表し、ウーバ...

秘密裏に利用規約を変更したことで、Software Freedom Conservancy が激怒しました。オープンソースコミュニティがZoomの放棄を呼び掛け

パンデミックの間、リモートワークは必須となり、多くのビデオ会議ツールが普及しました。 Zoom は最...

インタビュー必読: 4 つの典型的な電流制限アルゴリズムの説明

[[402482]]最近、当社の業務システムは、トークン バケット アルゴリズムに基づいて実装された...

強力な提携:ソーシャルロボット企業Furhatがロボット企業Misty Roboticsを買収

ミスティはとんでもない乗り心地を体験した。 FoundryとVenrockから1,150万ドルを調達...

ガートナーなど権威ある組織:人工知能、国内外のどのAI技術が強いのか?

2020年末、我が国は第14次5カ年計画を発表し、2035年までの中国の長期目標を策定しました。 ...

AIアーキテクトとはどのような人達でしょうか?

アシュトーシュ・グプタ翻訳者: ブガッティ企画丨孫淑娥亮策要するに:人工知能 (AI) プロジェクト...

10億の顔データが完全に削除されました! Facebookが顔認識ツールを廃止

[[434362]] 11月3日、Facebookは写真のタグ付けに顔認識機能を使うのをやめると発表...

GPT-4 よりも優れており、クローズドソース モデルよりも優れています。コードラマの謎のバージョンが公開

Code Llama はリリースからわずか 2 日で、再び AI コーディングの革命に火をつけました...