ニューラル・ネットワークと力の指輪SYSTEM DESIGN JOURNAL(3/5 ページ)

» 2016年07月06日 09時00分 公開
[Ron Wilson(Editor-in-chief,Altera),MONOist]

CNNを実用化させるアクセラレータ

 これらの課題を打開する方法の1つは、CNNのトレーニングと実行を専用ハードウェアで高速化することです。どちらのタスクも主に行列演算であるため、広いメモリ帯域幅と多数の乗算器を備えたチップがうまく機能します。例としてGPUとFPGAが挙げられますが、Welser氏によればIBMではどちらも使用したことがあります。

 CNNの計算は、勾配降下アルゴリズムによる強化学習を使用している限り、十分に理解されており、安定しています。従って、CNNの大成功が大量市場を創出し、チップの開発コストが正当化されることを期待して、計算を処理するASICをデザインすることも可能です。まさにそれを行っているチームが少なくとも2つあります。

「Tensor Processing Unit」(TPU) 「Tensor Processing Unit」(TPU)

 最も注目を浴びているのはGoogleです。同社は、最近のI/O Conferenceにおいて、ディープラーニングASICである「Tensor Processing Unit」(TPU)を開発、同チップを1年前からアクセラレータとして使用していることを認めました。また、「AlphaGo」システムもアプリケーションの1つであると断言しています。TPUのアーキテクチャについては明らかにしていませんが、同社の「TensorFlow」人工知能ライブラリをサポートするように構築されているものと見られています。

 Googleだけではありません。Computer Societyのイベントでは、新興企業のNervanaが同じく「TPU」と名付けられた同種のチップについて説明しました。同社最高技術責任者(CTO)のAmin Khosrowshahi氏の説明では、同社は現在、CPUとGPUアクセラレータを使用した機械学習プラットフォームを、クラウドベースまたは顧客サイトでサービスとして提供しており、間もなくGPUを新しいTPUに置き換える予定としています。

 TPUは、基本的にRAMの「海」の中に乗算器のアレイを配置したものであるため、GPU の100倍以上の乗算器を搭載することが可能とKhosrowshahi氏は述べ、アーキテクチャの発想を得たものとしてAnton分子動力学コンピュータを挙げました。

 Nervanaの設計者はメモリ容量に重点を置くことにより、メモリを多用するCNNの世界に適応させています。そのため、同チップは1TBps のDRAM帯域幅を確保するためにHBM積層DRAMを採用し、大容量不揮発性メモリに直接アクセスするため、統合NVMeポートを採用する予定です。

 Nervanaのチップは、Google TPUと同様に、「トレーニングには通常、浮動小数点精度が必要であるが、CNN の実行は8bitあるいはそれ以下の小さな整数でも精度に影響を与えることなく可能であること」を示す最近の研究を利用しています。そのため、どちらのチップも減精度整数演算(reduced-precision integer arithmetic)をサポートしています。

 IBMはさらに一歩先を行っており、演算をほとんど実行しないチップを開発しました。その「True North」チップは、むしろ生体ニューロンのエミュレーションです。Nervanaのチップが13のカリフォルニア大学バークレー校の高性能コンピューティングモチーフを全て高速化でき、トレーニングと実行の両方を支援できるのに対し、IBM True Northは演算指向ではないとWelser氏は説明しました。

 むしろ、和、差、最小/最大、パルス符号、ヒステリシスのほか、生体神経細胞に見られるその他多くの未知の挙動をエミュレートします。このチップはトレーニングに使用するものではないとWelser氏は言います。多くの場合、人間が大規模に介入してデータセンター内でトレーニングを行った後、その結果をTrue Northチップ内にコード化します。True Northチップのアレイは、CNNよりはるかに幅広い能力を備えていることに加え、大規模CNNと同等の実行時の動作をすることができ、多くの場合、エネルギーおよび性能の点で大いに有利になることが判明しつつあります。

Copyright © ITmedia, Inc. All Rights Reserved.