モバイルアプリケーションでディープラーニングを加速するにはどうすればよいでしょうか?この記事を読めば分かるだろう

モバイルアプリケーションでディープラーニングを加速するにはどうすればよいでしょうか?この記事を読めば分かるだろう

現在、ディープラーニング技術を使用するモバイルアプリケーションは、通常、すべての DNN コンピューティング操作を完了するためにクラウドサーバーに直接依存しています。ただし、これの欠点は、モバイルデバイスとクラウドサーバー間のデータ転送コストが小さくないことです (システム遅延とモバイルデバイスの電力消費に現れます)。現在、モバイルデバイスは通常、DNN 用の一定のコンピューティング能力を備えています。コンピューティングパフォーマンスはクラウドサーバーほど良くはありませんが、データ転送のオーバーヘッドを回避できます。

論文の著者らは、モデルネットワーク層の粒度に基づいたカット方式を提案しました。この方式では、DNN に必要なコンピューティングを分離し、クラウド サーバーとモバイル デバイスのハードウェア リソースを最大限に活用して、レイテンシと電力消費の両方を最適化します。神経外科医は、外科医のように DNN モデルを切断するというこの切断方法を生き生きと説明しています。

ディープラーニング技術を使用して画像、ビデオ、音声、テキストデータを処理するすべてのパーソナルインテリジェントアシスタントの場合、業界では現在、クラウドサーバー上の強力なGPUクラスターリソースを使用してアプリケーションのコンピューティング操作を完了するのが一般的な方法です(以下、既存の方法と呼びます)。

現在モバイル デバイス上で実行されているパーソナル インテリジェント アシスタント (Siri、Google Now、Cortana など) もこのアプローチを採用しています。それでも、アプリケーションのレイテンシとモバイル デバイスの電力消費を妥当な範囲内に抑えながら、(クラウド サービスに完全に依存するのではなく)モバイル デバイス自体のコンピューティング能力も活用できるかどうかは依然として疑問です。

現状では、インテリジェント アプリケーションの計算能力は、Web サービス プロバイダーが提供するハイエンドのクラウド サーバーに完全に依存しています。

Neurosurgeon は、この従来の慣習 (スマート アプリケーションの計算能力はクラウド サービスに完全に依存している) を打ち破ります。この優れた論文では、アプリケーションに必要な計算を「分割」し、クラウド サービスとモバイル デバイスのハードウェア リソースの両方を使用して同時に計算を実行するという新しいアプローチが紹介されています。脳神経外科医の方法を使用することで達成でき、私たち全員に利益をもたらすいくつかの結果を以下に示します。

  • システム遅延は平均 3.1 倍 (最大 40.7 倍) 短縮され、アプリケーションの応答性と俊敏性が向上しました。

  • モバイル デバイスの平均電力消費量は 59.5% 削減されました (最大 94.7% 削減)。(モバイル デバイスでより多くのコンピューティングを実行しながら、電力消費量を本当に削減できるのかと疑問に思うかもしれません。答えは、間違いなく「はい」です!)

  • クラウドサーバー上のデータセンタースループットは平均1.5倍(最大6.7倍)増加し、従来の方法に比べて大幅に改善されました。

以下では、まず「計算ワークロードを分割する」ことがいかに興味深いかを示す例を示し、次に Neurosurgeon がさまざまな DNN モデルで「最適な分割ポイント」を自動的に検出する方法を学び、最後に Neurosurgeon の主張する機能を確認するために対応する実験結果を示します。

(現在の主流プラットフォームは、すでにモバイルデバイス上でディープラーニング計算をサポートし、実装していることは言及する価値があります。AppleはiOS10でディープラーニング関連の開発ツールを追加し、Facebookは昨年Caffe2Goをリリースしてディープラーニングモデルをモバイルデバイスで実行できるようにし、Googleも最近Android向けのディープラーニング開発ツールTensorFlow Liteをリリースしました。)

データ転送にはコストがかかる

最新のSoCチップは素晴らしいです。この論文では、NVIDIA の Jetson TK1 プラットフォーム (4 コア ARM プロセッサと Kepler GPU 搭載) を使用しています (下の表 1 を参照)。数十万台のデバイスを組み合わせた計算能力は驚異的です。

