No.015 特集:5Gで変わる私たちのくらし
連載02 あらゆるモノに知性を組み込むAIチップ
Series Report

学習処理向けAIチップの開発も着々

Googleは、2017年に学習処理向けAIチップ、Cloud TPUの存在を明らかにした(図5)。現時点では詳細な仕様は明らかになっていないが、1チップ当たりの性能は45TFLOPSであり、機械翻訳のモデルを学習させた場合には、最速のGPUより4倍も高速であるということが分かっている。これらの情報から推測すると、16ビット浮動小数点演算器を搭載しているとみられる。

推論処理用のTPUと学習処理用のCloud TPU
[図5] 推論処理用のTPUと学習処理用のCloud TPU
出典:Google

高精度の浮動小数点演算の実行が欠かせないとされる学習処理だが、ここでも演算を単純化できる可能性を示す研究結果が出てきている。富士通は、8~16ビットの整数演算器を用いてディープラーニングの学習結果を処理しても、推論処理の品質をほとんど低下しないようにできることを示した。手書き文字認識では、32ビット浮動小数点演算での学習処理によって98.90%だった認識率が、16ビットで98.89%、8ビットでも98.31%と、ほぼ変わらないという。そして消費電力は、16ビットで50%、8ビットならば約75%削減できる。同社は、2018年に出荷予定のAIチップ「DLU*11」に、この技術の組み込みを目指している。

既存チップをAI関連処理向けに改良

GPUは、元々3次元グラフィックス処理の高速化を想定して作られたチップだ。3次元グラフィックス処理では高精度の浮動小数点演算が必須になるため、学習処理向きの機能が漏れなく搭載されている。ただし、推論処理での演算精度に関してはオーバースペックである。

推論処理というのは、自動運転車や工場の検査装置、監視カメラの画像認識など、様々な機器への搭載が想定されており、潜在市場は巨大だ。このためGPUメーカは、製品に第1世代AIチップのエッセンスを盛り込み、仕様を寄せてきている。これが既存チップ進化型のAIチップである。

GPU最大手のNVIDIAは、2016年後半に出荷を始めた製品「Tesla P4」や「Tesla P40」に8ビット整数演算を高速に実行する専用命令を投入した。さらに、サーバ向けの最上位GPU「Tesla V100」には、「Tensor Core」と呼ぶ積和演算を高速化する演算器を搭載。推論では16ビット浮動小数点演算を、学習では16ビットと32ビットが混在する演算を実行する。また、Microsoft社は、ヘッド・マウント・ディスプレイ「HoloLens」向けにAIチップ「HPU(Holographic Processing Unit)*12」を開発したが、このチップはTensilicaのDSPコアにAI用の命令を追加して、24個集積したものだ。このチップも既存チップ進化型の流れを汲んでいる。

GPUと同様にAI関連処理に利用されている既存チップであるFPGAは、プログラムによってチップ内の回路構成を自由に変更可能だ。このため、比較的無駄のないニューラルネットワークを構成できる。ただし欠点が1つある。学習処理に不可欠な浮動小数点演算ができないことだ。Intelは、買収したFPGAメーカAlteraの製品「Arria10」に、32ビット浮動小数点乗算器と加算機を搭載して、AI関連処理への適性を高めた。

また、マイクロプロセッサもAI関連処理に適応するための機能を搭載するようになってきた。Intel社は、サーバ機向けのマイクロプロセッサ「Xeon Phi」の機能を強化し、16ビット以下の浮動小数点演算を高速化した。科学計算などではあまり使わない低精度の浮動小数点演算を強化している点に、AIの学習処理での競争力を高めようとする意図がみえる。

様々なニューラルネットに対応できる汎用性

ニューラルネットワークの形には、様々な種類があり、応用によって使い分けられている(図6)。例えば、画像認識処理で高精細な画像を扱うときには、入力パラメータの数を増やす。「犬」や「猫」といった認識結果の項目が増えれば、出力パラメータの数を増やす。また、より高度な認識で正答率を高めたいと思えば、層を深くする。音声認識のような言葉の文脈を認識に活かしたい場合には、処理履歴を反映できるニューラルネットワーク・モデルを利用する。といった具合だ。

様々な形のニューラルネットワークを応用ごとに使い分けている
[図6] 様々な形のニューラルネットワークを応用ごとに使い分けている
出典:筆者

TPUは、特定のニューラルネットワークだけに特化したチップではない。AI関連処理に特化するための技術は投入しているが、様々な種類のニューラルネットワークにおいて、計算処理を高速化できる汎用性は維持している。これは、どのような応用のAI関連処理でも、高速に実行する必要があるデータセンターのサーバへの搭載を想定しているからだ。また、ディープラーニングは発展途上の技術であり、より進化したモデルが開発されても困らないような発展性も求められる。

TCPのような第1世代AIチップは、GPUなど汎用性の高いチップから、AI関連処理では必要のない機能を大胆に削り取ったチップであると言い換えることもできる。では、特定のニューラルネットワークの形に特化してAIチップを開発すれば、もっと高速化できるのか。実際にそのようなコンセプトで作られたAIチップが存在する。MobileyeのADAS(Advanced Driver Assistance System:先進運転支援システム)や自動運転車向け画像認識チップ「EyeQ」がその代表例だ。自動運転車で撮影した画像を認識する用途では、カメラの解像度や分類すべきモノの項目数、求められる精度などが一義的に定義しやすい。このため、汎用性を求めずに、無駄をさらに削ぎ落とした専用AIチップを開発できる。

[ 脚注 ]

*11
DLU: Deep Learning Unitの略。富士通のAIチップの名称であり、ディープラーニング関連処理に特化した内部構造を採用しているための、このように命名された。
*12
HPU: Holographic Processing Unitの略。MicrosoftのAIチップの名称であり、同社の仮想現実用ヘッド・マウント・ディスプレイ「HoloLens」にAI関連処理を盛り込むために設計されたたため、このように命名された。ちなみに製品名中にホログラフィックという言葉が含まれているが、HoloLensに採用されているのは立体画像を作り出すホログラムとは別の技術である。

Copyright©2011- Tokyo Electron Limited, All Rights Reserved.