要点

マサチューセッツ工科大学教授(コンピュータ科学)のニール・シャビットはマウスの脳の地図を再構築するプロジェクトに取り組んでおり、深層学習の助けを必要としていた。GPUのプログラム方法を知らなかった彼は、代わりにCPUを選択した。彼は効率的にCPUで深層学習の推論をする手法を発見した。

CPUで深層学習の推論が可能

驚いたことに、彼は、CPUはGPUと同じことができることに気がついた。この洞察は現在、彼のスタートアップであるNeural Magicの基礎となっており、6月、最初の製品群を発表した。このアイデアは、どのような企業でも、特別なハードウェアを必要とせずにディープラーニングモデルを展開できるようにすることだ。それはディープラーニングのコストを下げるだけでなく、AIをより広く利用できるようにするというものだ。

GPUがディープラーニングのためのハードウェアとして選ばれるようになったのは、主に偶然のことだった。このチップは当初、ビデオゲームのようなアプリケーションでグラフィックを素早くレンダリングするために設計された。さまざまな計算を行うために4~8個の複雑なコアを持つCPUとは異なり、GPUは特定の演算のみを実行できる数百個のシンプルなコアを持っているが、それらのコアは次から次へと演算を行うのではなく、同時に演算に取り組む(並列処理)ことができるため、集中的な計算を完了するのにかかる時間を短縮することができる。

AI研究コミュニティが、このような大規模な並列化がGPUをディープラーニングにも最適なものにしていることに気づくのに時間はかからなかった。グラフィックスレンダリングと同様に、ディープラーニングでは、単純な行列積を何十万回も実行する必要がある。2011年、GoogleはチップメーカーのNvidiaとの共同研究で、猫と人間を区別するために2,000のCPUで学習したコンピュータビジョンモデルが、わずか12のGPUで学習しても同じ性能を達成できることを発見した。GPUは、モデルのトレーニングと推論(訓練されたモデルが訓練されたタスクに使用されたときに発生する計算プロセス)のための事実上のチップとなった。

しかし、GPUはディープラーニングには完璧ではない。まず、GPUはスタンドアロンチップとしては機能しない。実行できる操作の種類が限られているため、それ以外のすべてを処理するためにはCPUに接続しなければならない。GPUはまた、チップのプロセッサに最も近いデータ保存領域であるキャッシュメモリの量も限られている。これは、データの大部分がオフチップに保存されており、処理の時期になったらデータを取り出さなければならないことを意味する。この往復のデータフローが計算のボトルネックとなり、GPUによる深層学習アルゴリズムの実行速度が制限されている。

近年、これらの問題を回避するAIチップを設計する企業が何十社も登場している。問題は、ハードウェアが専門化すればするほど高価になることだ。一般的に、企業は多くの機械学習プロジェクトを進行中で、高価なリソースをクラウド上で稼働させている一方で、データセンターのために新たに専用のハードウェアを購入することになる。その結果、コンピュータ・ビジョン・アプリケーションのコストは高く、ポジティブな結果を得るためのハードルは不明確で、なかなか手が届かない。

Neural Magicは、この流れに逆らおうとしている。同社はハードウェアをいじるのではなく、ソフトウェアを修正した。チップの大容量メモリと複雑なコアを利用して、CPU上でより効率的に動作するように深層学習アルゴリズムを再設計したのだ。このアプローチでは、GPUの並列化によって達成された速度は失われるが、チップ上でデータをやり取りする必要がなくなることで、同じくらいの時間を取り戻すことができると、同社は報告している。同社によれば、アルゴリズムはCPU上で「GPUの速度で」実行できるが、コストは数分の1になるという。

Neural Magic社は、これまで誰もこのアプローチを取らなかったのには、いくつかの理由があると考えている。第一に、それは直観的ではないということだ。ディープラーニングには特殊なハードウェアが必要だという考えは非常に定着しているので、他のアプローチは簡単に見過ごされてしまうかもしれません。第二に、産業界でのAIの適用はまだ比較的新しく、企業は深層学習アルゴリズムを展開するためのより簡単な方法を探し始めたばかりだ。しかし、Neural Magicが軌道に乗るのに十分なほど需要があるかどうかはまだ不明だ。同社は、10社程度の企業で製品のベータテストを行っているが、これは、より広範なAI業界のごく一部に過ぎない。

Neural Magic社は現在、コンピュータビジョンにおける推論タスクのための技術を提供している。クライアントは、専用のハードウェア上でモデルを訓練する必要があるが、その後、Neural Magicのソフトウェアを使用して、訓練されたモデルをCPUと互換性のある形式に変換することができる。あるクライアントは、顕微鏡装置の大手メーカーで、現在、顕微鏡にオンデバイスのAI機能を追加するために、このアプローチを試しているという。顕微鏡にはすでにCPUが搭載されているため、追加のハードウェアは必要がない。対照的に、GPUベースの深層学習モデルを使用すると、装置が大きくなり、電力を消費することになる。

別のクライアントは、防犯カメラの映像を処理するためにNeural Magicを使用したいと考えている。そうでなければ、映像をクラウドに送信しなければならず、プライバシーの問題が発生したり、監視する建物ごとに特別なハードウェアを購入しなければならなかったりする。

推論もまた始まりに過ぎないという。Neural Magicは将来的には、企業がCPU上でAIモデルを訓練するのを支援するために、そのサービスを拡大する予定だ。

Image via Neural Magic