サーバー上の構成を比較すると (下の表 2 を参照)、モバイル デバイスの構成は依然としてサーバーの構成よりはるかに劣っていることがわかります。

次に、画像分類タスクでよく使用される AlexNet モデル (ディープ CNN ネットワーク モデル) を分析してみましょう。このモデルの入力は 152 KB の画像です。まず、すべてのコンピューティング操作をクラウド サーバーで実行する場合と、すべてのコンピューティング操作をモバイル デバイスで実行する場合の 2 つの環境でモデルのパフォーマンスを比較してみましょう。

アプリケーションのレイテンシだけを見ると (下の図 3 を参照)、モバイル デバイスに利用可能な GPU がある限り、すべてのコンピューティング操作をローカル GPU で実行すると、最高のエクスペリエンス (最短のレイテンシ) が得られることがわかります。すべての計算にクラウド サーバーを使用する場合、統計によると、計算に費やされる時間は全体の時間の 6% に過ぎず、残りの 94% はデータ転送に費やされます。

既存の方法と比較して、モバイル デバイス自体の GPU を使用してすべての計算を実行すると、LTE および 3G ネットワーク条件下でシステム遅延を短縮できます。同時に、LTE および Wi-Fi ネットワーク条件下では、既存の方法は、モバイル デバイスの CPU を使用してすべての計算を実行するだけよりも優れています (システム遅延が少ない)。

下の図 4 は、さまざまなネットワーク条件下でのクラウド サーバーと携帯電話の CPU/GPU の電力消費を示しています。

モバイル デバイスが Wi-Fi ネットワークに接続されている場合、最も消費電力を抑えるソリューションは、対応するデータをクラウド サーバーに送信し、すべてのコンピューティング操作をクラウド サーバーに実行させることです。ただし、3G または LTE ネットワークに接続されていて、モバイル デバイスに GPU が搭載されている場合は、すべての計算をローカル GPU で実行すると、データ転送が必要なクラウド サーバーですべての計算を実行するよりも消費電力が低くなります。

クラウド サーバーはモバイル デバイスよりも強力なコンピューティング能力を備えていますが、データを送信する必要があります (これにより、一部のネットワーク環境では、かなりのシステム遅延と電力消費が発生します)。したがって、システムの観点からは、クラウド サーバーをコンピューティング専用に使用することは必ずしも最適ではありません。

▌ さまざまなネットワーク層のデータ伝送とコンピューティングの要件は同じではありません

では、すべてのコンピューティングをクラウド サーバーまたはモバイル デバイスに実装するという、これら 2 つの「比較的極端な」アプローチの間に最適な分岐点はあるのでしょうか?言い換えれば、データの送信と計算の実行の間にはトレードオフが存在する可能性があります。次の画像は、次に何が起こるかを理解するのに役立つ簡単なスケッチです。

直感的なセグメンテーション方法は、DNN のネットワーク層を境界として使用することです。 AlexNet を例にとると、各層の出力データ量と計算量を計算すると、次の統計チャートが得られます (下の図 5)。

図 5 からわかるように、AlexNet モデルの初期の畳み込み層では、層の数が増えるにつれてデータ出力の量が急激に減少します。ただし、モデルの中間部分および後半部分では計算量が徐々に増加し始め、完全接続層で最高レベルに達します。

次に考えるべきことは、AlexNet モデル内のさまざまなネットワーク層を分離すると何が起こるかということです。 (つまり、モデルの最初の n 層がモバイル デバイス上で処理されて n 番目の層の出力が取得され、その後、クラウド サーバーに送信されてさらに計算が行われ、最終的に出力がモバイル デバイスに送信されます。)

下の図 6 では、AlexNet モデルの各レイヤーのレイテンシと消費電力を確認でき、最適な分割ポイントは星で表されています。

ネットワーク層の粒度に基づくセグメンテーション アルゴリズムにより、モデルの遅延時間と電力消費を大幅に改善できます。 AlexNet モデルの場合、モバイル デバイスの GPU が利用可能で、Wi-Fi ネットワークが利用可能な場合、最適な分割ポイントはモデルの中央になります。

