セミコンポータル
半導体・FPD・液晶・製造装置・材料・設計のポータルサイト

Imagination、CNN推論用アクセラレータAIコアを提供

英国のIPベンダー、Imagination Technologiesは、推論専用のAI向けIPコア「PowerVR 2NX NNA」のライセンス提供を開始した。クラウドを通すとレイテンシが遅くなるエッジやフォグなどの用途に使うだけではなく、モバイルにも使えるほど消費電力は少ないという。「セキュリティAIをエッジに持ってくる」と同社PowerVR 担当DirectorのChris Longstaff氏は強調する。

図1  Imagination Technologies PowerVR 担当DirectorのChris Longstaff氏

図1  Imagination Technologies PowerVR 担当DirectorのChris Longstaff氏


このIPを使えば、例えば1000枚の写真を学習した検索エンジン(AIマシン)から、欲しい写真を見つけるのに、高性能GPUなら60秒かかるところ、わずか2秒で求められるとしている。バッテリ寿命の1%の時間を使って分類できる写真枚数は、GPUの2400枚に対して、42万8000枚にものぼるという。また、ドローン用ではハードウエアを搭載しない場合、対象物から10~15m離れていないと演算が間に合わず衝突してしまうが、このIPコアを集積していれば1mまで接近しても衝突を避けられるとする。

推論用チップは、これまでモバイル用途はなく、このIPコアは、GoogleやApple、Facebook、百度(Baidu)、華為などのスマホメーカーがAI/ニューラルネットワークをモバイルへ広げようとしていることに対応するもの。このIPコアは、アクセラレータとして機能し、CPUと共に動作する。モバイル用途として、低消費電力と小さな回路面積が必要で、オプションだがMMU(メモリ管理ユニット)も集積できる。Androidをサポートしている点も特徴だ。ちなみに16nmプロセスでこのIPコアを集積すると1.1mm2程度の面積だとしている。

Imaginationがニューラルネットワークアクセラレータと呼んでいるこのIPコアは、ニューラルネットワークの推論アクセラレータとしての性能指数である推論数/秒や、コスト効率を表す推論数/mm2、消費電力を表す推論数/mWという指標で表すと、数字を公開していないがすべて最高だとしている。またアクセラレータであるため、演算処理するためのハードウエアを備えており、ドライバ用のホストCPUとやり取りする。

図2 PowerVR 2NXファミリは推論用IPコア 出典:Imagination Technologies

図2 PowerVR 2NXファミリは推論用IPコア 出典:Imagination Technologies


このIPコアはあくまでも推論用のIPコアである。学習をクラウド上のスーパーコンピュータやGPUのHPC(高性能コンピューティング)などで行い、ネットワークモデルや学習データをマシンラーニングのフレームワークに格納している。この中に、オープンソースのディープラーニングライブラリTensorFlowやCaffeなどを持っている。これらのライブラリから対象とするパターンを推論するための形式に変換するのにImaginationが提供するPowerVR NNA Toolを使う。Imaginationは変換ツールに加え、DNNのAPIも提供する。

ニューラルネットワークの演算は基本的に行列演算で、積和演算が中心になる。データに学習用の重みを掛け算しネットワーク全てのニューロン接続分を加えるという作業が必要だからである。このためこれまではGPUやDSPが向いていたが、データビット数は固定しており、演算すべき対象物によって変えられなかった。このため、無駄な演算も含まれており、消費電力が大きかった。GoogleのTPUは、レイヤーごとにデータビット数を変えることで、消費電力を1/10に下げたという実績がある。このため、GPUやDSPではなく、AI専用のチップが求められている。

このPowerVR 2NX NNAでは、画像認識用のCNN(畳み込みニューラルネットワーク)演算に必要な、画像の畳み込みからフィルタをかけたアクティベーション層、レイヤーを縮小するプーリング層、最後に完全接続層に至る操作を全て、このIPで行うデータフローシステムを備えている(図3)。この結果、最小の面積で最大のMAC数/クロックを演算できる。

図3 PowerVR 2NXはCNNの動作を全て実行する 出典:Imagination Technologies

図3 PowerVR 2NXはCNNの動作を全て実行する 出典:Imagination Technologies


PowerVR 2NX NNAのアーキテクチャは、データビット数を32ビットではなく、16ビットや8ビット、4ビットと必要に応じて軽くできることが特長となっている。積和演算に必要なデータビットと重み付けのビット数は、レイヤーごとに8ビット~4ビットで設定できる。

MACは標準構成として拡張性を持たせており、16ビット/クロックのMAC(積和演算器)を128~1024個、8ビット/クロックのMACを256~2048個備えており、ニューラルネットワークのレイヤーごとに最適なビット数を選ぶことができる。またビット深さはデータと重みについて柔軟に変えることができ、16ビットから、12、10、8、7、6、5、4ビットまでサポートしている(図4)。加えて、このアクセレレータ内でデータフローを最適化しているため、外部メモリへのアクセスは最小になっている。また、MMUをオプションで集積すれば、アンドロイドなどのOSにも対応できる。

図4 PowerVR 2NXを使ったデータフロー レイヤーごとにデータ/重みビット数を変えられる 出典:Imagination Technologies

図4 PowerVR 2NXを使ったデータフロー レイヤーごとにデータ/重みビット数を変えられる 出典:Imagination Technologies

このPowerVR 2NX NNAニューラルネットワークのアクセラレータIPコアは、CNNに沿った認識処理を得意とするため、IoTビデオモニターをはじめ、サーベイランス(監視カメラ)、セキュリティなどのシステムに向く。消費電力が小さいという魅力はモバイルカメラにも監視カメラ機能を付けられることを意味する。

画像認識に使うCNNでは、ディープラーニングライブラリはTensorFlowやCaffeなどが中心であるため、これらをサポートしているが、他のライブラリも必要ならばサポートしていくとLongstaff氏はいう。

(2017/09/26)

月別アーカイブ