トピック
IoTデバイス数億台時代に備えるアマゾン。AWSはAIとIoTにどう取り組むのか
2018年12月20日 08:15
11月26日から29日まで、米ラスベガスでは、アマゾン・ウェブ・サービス(AWS)の年次開発者会議「re:Invent 2018」が開催された。AWSはネットのインフラを支えるクラウドサービスを提供する企業であり、同社の説明によれば、同種のクラウドインフラサービスのなかで、51%を超えるシェアを持つ。それだけに、来場した開発者も5万人を超えた。
そんなAWSでも、筆者が気になるのは「AI」と「IoT」技術である。特に「AI」については、28日に開催された基調講演でも、長い時間を割いて多数の発表が行なわれた。一見関係が薄いように思えるが、IoTデバイスもAI技術を背景に進化しており、両者戦略は切っても切り離せない。AWSのAndy Jassy CEOも「この数年で、ソフトやサービスの中にクラウドの要素があるのは当然のことになった。おそらく5年、10年のうちに、アプリの中に機械学習の要素があることは当たり前になっているだろう」とコメントしている。
では、クラウドインフラの巨人・AWSは、このジャンルにどう対応しようとしているのだろうか? AWSでAIと機械学習技術担当ゼネラルマネジャーであるRyan Gavin氏と、IoT担当副社長のDirk Didascalou氏に話を聞いた。
ロボットカーも学習用に設計、機械学習開発の一般化に注力
AWSは時々、コンシューマ向けと思われそうな機器を販売する。昨年は深層学習による画像認識のための機器である「DeepLens」を発売したが、今年はなんと自動車。機械学習による自動運転を行なう「AWS DeepRacer」というロボットカーを発表した。
この機器の中身はほぼPCのようなものだ。Atomと画像認識用のHDカメラを搭載している。OSとしてはロボット用のオープンソースOS「ROS」を使っており、自律走行については、AWSが提供しているマシンラーニング開発環境である「Amazon SageMaker」を使って開発する。
このような機器を発表した理由について、Gavin氏は次のように説明する。
Gavin氏(以下敬称略):強化学習は新しい技術でニーズも高まっているのですが、なかなか良い学習方法がありません。ですので、DeepRacerとSageMakerを使い、実際に試しながら学ぶ手法を用意しました。なぜロボットカーかというと……、みなさん、こういうの好きですよね、私やあなたもそうだと思うんですけど(笑)。
AWSは2017年、一気に機械学習に力を入れた。AWSの演算資源は昔から機械学習に使われていたのだが、SageMakerを含めた広範かつ比較的簡便な開発環境を整えたのは最近だ。利用者は1年で急増した、とAWSは主張しており、2018年も変わらずそこに注力した。
特に大きな発表は3つある。
SageMaker向けに学習モデルを外販する「マーケットプレース」を提供すること、学習用の教師データの「ラベル付け」の手間を最大70%減らす「Amazon SageMaker Ground Truth」の導入、そして、AWSの親会社であり最大顧客でもあるAmazon.comの持つ、機械学習によるレコメンドと予測のエンジンの提供だ。
Gavin:機械学習を導入する上で、やはり多くの人が時間を費やしているのは、学習アルゴリズムの構築と、データモデルの構築です。
いまは、教師データへのラベル付けが非常にコストがかかっています。「これは犬です」「これは猫です」という教師データのラベル付けを、結局手作業でやらなければならない。これは人件費的にも、時間的にも大変です。なので「Amazon SageMaker Ground Truth」という技術によってラベル付けをある程度自動化し、手間を最大70%減らしています。
また、アルゴリズム構築にはすでに多数の企業が取り組んでおり、成果も現れているのですから、それを外販したいと思う企業がいるのは当然です。さらに、学習モデルを自分で作ることなく手に入れられれば、導入ははるかに容易になります。エンジニアの時間は限られていますから、こうしたマーケットプレースは重要なものと捉えています。
Amazonのレコメンドを提供する「Amazon Personalize」と、予測を提供する「Amazon Forecast」も、導入の簡便化が目的です。Amazonは20年に渡ってこれらの技術を磨いてきて、一定の成果を得ていますので、その学習・予測モデルを使うことは、多くの企業にとって価値のあることです。なにより、「Amazon Personalize」と「Amazon Forecast」の導入には、機械学習エンジニアが不要である、ということが大きいです。具体的には、Pythonのコードがわかる、書ける人がいなくても使える(笑)。もちろん、データは自社で用意する必要があるので、Amazonのレコメンド結果そのものが提供されるわけではないのですが。
「Amazon Personalize」と「Amazon Forecast」については、まさにAWSの考え方で提供される、ということが非常に大きいです。まずは小さなところで使ってみて、効果があるようなら本格的に利用を広げる。そうして「試せる」ことが、本格的なレコメンドや予測の技術を導入していない企業にとっては、重要な点です。
演算基盤の面でも、AWSは「機械学習への最適化」を進めている。GPUを使ったハイパフォーマンスなインスタンスの提供だけでなく、データから結果を「推論」する作業に特化した「AWS Inferentia」という独自の半導体を開発し、推論作業向けに提供も開始する。
Gavin:GPUはやはり高価なもので、機械学習ならなんでもGPUに、というのは、計算資源的にも、お客様の支払うコスト的にも効率が良くありません。AWSで使われる機械学習処理をみると、その90%が「推論」でした。なので、推論用に特化したプロセッサーを使うインスタンスである「AWS Inferentia」を用意したわけです。
こうしたハードウエア投資を行なっているのも、それだけ機械学習を使うアプリケーションの負担が、AWS内に増えている証といえるだろう。
「数億台のエッジAI」が世界にある時代に備える
機械学習も、これまでのようにクラウド上のAWSで処理されるだけではなくなっている。各端末に推論の機能を持たせ、クラウドまでいかずに端末側で処理する「エッジAI」が重要になっている。なぜエッジAIが重要で、それがIoT機器にどのような価値を持つのか? Didascalou氏は次のように語る。
Didascalou:「どのようなIoT機器がこれからヒットするのか?」という話を聞かれます。でも、それは多少認識にズレがある。私はそこにあまり興味がありません。
IoT機器というは「小指の先」みたいなものです。それがどう曲がるのか、ということにはあまり意味がない。それぞれの指が曲がり、多数の指から多数の情報が得られる、ということ自体が、人々の生活に大きな変化をもたらします。何億・何十億というIoTデバイスが世の中で使われる時代がやってくると、大量のデータがクラウドに蓄積され、そのオペレーションコストが大きな問題になります。エッジコンピューティングとIoTは、その時のことを考えて開発せねばなりません。いかにデバイスからのデータを削減し、大量のデバイスを一気に、簡便に管理するのか。そこでは、これまでのクラウドとは大きく違う発想が求められます。
AWSは、エッジAIを開発するための開発環境である「AWS IoT Greengrass」に力を入れている。これは、クラウド上で動いている機械学習を含めたAWSアプリケーションを、IoT機器に導入してローカルに動作させる開発を、一気通貫に行なえる仕組みだ。
Didascalou:Greengrassでは、開発を統合的に行なえるだけでなく、多数のデバイスに対して一気に、開発したものを展開できることが重要です。また、各デバイスで行なわれた学習結果を吸い上げ、それぞれのデバイスへと再び戻し、効率を上げていくことも同様に大切です。
Greengrassでどんな言語が使えるのか、どのようなアプリが動くかは、ターゲットとなるデバイスのアーキテクチャに依存する部分があります。ですが、SageMakerとGreengrassを組み合わせ、IoTデバイスで機械学習を活用し、それをマネジメントしていくことで、何億ものIoTデバイスが使われる時代に対応できる、と考えています。