上記は、AlexNet モデルのセグメンテーション方法にすぎません。しかし、このセグメンテーション方法は、画像、ビデオ、音声、テキストを処理する他の DNN モデルにも適用できるのでしょうか?論文の著者は、表 3 に示すように、さまざまな DNN モデルに対して対応する分析を行いました。

コンピュータ ビジョン (CV) の分野で使用される畳み込み層を持つモデルの場合、最適なセグメンテーション ポイントは通常、モデルの中央にあります。通常、完全接続層と活性化層のみを持つ ASR、POS、NER、CHK ネットワーク モデル (主に音声認識 (Automatic Speech Recognition、ASR) と自然言語処理 (Natural Language Process、NLP) で使用される) の場合、最適なセグメンテーション ポイントを見つけることができるとしか言えません。

DNN モデルでセグメンテーションを実行する最適な方法は、モデル内のトポロジ層と構造層によって異なります。 CV 分野の DNN モデルの場合、モデルの途中でセグメント化することが最適な場合もありますが、ASR および NLP 分野の DNN モデルの場合、モデルの先頭または末尾でセグメント化することが最適な場合がよくあります。最適なセグメンテーション ポイントはモデルによって異なるため、モデルを自動的にセグメント化し、クラウド サーバーとデバイスの GPU を使用して対応する計算を実行できるシステムが必要です。

脳神経外科医の働き方

DNN モデルの場合、最適な分割ポイントの位置に影響を与える主な要因は 2 つあります。1 つはモデルの構造などの静的要因、もう 1 つはネットワーク層の接続数、クラウド サーバー上のデータ センターの負荷、デバイスの残りの使用可能電力などの動的要因です。

上記の動的要因が存在するため、モバイル デバイスの最終的なシステム遅延とバッテリー消費が最適になるように、DNN で最適な分割ポイントを自動的に選択するインテリジェント システムが必要です。そこで、私たちはDNNモデルをインテリジェントにセグメント化するシステム、Neurosurgeonを設計しました。

Neurosurgeon は 2 つの部分で構成されています。1 つは、モバイル デバイスのパフォーマンス (レイテンシや消費電力を含む) を予測するためのモデルを一度に作成して展開すること、もう 1 つは、サーバー上でさまざまなネットワーク層の種類とパラメーター (畳み込み層、プーリング層、完全接続層、活性化関数、正則化項を含む) を構成することです。最初の部分は、使用される特定の DNN モデル構造に依存しません。予測モデルは、特定の DNN モデルを実行する必要なく、主に DNN モデル内のネットワーク層の数とタイプに基づいて遅延時間と消費電力を予測します。

予測モデルはモバイル デバイスに保存され、DNN モデルの各レイヤーのレイテンシと電力消費を予測するために使用されます。

DNN モデルが実行されている場合、Neurosurgeon は最適なセグメンテーション ポイントを動的に見つけることができます。まず、DNN モデル内の各ネットワーク層の種類とパラメータを分析して実行し、予測モデルを使用してモバイル デバイスとクラウド サーバー上の各ネットワーク層のレイテンシと消費電力を予測します。 Neurosurgeon は、予測結果とネットワーク層およびデータセンターの現在の負荷に基づいて、最適な分割ポイントを選択します。分割ポイントを調整することで、エンドツーエンドの遅延時間や電力消費を最適化できます。

脳神経外科医の実用的応用

上記の表 3 は、Neurosurgeon の評価に使用された 8 つの DNN モデルを示しています。また、実験では 3 つのネットワーク環境 (Wi-Fi、LTE、3G ネットワーク) と 2 種類のモバイル デバイス ハードウェア (CPU と GPU) を使用しました。これらのモデルと構成により、Neurosurgeon はアプリケーションの応答時間を最適値の 98.5% まで加速するセグメンテーション方法を見つけることができました。

実験結果によると、Neurosurgeon は、クラウド サーバーのみを使用する現在の方法と比較して、アプリケーションのレイテンシを平均 3.1 倍 (最大 40.7 倍) 削減できます。

消費電力の面では、既存の方法と比較して、Neurosurgeon はモバイル デバイスの消費電力を平均 59.5%、最大 94.7% 削減できます。

