Publickey新野淳一IT羅針盤

「クラウド」からIoTやスマートフォンなどの「エッジ」へと急速に広がる機械学習処理

機械学習の処理はクラウドのような膨大なコンピューティングパワーを用いて実行されるものと思われていたが、昨今はネットワークなどの末端ポイントとなる端末「エッジ」において機械学習処理を実行するフレームワークが相次いで登場してきている。今後はエッジにおいても「機械学習処理をどう扱うか」の検討が重要な要素になっていくようだ。

言うまでもなく、人工知能や機械学習は今後の産業全体に大きな影響を与えるテクノロジーです。そのため、多くの企業がこれらテクノロジーの産業への応用を実現するため、激しい競争を繰り広げています。

人工知能が社会的な注目を集めるきっかけとなったのは、2016年6月に人工知能の囲碁プログラム「アルファ碁」がプロ棋士のイ・セドル九段に勝利したことです。このときアルファ碁を実現するソフトウェア手法であるディープラーニング(深層学習)を実行するために、1200台を超えるサーバーと高速なGPUを組み合わせたシステムがクラウド上に構築されました。

このように、ディープラーニングをはじめとする機械学習を高速に実行するには大規模なコンピューティングパワーが必要でした。そのため自社で大規模なクラウドを展開するGoogleやマイクロソフトといったクラウドベンダーが中心となり、AIや機械学習を実現するクラウド基盤の進化を競い、機械学習の分野を牽引してきました。

ところが最近では、この機械学習処理の基盤が、クラウドからネットワークなどの末端ポイント「エッジ」へと広がってきています。今回はその動向を紹介しましょう。

Googleやマイクロソフトがクラウドで機械学習基盤を構築

機械学習には、従来のコンピューティングとは傾向の異なる大規模なコンピューティングパワーが必要であることから、Googleはディープラーニング処理に最適化した専用のプロセッサ「Cloud TPU」を独自に開発し、機械学習の処理に利用してきました。2017年には、これをクラウドサービスとしても提供すると発表しました。

そして2018年、早くも1年前のTPUの2.8倍もの能力を持つバージョンアップ版「TPU 3.0」を発表しています。

ディープラーニング処理に最適化された専用プロセッサ「TPU 3.0」を発表するGoogle

一方、マイクロソフトも機械学習を高速に実行するための基盤「Project Brainwave」を2017年に発表しました。これはプロセッサの回路を動的に構成できる「FPGA」と呼ばれるプロセッサを用いて機械学習に適した構成とし、機械学習を高速に実行できるハードウェアを構築するというものです。
マイクロソフトはこのProject Brainwaveを「Microsoft Azure」に展開し、クラウド上で機械学習を用いたサービスの提供基盤にすると説明しています。

このようにGoogleもマイクロソフトも、従来のコンピューターよりも何倍ものパワーを持つ機械学習専用システムを構築してまで、機械学習のための基盤をクラウド上に構築してきているのです。
なお、これらを用いた画像認識や音声認識、翻訳やセンチメント分析といった機械学習サービスは、クラウドのAPIを通じて公開されています。

マイクロソフトが発表した機械学習を高速に実行するための基盤「Project Brainwave」
マイクロソフトが発表した機械学習を高速に実行するための基盤「Project Brainwave」

エッジへの広がりを見せる機械学習処理

そしてGoogleやマイクロソフトは、機械学習の基盤をクラウドだけでなくエッジへも広げようとしています。

ネットワークの中心がクラウドだとすれば、その末端、すなわちエッジにはPCやスマートフォン、IoTデバイスなどがあります。しかし膨大なコンピューティングパワーを要するとされる機械学習処理が、クラウドと比べればほんのわずかなコンピューティングパワーしか持たないエッジで、果たして動作するのでしょうか?

実は、ディープラーニングの処理は「学習(トレーニング)」と「推論」の2つに大別できます。学習とは文字通り、コンピューターが学習を行うこと。例えば大量の猫の画像をディープラーニング経由でコンピューターに読み込ませることが学習にあたります。この学習によって、コンピューターはその内部に“モデル”を持つようになります。そして学習済みのモデルをもとに、ある画像が猫であるかどうかを推論できるようになるのです。

