マイクロソフト、AzureでトレーニングさせたAIモデルをDockerコンテナでパッケージ、Windows、Linux、ラズパイ、ドローンなどへデプロイ可能に。Build 2018
クラウドで実現した画像認識や音声認識などの機械学習の能力を、クラウドだけでなく、WindowsマシンやLinuxマシンにも、そしてスマートフォンやRaspberry Piやドローンといった小さなデバイスにも組み込んで、さまざまな場所で機械学習を活用する。
これがマイクロソフトが米国シアトルで開催中のイベント「Build 2018」で示した同社のAI戦略の骨子です。
マイクロソフトは小型のドローンにまでAIを組み込もうとしている
例えば、ドローンにカメラを搭載し、そこに特別にトレーニングを行った画像認識機能を組み込み、工場のパイプラインを上空から撮影するとリアルタイムでパイプラインの問題箇所を認識する。
Build 2018の基調講演では実際にこのようなデモンストレーションがステージ上で行われました。

上の画像左は、ステージ上に作られた工場のセットの上を飛ぶDJIのドローン。そして右の画像は、ドローンに備え付けられたカメラの画像認識機能がリアルタイムにパイプラインの問題箇所を認識し、黄色い四角で示しています。
ドローンと、特別にトレーニングされたパイプライン保守用の画像認識機能を使えば、人間が歩きながらパイプラインを目視で確認するよりも効率よく正確に、パイプラインの保守を実現できるでしょう。
マイクロソフトは実際にこうしたソリューションを実現すべく、ドローンの大手企業で知られるDJIと提携し、機械学習機能のランタイムとなるAzure IoT Edge対応を発表。

クアルコムとも提携し、インターネットカメラなどに採用されているクアルコムのプラットフォームへのAzure IoT EdgeのAI Development Kit対応を発表。

デバイスに機械学習の能力を組み込むと、画像などのデータをいちいちクラウドに転送しなくとも、デバイス単独で処理を行い瞬時にその結果を返すことが可能になります。
これは企業内部のセンシティブな情報を扱うようなシステムや、リアルタイム性が重要なシステムでは欠かせないものとなるでしょう。
Azure IoT Edgeのランタイムがオープンソース化
こうしたマイクロソフトのAI戦略を支える要素の1つが、「Azure IoT Edge」です。
Azure IoT EdgeはLinuxとWindowsのx64あるいはARMアーキテクチャに対応し、前述のようにRaspberry PiからPCまで、さまざまな規模のハードウェアで稼働するフレームワークです。
Azure IoT Edgeは、クラウド上のポータル画面であるAzure IoT Hubから集中管理でき、デバイスをつねにセキュアに保ち、アプリケーションや機械学習機能のランタイムを提供します。
マイクロソフトは今回、Azure IoT Edgeランタイムをオープンソースとすることを発表しました。できるだけ多くのデバイスでAzure IoT Edgeをサポートしてもらうためでしょう。

DockerコンテナでAIモデルをパッケージング、デプロイ
そして興味深いのは、AzureでトレーニングしたAIモデルをAzure IoT Edgeへデプロイする手段として同社が選んだのは、Dockerコンテナであることです。
Azure IoT Edgeだけでなく、Azure Machine LearningにおいてAIモデルのパッケージには全面的にDockerコンテナが採用されています。

こうしたDockerコンテナによるAIモデルのパッケージング、デプロイもAzure IoT Hubから可能です。下記画面の右下がDockerコンテナのボタン。

Raspberry Piを使ったデモとして、まずAzure上でスコット・ガスリー氏の写真を認識するように機械学習のトレーニングを実施。

学習済みのAIモデルをDockerコンテナとしてエクスポートし、Raspberry Piへインポート。
Raspberry Piに接続したカメラに別人を映しても赤い×印が表示されるが、スコット・ガスリー氏がカメラに写ると、緑のチェックを表示してきちんと認識したことが示されました。

デモンストレーションなどを見る限り、Azure上で機械学習のトレーニングを行い、それをAzure IoT Hubを用いてDockerコンポーネントとし、Azure IoT Edgeに対応したデバイスへデプロイすることで、カスタマイズされた画像認識機能などをデバイスに組み込むという作業の流れは、まだ荒削りなツールが比較的多い機械学習の分野において、デベロッパー向けの道具立てがうまいマイクロソフトらしく、うまくまとまっているように見受けられます。
Build 2018
- [速報]「Visual Studio Live Share」パブリックプレビュー開始。リモートでのペアプログラミング、ペアデバッギングを実現。Build 2018
- [速報]AIがコードのレコメンドやバグの指摘など開発を支援してくれる「Visual Studio IntelliCode」発表。Build 2018
- [速報]Azure Container Service(AKS)がAzure Kubernetes Service(AKS)に改名。Windowsコンテナにも対応開始。Build 2018
- マイクロソフト、FPGAを用いたAI処理基盤「Project Brainwave」開発者向けプレビューを発表。GoogleのTPUより高性能と。Build 2018
- マイクロソフト、GitHubとの連係強化を発表。GitHubのCI/CD向け新機能「Checks API」に対応。Build 2018
- マイクロソフト、Azure上でDockerコンテナの自動ビルドを実行する「ACR Build」リリース。Build 2018
- マイクロソフト、AzureでトレーニングさせたAIモデルをDockerコンテナでパッケージ、Windows、Linux、ラズパイ、ドローンなどへデプロイ可能に。Build 2018
あわせて読みたい
Red Hatとマイクロソフト、共同でAzure上にOpenShiftのマネージドサービスを提供へ。OpenShiftでWindows Serverコンテナも利用可能に
≪前の記事
マイクロソフト、Azure上でDockerコンテナの自動ビルドを実行する「ACR Build」リリース。Build 2018