笠原一輝のユビキタス情報局
Jetson TX2が垣間見せる“エッジAI”という次世代IoTの可能性
2017年5月15日 16:11
今コンピューティングの世界では、次の新しいトレンドとして”エッジAI”という言葉が注目を集めている。IoT(Internet of Things)の世界ではクライアント・サーバーという従来のコンピュータ用語は使わず、エッジ(端末側)・クラウド(データセンター側)という用語で表現し、自動車、ロボットなど端末側のことをエッジと呼んでいる。
従来のIoTではエッジにはあまり処理能力を持たせず、クラウド側に処理能力を持たせて演算することをモデルとしてきたが、最近ではそこに徐々に変化が出てきている。エッジ側にもそれなりの処理能力を持たせ、自動運転やロボットなど、クラウドとの通信で処理の遅延が課題になるようなアプリケーションで、ある程度の処理をエッジ側で行なうことが流行になりつつある。
その中でもエッジにAI(人工知能)機能を持たせることを「エッジAI」と呼んでおり、そうしたソリューションを提供する半導体メーカーが増えている。
AI市場を引っ張るNVIDIAも例外ではなく、同社が提供する開発ボードとなる「Jetson TX2」で、エッジAIを訴求しており、5月8日~5月11日(現地時間)の4日間にわたり米サンノゼで開催された同社のプライベートイベントであるGTC 2017でもそうした応用例がいくつも展示された。
GTC 2017でNVIDIAはVolta採用のDGX-1などをデモ、AI研究者から熱い視線
AIを巡る半導体メーカーの動きは急だ。昨年(2016年)の11月にIntelはAI Dayをサンフランシスコで開催し(「Intel、2020年までに深層学習性能を今の100倍にする計画」参照)、今後IntelがAI向けのソリューションを充実していくと明らかにした。
それに先立って、2016年8月にはAIの研究で知られていたベンチャー企業のNervana SystemsをIntelが買収し話題を呼ぶなど、急速に投資や開発を行なっている。そうした各種の投資を行なうのも、今後特に高性能コンピューティングの世界ではAIが主戦場になると考えているからにほかならない。
一方で、そのAI市場をリードしているのがNVIDIAだ。
NVIDIAは現在のようなAIブームが到来する前から、AIに対する備えをしてきた。AIを実現するコンピューティングモデルは、現在では誰もが知っているディープラーニング(深層学習)だが、NVIDIAは数年前からCUDAとGPUを利用したディープラーニングのソリューションを提案してきた。実際、NVIDIAがディープラーニングに触れたのは、2014年のGTCが最初で、2015年3月に行なわれたGTC 2015では基調講演(「深層学習で新しいGPUのユーセージモデルを開拓するNVIDIA」参照)のメインテーマはディープラーニングだった。
NVIDIAがディープラーニングに賭けたのは、ディープラーニングの学習に必要な演算がGPUが得意とする大量のデータを並列に処理するという特性にマッチしているからだ。CPUを利用して演算した場合に比べて性能の桁が1つも2つも違っていたため、GPUを利用してディープラーニングを行なうことがAIの研究者の間でブームになった。
かつ、GPUを利用したディープラーニングによりAIの研究が進展し、今度こそAIが本当に実現できるかもしれないという期待が醸成され、AIが社会現象になるほどのブームとなった。そうなるとAIの研究のためにGPUをほっする研究者が増え、GPUの需要が増すという状況になっていった。
昨年のGTC 2016でNVIDIAは、ディープラーニングへ最適化を進めたPascalのアーキテクチャと、それを利用したTesla P100を発表し、同時にそのTesla P100を8つ搭載したディープラーニングのためのスーパーコンピュータとなるDGX-1をリリースした。
日本円で約1,700万円という高価格にもかかわらず、発表以来1年が経ってもまだ受注をさばききれていないほどの人気だという。そして今年(2017年)、NVIDIAはさらにディープラーニングへ最適化を進めた、Voltaコアの「Tesla V100」を発表し、それを搭載した「DGX-1 with Tesla V100」という、DGX-1のアップグレード版を発表した。
AI研究者がどんどんCUDAベースのAIソフトウェアを書き、その結果まだまだ性能が足りないと感じる研究者が増え、さらに高速なGPUを投入しても右から左へ捌けていく。現在のNVIDIAはそうした好循環の真っ只中にある。
AIはクラウドからエッジへ、それが次のトレンドとして浮上している
そのNVIDIAが次のターゲットとしているのが「エッジAI」だ。エッジAIはエッジ側のデバイスにAIの機能を持たすもので、IoT時代にはエッジ側には処理能力を持たせないとしていたことの、ちょっとした揺り戻しでもある。
IoTは、クラウド側に処理能力を持たせ、エッジ側からはそれを利用するという形でのコンピューティングモデルになるだろうと当初は考えられていた。
いわゆるクラウドコンピューティングの考え方で、たとえばAmazonのEchoのようにエッジ側には音声をキャプチャする機能程度を持たせておき、データはクラウド側に送って処理するという考え方だ。それはそれで正しいし、特にビッグデータと呼ばれる巨大なデータを処理してそれをAIに活用することなどを考えると、クラウドコンピューティングに向かうことは不可避だ。
しかし、そうしたモデルにも弱点が2つある。1つはレイテンシ(遅延)で、もう1つがネットワークの帯域幅だ。
たとえば、エッジのデバイスとして自動運転の自動車を考えてみよう。自動運転車は常に5Gなどのネットワークを経由してクラウドサーバーと通信しながら運行される。しかし、仮にAIの処理をクラウド側で行なうとすると、まず車両側で前方に見える物体のデータをクラウドサーバーに上げて処理する……アップロードが1秒、クラウドサーバーでの処理に2秒、ダウンロードに1秒かかったとすると遅延は4秒になる。そうなると時速60kmで走っている車なら60mは進んでいる計算になるので、前方にある物体が空の段ボールなら実害はないかもしれないが、人や動物だったりしたら大惨事だ。
もう1つの課題はネットワークの帯域幅だ。5月上旬にIntelがサンノゼで行なった自動運転のイベントの中で、Intelと共同で自動運転車の開発を行なっているDelphi AutomotiveのCTOであるグレン・デ・ヴォス氏が自動運転の仕組みについて解説したが、同氏によればIntelと同社が共同開発している自動運転車は1時間に4.5TBものデータを生成しているという。これをすべてネットワークにアップロードしながら走っていたら、いかに帯域幅が改善される5Gでもすぐに破綻してしまうだろう。
したがって、エッジ側にも強力なプロセッサを載せ、データの処理や推論、判断といったAIの処理はある程度エッジでやらせる、これがIoTの新しいトレンドになりつつある。その代表例が自動運転車であり、ロボットもそうした例となる。ある程度自律して動くようなIoTにはエッジAIは必須になるということだ。
エッジAIの応用例は、自動車、ロボット、ドローンなど多岐にわたる
NVIDIAはそうしたエッジAI向けのプラットフォームとして、自動運転向けとそれ以外という2つのくくりを用意している。
自動運転向けの製品が「DRIVE PX」シリーズになる。現在はDRIVE PX2という第2世代の製品が出荷されており、2つのParker SoC+2つのPascal GPUないしは1つのParker SoCという製品が用意されている。
すでに次世代のDRIVE PXも発表されており、次世代SoCとなる「Xavier」が採用される見通しだ。トヨタ自動車が採用を決めたのはこのXavierを搭載した次世代のDRIVE PX。それを搭載したトヨタの自動運転車が数年内にリリースされることになる。
そしてもう1つが「Jetson TX2」だ。Jetson TX2は、Parker SoCを採用したコンピューティングボードで、基本的にはこれ1つで、ロボットなどを構築できるようになっている(スペックなどの詳細は僚誌Car Watchの記事「NVIDIA、Pascal GPUを採用した新型「Jetson TX2」を、AIエッジ向けに投入」を参照)。
GTCでは、このJetson TX2を搭載した応用例が多数展示されていた。たとえば、米国のパトカー向けの事例では、パトカーが走行しながら周囲の状況をカメラなどから常に確認し、Jetson TX2を利用してディープラーニングの推論を行なうことで、周囲に指名手配されている車や怪しい動きをしている車がいないかを確認していく。以前であれば、パトカーに乗っていた警官が自分の勘に頼って怪しい車を検挙していたのだが、今後はその怪しい車の判断はAIが判別するようになる。
これが発展していくと、別にパトカーに搭載しなくても、街角に設置されている監視カメラなどにも応用できるだろう。現在の指名手配犯の写真は交番の掲示板に貼ってあるだけだが、将来は警察のAIエンジンに指名手配犯の写真を学習させれば、AIが街角の監視カメラから指名手配犯を判別できるようになるかもしれない(プライバシーの議論についてはひとまず置いておくとして)。
このほかにも、Jetson TX2を利用した警備ロボットでは、Jetson TX2上動いているAIが周囲を判断しながら自律的に動作する様子などが公開された。
NVIDIAはこうしたJetson TX2の開発を加速させるために「NVIDIA Robotics Reference Platform」を発表した。これを活用すると、AIを利用したドローン、ロボット、AIロボットカーなど、さまざまなロボットを比較的簡単に設計できるようになる。NVIDIA インテリジェントマシン シニア製品マネージャ ジェシー・クライトン氏によれば「このキットを買えばロボットを組み立てて、SDKを利用してソフトウェアを構築できる」としており、AIを活用したロボットを設計したいという開発者には注目のキットになりそうだ。
また、GTC 2017の基調講演では「Isaac(アイザック)」と呼ばれるロボットシミュレータをデモした(『NVIDIA、Volta世代の「Tesla V100」投入。V100版のDGX/DGX Stationを第3四半期に出荷』」参照)。これはAIロボットの学習を、実機ではなくシミュレータのなかで行なうソフトウェアだ。そうして学習されたデータを実機に導入することで、実機での学習時間を短縮できる。実機での学習に時間を取られて悩んでいるロボット開発者にとっては要注目だ。
次世代SoCのXavierではDLAの採用などによりエッジAIの性能はさらに向上する
NVIDIAが現在提供している最新のJetson TX2は、昨年投入された「Parker」を搭載している。NVIDIAはすでに自動車向けのDRIVE PXには次世代SoCのXavierを投入することを明らかにしているが、JetsonシリーズのXavierを投入するかどうかは明確にしていない。
ただ、ここ最近のNVIDIAの傾向から言えば、まず自動車向けを優先して投入し、それがある程度行きわたったところでJetsonに搭載するという形になっており、それを考えればXavierを採用したJetson(Jetson TX3か?)もいずれは登場することになるだろう。
XavierはParker世代に比べて大きく性能が引き上げられる。CPUはDenverコアの改良版で8コア、GPUはVoltaの512コア版が搭載される。さらに、ディープラーニング向けのアクセラレータとしてDLA(DL Accelerator)と呼ばれる10TOPSの性能を持つアクセラレータを搭載していることが注目される。
アクセラレータを利用したディープラーニングの推論活用は現在業界のトレンドになっており、それによってGPUを利用した場合の画像認識よりも低消費電力を実現できる。このため、Xavier世代では、従来はGPUを利用していた画像認識はDLAを利用して、それ以外のディープラーニングをGPUにさせるという使い方も可能になり、よりエッジAIの性能を高められるだろう。
筆者は仕事柄さまざまなIoTの応用例を目にすることが多い。最近、IoTのアプリケーションをみるたびに、「なるほど、そう来たか」とか「これはすごい」とか思わされることが少なくない。ちょうどPCの黎明期がそうだったように、現状開発者が頭を絞っていろいろな応用例を生み出しているのがまさに今だけに、開発者でなくてもエッジAIに注目していくことは、明日を占う上で非常に重要だ。