下の図14は、ネットワーク環境の変化(LTE帯域幅の変化)に応じてNeurosurgeonの適応型セグメンテーションと最適化を行った結果を示しています(下図の青実線)。従来の方法(下図の赤点線)に比べて遅延時間が大幅に短縮されていることがわかります。

Neurosurgeon は、データセンターの負荷状況を取得するために、クラウド サーバーとの定期的な通信も維持しています。サーバーのデータセンターの負荷が重い場合、サーバーに送信されるデータの量が減り、モバイル デバイス上のローカル コンピューティングの量が増加します。つまり、Neurosurgeon はサーバーの負荷に基づいて適切な調整を行い、システムの遅延を最小限に抑えることができます。

サーバーデータセンターのシミュレーションシステムであるBigHouseを使用して、既存の方法とNeurosurgeonを比較します。実験では、クエリ データは表 3 の 8 つの DNN モデルに均等に分散されます。クエリの到着間隔は、測定されたすべてのモデルの平均応答時間を使用し、それを Google ウェブ検索のクエリの分布と組み合わせて取得されます。

上の図 16 は、モバイル デバイスが Wi-Fi ネットワークを使用する場合、Neurosurgeon によってもたらされるデータ スループットが既存の方法の 1.04 倍になることを示しています。接続ネットワークの品質が低下すると、Neurosurgeon はモバイル デバイスにより多くのコンピューティング ワークロードを負担させ、クラウド サーバー上のデータ センターのスループットを向上させます。既存の方法と比較すると、LTE ネットワークに接続した場合、データ センターのスループットは 1.43 倍に、3G ネットワーク条件下では 2.36 倍に増加します。

ソース

神経外科医: クラウドとモバイルエッジ間の協調インテリジェンス Kang et al.、ASPLOS'17

http://web.eecs.umich.edu/~jahausw/publications/kang2017neurosurgeon.pdf

<<:  2017年人工知能に関する消費者意識調査

>>:  データサイエンティストが最もよく使用するデータマイニングアルゴリズム10選

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

農業革命:農業ロボットの台頭

近年、農業ロボットの登場により農業業界は大きな変化を遂げています。これらの最先端の機械は、作物の栽培...

LSTMに匹敵するTransformerは機械学習界に火をつけました。それは万能です。

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

機械学習は、企業がサイバー脅威と戦うのにどのように役立ちますか?

私たちの忙しいデジタル生活の中で、サイバー脅威はより高度化し、頻繁に発生しています。従来の方法だけで...

Baidu World 2020 | Baidu CTO 王海鋒が Baidu Brain 6.0 をリリース、AI の新インフラストラクチャが業界インテリジェンスを加速

もし20年前の自分に会って会話ができたら、何を話しますか?想像する必要はありません。まるでSF映画の...

もう一つの(深層)学習:自己教師あり学習は次の大きなものになるでしょうか?

自己教師あり学習入門[[251602]]確かに、ディープラーニングは、特に画像認識タスクにおいて、機...

チューリング賞受賞者のヤン・ルカン氏:今後数十年間の AI 研究の最大の課題は「予測世界モデル」

ディープラーニングの大規模な応用の後、人々はさらなる技術的進歩をもたらすことができる真の汎用人工知能...

AIがITサービス管理をどう変えるか

SF映画に登場する人工知能(AI)ロボットは、通常、非常に賢く器用です。 [[276115]]人工知...

...

ChatGPT をベースにしたインテリジェントな顧客サービス アシスタント

導入従来の顧客サービス分野は、手作業に大きく依存し、データ集約的であることが特徴です。大量のユーザー...

この本は人気があり、この本を学んだ男性は給料が30万以上上がった

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

InnoDB ストレージ エンジンの 3 つの行ロック アルゴリズムの図解と例の分析

[[415025]]この記事はWeChatの公開アカウント「Flying Veal」から転載したもの...

5Gで「選ばれる」分野!自動運転バスがあなたのところにやって来ます

自動運転タクシー、バス、道路清掃車、物流配送車... 自動運転技術の急速な発展により、これらの無人車...

モバイルアプリの開発とビジネスにおける人工知能の役割は何ですか?

人工知能の誕生により、モバイル アプリケーションに大きな可能性をもたらすまったく新しい時代が到来しま...