検索
ニュース

なぜ、GPUはAIの研究開発に向いているのかMostly Harmless

AIやHPC(高性能計算)の分野で注目されているGPU。そのアーキテクチャの特徴や用途をまとめてみます。

Share
Tweet
LINE
Hatena

この記事は大越章司氏のブログ「Mostly Harmless」より転載、編集しています。


 以前TPUについて書いたときにも触れた通り、現在、ディープラーニングの学習や推論処理にはGPUを使うのが一般的になっています。なぜGPUを使うかというと、「安くて速い」からですが、その理由はアーキテクチャにあります。

GPUのアーキテクチャ

 GPUはGraphics Processing Unitの略で、その名の通り、3次元グラフィックスに必要な計算を高速に行うために専用に設計されたプロセッサです。Intelなどの汎用プロセッサは、さまざまな計算を行う必要があり、回路も複雑になっています。しかし、グラフィック計算のみを高速に行えればいいGPUは、回路がシンプルになります。

 汎用プロセッサでも、最近はメニーコアになっていますが、それでも数十程度が一般的です。回路が複雑ということは、チップ上に占める面積も大きくなり、1つのチップに載せられるコア数にも限界があります。

 しかし、最新のNVIDIAのGPU4000コアを内蔵しているということで、並列度が全く違います。

Photo

 3次元グラフィックスというのは、物体を多数の点に分解し、点と点を線で結び、線に囲まれた面に色を付け、光源の計算などを行います。物体を回転させたり移動させたりする場合には、全ての点について座標変換の計算が必要になります。これは大量のデータに対して同じ演算を行うSIMD(Single Instruction Multiple Data)型の並列処理で、演算コアを増やせば増やすほど効果が出ます。さらに座標変換は基本的には行列計算で、積和演算が中心となるため、GPUの演算コアは積和演算に特化した構造になっています。

 この3次元グラフィックスに特化したアーキテクチャが、ディープラーニングにぴったりだったのです。こちらのTPUに関する記事でも書きましたが、ディープラーニングの処理は並列性が高く、しかも積和演算が多用されるため、GPUを使いやすいのです。

AIだけではない、GPUの利用範囲

 実はGPUはAI研究だけではなく、さまざまな分野でHPC(High-Performance Computing:高性能計算)に使われています。AIに使われるようになったのは最近で、もともとHPC用途でした。一例が、このようなGPUを使ったスーパーコンピュータです。

Photo
世界初のベクトル型スーパーコンピュータ「Cray-1」

 スーパーコンピュータの元祖として知られている「Cray-1」が発表されたのは1975年。当時(そして現在も)主流だったスカラ型の汎用コンピュータでは時間がかかってしまう科学技術演算(ベクトル・行列計算を多用)のような計算処理を、高速に行うための専用のプロセッサとして開発されたベクトル型という方式を採用しています。

 スカラ型はプログラムを順番に処理していく方式、ベクトル型はひとまとまりの数値を一括で(並列に)取り扱う方式といえます。それ以降、しばらくの間、スーパーコンピュータといえばベクトル型を指すことになります。

 ちなみに、世界で最も高速なコンピュータシステムをランキングするTOP500というプロジェクト(実質的にスパコンのランキング)で、演算能力の計測に使われているベンチマーク用のソフトウェアライブラリは「LINPACK」といって、元は行列計算用の数学ライブラリです。

 当初は専用設計としても高速化のメリットがあったのですが、ベクトルプロセッサを専用に設計するのは期間もコストもかかります。

 近年では、既存の安価な汎用プロセッサを多数並列に動作させるマッシブパラレル(大規模並列演算)の方がコスト対効果において有利になってきました。現在でもベクトルプロセッサの開発を続けているのは、NECだけではないかと思います。

 理研の「京」は、Sun Microsystems(現Oracle)のライセンスで、富士通が開発したSPARKのカスタムプロセッサが9万個近く使われています。京が稼働したのは2012年、10ペタFLOPSで総開発費は1120億円といわれています。

 同時期に開発されていた長崎大学の「DEJIMA」は、プロセッサに380台のGPUを使い、158テラFLOPSを記録しました。これは京の600分の1の性能ですが、コストは3800万円と、京の3000分の1です(厳密には計算精度などが違うため単純な比較はできないようですが)。最高の性能ではないが、コストパフォーマンスは最高ということで、2009年に「ゴードン・ベル賞」の価格性能賞を受賞しています。

GPUの今後

 GPUはグラフィックス用のプロセッサなので、主な用途はグラフィックス用ですが、NVIDIAはグラフィックス用途以外の分野についても積極的です。

Photo

 グラフィックスというと、現状では多くがゲーム用途で、今後はVR用途などの伸びも考えられるものの、ある意味、ニッチな分野ともいえます。そのような中、HPCやAIの分野は、GPUにとって数少ない成長分野ということになるでしょう。

 ただ、AIに関しては、TPUのような専用プロセッサに移行していくような気もします。ハードウェアは目的を絞った方が効率は良くなりますので、GPUよりもさらに専用化が進んだTPUは、速度・電力効率などの面で有利です。とはいえ、これはあくまでも現在のディープニューラルネットワークを使い続ける場合の話で、NVIDIAもいっている通り、専用化し過ぎると、それ以外の用途には使えません。ディープニューラルネットワーク以外の選択肢が出てきたときには、汎用性の高いGPUの方が有利ということになるでしょう。

著者プロフィール:大越章司

外資系ソフトウェア/ハードウェアベンダーでマーケティングを経験。現在はIT企業向けのマーケティングコンサルタント。詳しいプロフィールはこちら


Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る