写真提供:マイナビニュース

写真拡大

●ディープラーニングに必要なこと
人間の限界を超え、新たな発明や発見につながるものとして、さまざまな産業界で注目されている人工知能(AI)。近年の、人工知能開発の飛躍的な進化を支えているのが技術面での進歩だ。前回は人工知能に関わる3つの要素を紹介し、その中の1つ「GPU」において、NVIDIAが大きな役割を担っていることを紹介した。今回は人工知能の発展において、GPUが具体的にどのような役割を果たしているかを見てみよう。

○ディープラーニングは莫大な演算の繰り返し

人工知能のブレイクスルーである「ディープラーニング」。単純な変換を多層に繰り返すその手法は、数学的には『(x1 x2 x3)(y1 y2 y3)…』と記述する「行列演算」をひたすら繰り返しているのに似ている(実際にはもっと複雑だが)。

こうした演算の繰り返しはまさにコンピュータが得意とするところだが、コンピュータの中央演算装置である「CPU」は、行列演算だけでなく、さまざまな演算を汎用的に行うように開発されているため、行列演算はそれほど高速ではない。コンピュータの世界では、実行する処理が限定されているのであれば、その処理を専門的に処理するようハードウェア的に実装したほうが、より高速で効率良く行える。例えば動画を再生するなら、動画再生に最適化された回路を作ったほうが、ソフトウェア的に処理するよりはるかに高速なのだ。

それでは行列演算に最適化された回路を開発すれば、より高速にディープラーニングを処理できるのだろうか?

答えはイエスだ。ただし、わざわざこれから開発するまでもなく、すでにそのような処理に特化された「GPUコンピューティング」が存在している。

GPUコンピューティングとは、本来3Dを中心にグラフィック描画を専門に行う「GPU」に特定の演算処理を任せようというものだ。GPUはゲームなどが要求する超高度なグラフィックを高解像度・高速に処理するため、グラフィック処理についてはCPUを上回るほどの処理能力を与えられているのだが、これを特定の演算に応用しようというのが「GPUコンピューティング」の考え方だ。

たとえば3Dグラフィックで、3次元空間にある立方体を回転させ、それを2次元であるモニターに投影する場合、各頂点の位置がどのように見えるかは、8つある頂点の、X、Y、Z軸それぞれの座標を行列変換するのに等しい。GPUコンピューティングこそ、まさにディープラーニングに求められている資質そのものだと言えるわけだ。

こうしたGPUコンピューティングをいち早く提唱し、実践してきたのが米NVIDIA社だ。同社はゲーミングPC用の「GeForce」、あるいはグラフィックワークステーション用の「Quadro」といったGPUで知られているが、いずれも同社のGPU用開発環境「CUDA」を用いたプログラムで、3Dグラフィックではなく特定の演算処理を行わせることができる。

●GPUはCPUの最大10倍速
○GPUコンピューティングの先端を走るNVIDIA

実際、GPUで処理した場合とCPUで処理した場合では、最大で10倍近くもの速度差が現れる。あたらしいアルゴリズムを組み上げ、データを処理させた結果を確認し、新たな推論を打ち立てる人工知能開発の現場において、数週間かかっていたデータ処理が数日で終わることのアドバンテージは計り知れない。

NVIDIAは同社のGPUコアと大量のメモリを搭載した「Tesla」ブランドの演算カードを開発しており、これをセットすることでPCやワークステーション、サーバーがGPUコンピューティングに対応したアプリを超高速で実行できるようになる。拡張スロットに取り付けるタイプのカードなので、1台の本体に対して数枚のカードをインストールすれば、性能向上に対する空間効率も非常に高くできる。

ディープラーニングにおいては、CaffeやChainer、Theanoといったディープラーニング用ソフトがNVIDIA Teslaに対応済みであり、実際にGoogleやIBMといった巨大企業のサーバーファームから、大学の研究室レベルまで、多彩なスケールで実際にTeslaを使ったディープラーニングが行なわれている。まさにNVIDIA Teslaの処理能力が人工知能の爆発的な進化を支えているかたちだ。

○NVIDIAがこれから目指すもの

GPUコンピューティングそのものは、NVIDIAのほかに米インテル社や米AMD社など、NVIDIAとGPUで競合するメーカーも開発を進めている。また、GPUの種類を問わず利用できる開発環境として「OpenCL」「DirectCompute」といった共通規格もあるのだが、インテルはCPU内蔵GPUに注力しており、単体で強力なGPUを開発していない。

AMDは単独のGPU「RADEON」シリーズを販売しているが、NVIDIAの「Tesla」に相当するGPUコンピューティング向けの演算カードは販売していない。特にTeslaのような演算カードの存在は、実際の研究機関などで採用されるにあたって大きなアドバンテージになる。開発環境の実績や充実度を見ると、実質NVIDIAの一強という状況だ。

また、NVIDIAはTeslaの高い処理能力を活用する場として、自動車業界をターゲットに挙げている。現代の自動車は随所にセンサーを設けており、それらから走行中に毎秒入力されるデータは非常に莫大な量になる。

さらに、これが自動運転車となると、カメラの映像や音波など、センサーの数も入力されるデータの量も格段に跳ね上がる。こうした大量のデータを瞬時に処理し、事故を起こさずに走行するよう、自動運転車には人工知能的なアプローチが行なわれているのだが、ここにTeslaの強力な処理能力を生かそうというわけだ。

このように、人工知能や自動運転といった次世代の重要な技術においては、GPUコンピューティングが非常に大きな役割を持つ。そして、GPUコンピューティングの進化を最前列で支えるNVIDIAの存在は、これからのIT分野や産業界において、その進化の速度を左右する、非常に重要なポジションを得ていくことは間違いない。

(海老原昭)