GPUとはーCPUとの違いからディープラーニングへの活用まで

パソコンのスペックの話題でよく耳にする「GPU」。この言葉と音の響きがよく似ているものとして「CPU」という用語もあり、混同している方も多いのではないでしょうか。

本記事では、GPUの中身について、CPUと比較しながら解説し、近年注目を浴びているGPUサーバーやディープラーニングへの活用についても説明していきます。

GPUとは

GPUとは、コンピュータに搭載される半導体チップの1種であり、「Graphics Processing Unit(画像処理装置)」の略称です。文字通り、画面表示や画像処理に特化した演算装置であり、特に3DCG描写(3次元グラフィックス)や動画の圧縮、展開などにおける演算を高速で並列処理することに優れています。

一方で、CPUとは、コンピュータの頭脳・司令塔に相当するもので、「Central Processing Unit(中央演算処理装置)」の略です。マウスやキーボードなどの他の装置や回路の制御、そしてデータの演算の両方を行います。

いずれの半導体チップもコンピュータの性能を決定づける重要な構成要素の1つであり、計算処理を実行しますが、CPUはコンピュータ内で中心的な役割を担っており連続的で複雑な処理を得意とする一方、GPUは同時に複数の計算を行う並列処理を採用しており、単純かつ大量な計算を得意としています。

GPUとCPUの構造的な違い

もともとコンピュータにおけるすべての計算はCPUが担っていました。しかし、映像技術の発展に伴い画像処理の負担が増加したため、負荷の高いグラフィック処理を担当するパーツとしてGPUが生まれました。

CPUとGPUの役割の違いは、両者に搭載されたコアの数に表れています。コアとは文字通りCPU等の中心部分であり、実際の計算処理などを行う部品です。現在の一般的なCPUは2~8個のコアを搭載しており、個数に応じてデュアルコア(2個)、クアッドコア(4個)、オクタコア(8個)などと呼ばれています。コアの個数が多いほど性能も高く、複数のコアにより命令を同時並行で処理することができます。

一方のGPUは数千個のコアを搭載しており、これにより膨大な計算処理を可能としています。コンピュータは様々な計算を実行しますが、その中には同様のプロセスで処理できるようなものも数多く発生します。CPUの場合はこのような計算を1つずつ実行していくしかありませんが、GPUはコアを多く搭載しているため同時に複数の処理をすることができ、定型的かつ膨大な計算を効率的にこなすことができます。そして、グラフィック処理は同一の計算が多数発生するものの最たる例です。グラフィック描写では、グラフィックの細部を表現するために多くの計算が必要であり、微妙な表現の変化を表すために多くの同一処理が必要となるため、GPUの並列計算能力が活かされます。

GPUの種類

GPUは主に2種類に分類されます。一つは、マザーボードにあらかじめ搭載されたり、CPUなどに統合された形で提供されるiGPU(integrated GPU、統合・内臓GPU)。もう一つは、専用の半導体基板に実装され、グラフィックスボード(ビデオカード)としてコンピュータの拡張スロットに追加して使用するdGPU(discrete GPU)です。

マザーボードとは、CPUやメモリなどの部品が搭載されたパーツのことで、マザーボード上のCPUからGPUが命令を受けます。グラフィックボードを搭載したパソコンは、3Dグラフィックスの描写に優れている一方、コストや消費電力が増加してしまうといったデメリットもあります。

GPUの新たな活躍の場―GPUサーバー、そしてディープラーニングへ

もともとは膨大な計算処理を必要とするグラフィック処理のために生み出されたGPUですが、近年ではその高い計算能力から別の分野にも活用され始めています。それが、GPUサーバーとディープラーニングです。

通常のサーバーにはCPUを搭載しますが、その高い演算性能を活かすため、CPUの代わりにGPUを搭載したGPUサーバーが登場し、人々の関心を集めています。GPUサーバーが注目を集める理由の1つとして、GPUサーバーがディープラーニングに適していることにあります。

ディープラーニングとは、近年盛んに研究が進んでいる機械学習の技術の1つであり、優れたAIシステムを構築するのに欠かせないものとなっています。ディープラーニングでは、AIが精密な予測や正確な判断ができるようにするために、大量のデータを読み込ませ、コンピュータが自らそのデータから規則性や特徴などの特微量(入力データの注目すべきポイント)を導き出します。その際に膨大な量の計算処理が発生しますが、その計算のプロセスは大幅に変化することがないため、高い並行処理能力を持つGPUによって構成されたサーバーが大いに役立つのです。

また、最近ではディープラーニングは自然言語処理の分野でも活躍しているものの、ディープラーニングが登場した当初はこれを活用した自然言語処理AIの開発がうまくいっていませんでした。文章の中で指示語や代名詞などの意味を捉えなければならない場合は通常、RNNと呼ばれる時系列を扱うための構造を用いますが、その場合、文中で順序による依存関係を考慮する必要があるため、該当する単語を擁する文中や複数の文などを辿らなければならず、GPUによって並列的に処理することが困難だったのです。

そこで、新たにAttentionという手法が考案されました。Attentionとは、文章中の単語に焦点を当て、その単語と関係する文章中のあらゆるつながりを見つけるという手法であり、文法的な性質は考慮しないのが特徴です。そのため、コンピュータのメモリ上にすべての文章が収まれば、画像中の一部分の特徴を他の箇所と比較するかのようにすべての文章を処理することができ、時系列を考慮する必要がなくなります。これによって、自然言語処理の分野においてもGPUを活用した効率的な並列処理が可能となりました。

もともとはグラフィック処理を担当するパーツとして誕生し、現在はAIの分野にまで活躍の場を広げるGPU。本記事ではCPUとの違いに着目しながらその特性や能力などについて解説しました。GPUの演算性能は今後も向上し続け、IT化の進む我々の生活や社会を支えてくれるでしょう。