ページの先頭です


ページ内移動用のリンクです

  1. ホーム
  2. IIJについて
  3. 情報発信
  4. 広報誌(IIJ.news)
  5. IIJ.news Vol.182 June 2024
  6. AIに使われるGPUとは何か?

インターネット・トリビア AIに使われるGPUとは何か?

IIJ.news Vol.182 June 2024

執筆者プロフィール

IIJ 広報部 技術担当部長

堂前 清隆

IIJの技術広報担当として、技術Blogの執筆・YouTube動画の作成・講演活動などを行っています。これまでWebサイト・ケータイサイトの開発、コンテナ型データセンターの研究、スマホ・モバイル技術の調査などをやってきました。ネットワークやセキュリティを含め、インターネット全般の話題を取り扱っています。

最近、AIが大きな話題になっていますが、AIを動かすために欠かせない部品として「GPU」にも注目が集まっています。GPU(Graphics Processing Unit)は、その名の通り、画像処理のための部品でした。なぜ画像処理の部品がAIに使われるのでしょうか? それをひも解くために、GPUの誕生から振り返ってみましょう。

コンピュータが扱う画像は「点」の集合であり、コンピュータが管理するメモリには、それぞれの点に対応した領域が確保されています。コンピュータが画像を描くというのは、結局のところ、メモリに色の情報を書き込むことです。

昔のコンピュータでは、メモリに書き込みを行なうのはCPUの役割でした。例えば、200×200の塗りつぶした四角形を描くためには、4万回の書き込みが必要です。これは非常に単純な作業ですが、4万回の繰り返しが終わるまで、CPUはほかのことができません。そこで、描画のような単純作業はCPUではなく、補助的に動作する別の部品に担当させるというアイデアが生まれました。この部品は「グラフィックス・アクセラレータ」と呼ばれました。

グラフィックス・アクセラレータの登場により、CPUは「線を引け」「塗りつぶせ」といった命令を送るだけで済むようになり、グラフィックス・アクセラレータが画像を描いている最中にほかの処理をできるようになったのです。

その後、コンピュータの性能が高まり、高度な三次元画像を扱うようになると、二次元とは異なるさまざまな処理が必要になり、グラフィックス・アクセラレータに転機が訪れました。例えば、三次元の図形の描画では「点の回転」が重要です。三次元の図形を二次元であるコンピュータのディスプレイに投影するのにこの作業は欠かせません。一つの点を回転させるだけで、三角関数や四則演算が数十回必要になり、実用的な三次元画像を描画するには、こうした回転を数百万~数億個の点に対して行なうこともあります。

ところで、三次元画像描画のための演算は、複数の計算が互いに影響せず、独立して行なえるものが多いという特徴があります。そこで、グラフィックス・アクセラレータに多数の演算ユニットを搭載し、計算を並行して進めるというアイデアが登場しました。このアイデアは非常に良く機能し、コンピュータの三次元画像を飛躍的に発展させました。こうした演算ユニットを多数搭載したグラフィックス・アクセラレータが「GPU」と呼ばれるようになりました。

当初、GPUに搭載された演算ユニットは特定の演算に特化したものでしたが、GPUの進化にともない、さまざまな演算が可能になりました。そこでGPUを画像処理だけでなく、汎用的な演算に利用するというアイデアが生まれ、GPGPU(General-Purpose computing on Graphics Processing Units)と名付けられました。

GPUに搭載された演算ユニットは比較的単機能で、多数のデータに対して同じ計算を延々と繰り返すことを得意としており、パターンに適合する演算については極めて高い性能が得られます。数学的には「行列演算」などがこれに相当します。

近年注目されているニューラルネットワークを用いたAIは、多数の行列演算の集合体として実装されます。これをCPUで実行すると非常に計算時間がかかりますが、GPGPUなら大幅に短縮できます。このため、AIにGPUが多用されることになったのです。

なお、GPUは高い演算性能を持っている反面、何らかの条件に合わせた処理の変更や、画面表示以外の周辺機器との入出力などは得意でないため、こうした処理は引き続きCPUが担っています。GPUは高い計算能力を持っていますが、コンピュータの部品のなかでは、あくまでも補助的な位置づけなのです。


ページの終わりです

ページの先頭へ戻る