ハードから読み解くITトレンド放談

AIや仮想通貨ブームで沸き立つGPU(前編)--市場とNVIDIAの動き - (page 3)

山本雅史

2018-02-27 06:00

 このように、CPUとGPUでは処理する内容や得意分野が異なるため、AIの処理ではCPUとGPUを組み合わせて行う。現在、AIの処理で利用されているフレームワークには、「TensorFlow」(Googleがオープンソースとして開発)、「Chainer」(Preferred Networksが開発)、「CNTK」(Microsoftが開発)、「Caffe」(Facebookがオープンソースで開発)がある。これらのフレームワークは、GPUに対応して処理を高速化するようになっている。

 AI処理で使用されているニューラルネットワークは、人間の脳神経細胞(ニューロン)と同じような仕組みをプログラミングし、データを入力して、出力するというものだ。プログラマーが処理をプログラミングするのではなく、数多くのデータを入力して正解を指定し、自動的に学習させていく。つまり、プログラマーがニューラルネットワークのプログラミングをしなくても、フレームワークを使用することで、自動的に学習(機械学習)が行われる。

 ニューラルネットワークでは、複数階層のネットワークを構成してAI処理を行うため、計算処理が膨大になる。CPUなどの処理では、膨大な時間がかかることになる。AIの処理自体は、浮動小数点の行列計算が主になる。また、複数の処理を分割することができるため(並列性が高い)、複数の演算ユニットに処理を分散できる。このため、多数の浮動小数点演算ユニットを持ち、一気に処理ができるGPUは、AI処理にぴったりのハードウェアといえる。

 NVIDIAでは、GPUプログラミングをサポートするために「CUDA(Compute Unified Device Architecture)」というプログラミングモデルやツールを用意している。NVIDIAがAI分野でトップを走るのは、ハードウェア単体の性能だけでなく、AI処理のフレームワークを高速化するソフトウェアライブラリ、フレームワーク自体をGPUに対応してもらうための開発ツールなど、ソフトウェアを含めたシステムとしてのサポートが手厚いからだろう。


VoltaアーキテクチャのSMの概要。特に、AI向けにTensorコアが追加されている(GTC Japan2017の資料より)

 特にTesla V100では、AI処理を高速化するために、Tensorコアを搭載している。Tensorコアは、4×4行列の16/32ビットの浮動小数点演算の積和演算を1サイクルで行える。今までだと複数の浮動小数点演算を組み合わせて、行列の積和演算を行っていた。しかしTensorコアの追加により、128サイクルかかった演算が1サイクルで行える。つまり、行列計算においては128倍の性能を持つ。ちなみに、複数のTensorコアをまとめて16×16の行列演算を行うことができる。


Tesla V100で採用されたTensorコアは、行列計算を一気に行える(GTC Japan2017の資料より)

 NVIDIAは、Tesla V100で追加されたTensorコアを利用できるようにcuBLAS、cuDNN、TensorRTなどのライブラリを提供している。これらのライブラリを利用すること、最新のTesla V100 GPUでも既存のAIフレームワークをGPUで高速化することができる。

 後編ではNVIDIAを追うAMDとIntelの動きを解説する。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

所属する組織のデータ活用状況はどの段階にありますか?

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]