ディープラーニングでは、学習時には膨大な試行錯誤が行われるため大きなコンピューティングパワーが必要ですが、学習済みのコンピューターが推論を行うには、それほど大きなコンピューティングパワーを要求されるわけではありません。
人間も何かを学習するのは時間とエネルギーが必要ですが、学習によって習得したものはスラスラと発揮できるのと似ているのではないでしょうか。

そこで、クラウド上で膨大なコンピューティングパワーを用いて高速な学習を行い、できあがったモデルをエッジに移して、エッジで推論させようという動きが、Googleやマイクロソフトから登場してきたのです。

クラウドからエッジまでAIをシームレスに

マイクロソフトは2018年5月に行ったイベント「Build 2018」で、エッジにAIの能力を持たせる「Azure IoT Edge」を発表しました。

例えばドローンのカメラにAI機能を持たせることで、いちいち画像データをクラウドへ送ることなく、リアルタイムにパイプラインの破損箇所を検出できるようになり、人間が歩いて検査するよりもずっと効率的になるといったデモを紹介しました。

エッジにAIの能力を持たせる「Azure IoT Edge」をマイクロソフトが発表

この画像認識の学習はクラウドの「Azure Machine Learning」で行い、できあがったモデルをDockerコンテナにパッケージングしてエッジへ持ってくることにより、クラウドからエッジまでをシームレスにつなげるのがマイクロソフトの戦略です。

学習はクラウド「Azure Machine Learning」で行い、できあがったモデルをDockerコンテナでエッジへ

そして、このクラウドとエッジの機械学習をシームレスにつなぐ戦略は、GoogleやAWSにも共通しています。

Googleも2018年5月に開催したイベント「Google I/O 2018」で、iOSやAndroidに対応したモバイルアプリに顔認識など機械学習の機能を組み込むライブラリ「ML Kit」を発表しました。ML Kitには、Googleの機械学習ライブラリ「TensorFlow」をモバイルデバイスに最適化した「TensorFlow Lite」が内蔵されています。

Googleはクラウドでの機械学習にはTensorFlowライブラリを用いており、ここで学習してできあがったモデルをTensorFlow Liteや、JavaScriptライブラリとして公開されている「TensorFlow.js」で利用することにより、クラウドからエッジまでを共通の機械学習ライブラリでつなごうとしているのです。

GoogleはiOSやAndroid対応アプリに機械学習の機能を組み込むライブラリ「ML Kit」を発表

AWSも同様です。2018年4月に発表した「AWS Greengrass ML Inference」は、AWSのクラウド上で学習させたモデルを、エッジデバイス上で推論として実行できるソフトウェアです。

PCやスマホ、IoTでも「機械学習をどう活用するか」が不可欠な検討課題に

前述したように、エッジ側で推論を実行する主な利点は、いちいちデータをクラウドに送らなくてもよいことと、リアルタイムにその場で推論結果が得られることにあります。

これにより通信環境に左右されずに推論が実行できるだけでなく、通信コストも削減できます。さらにパイプラインの損傷といった外部には知られたくないセンシティブな情報も安全に実行できるため、より幅広い応用が期待できることでしょう。

こうした動向を見ると、これからはPCやスマートフォン、IoTなどのあらゆるデバイスに機械学習処理が組み込み可能となっていくことはほぼ間違いありません。もちろんエッジ側のデバイスでも、この動きを受けて、さらに機械学習の実行能力を高めていく方向へ進化するでしょう。

となれば、これらを含むシステムを設計・構築していくあらゆるエンジニアにとって、どのように機械学習機能を活用するのか、その機械学習機能はクラウドを呼び出すのか、エッジで実行するのか、そして得られた推論結果はどのように活かしていくのかを考えることが、今後は不可欠な要素となっていくのではないでしょうか。

※このコラムは不定期連載です。
※会社名および商標名は、それぞれの会社の商標あるいは登録商標です。

新野淳一

新野淳一Junichi Niino

ブログメディア「Publickey」( http://www.publickey1.jp/ )運営者。IT系の雑誌編集者、オンラインメディア発行人を経て独立。新しいオンラインメディアの可能性を追求。