「CPU」と「GPU」の仕事がこれほど違う“根本的な理由”:AI時代のプロセッサ再入門【第2回】
AI技術が広く使われるようになる中で、CPUとGPUは共にますます重要なプロセッサとしての役割を果たしている。CPUとGPUの役割にはどのような違いがあるのか。
「CPU」(中央処理装置)は、全てのコンピュータに欠かせないプロセッサだ。「GPU」(グラフィックス処理装置)を利用することも、昨今ますます一般的になっている。機械学習などのAI(人工知能)技術の利用においても、CPUとGPUはそれぞれ演算処理における重要な役割を果たしているが、その役割には大きな違いがある。
「CPU」と「GPU」の仕事はなぜこれほど違うのか
併せて読みたいお薦め記事
AI時代のプロセッサ再入門
プロセッサ関連のその他の動向
CPU
CPUは、全てのコンピュータに欠かせないプロセッサだ。企業のシステムにおいては、GPUを活用することもますます一般的になっている。機械学習などのAI(人工知能)技術の利用が広がる中で、CPUもGPUも演算処理における重要な役割を果たしている。
CPUはAI技術の処理に特化するよりも、複雑で多様なタスクを処理することを得意としてるが、AI技術のタスクにも参加する。CPUは複数のプロセッサによる処理を含めて全体の指揮を執る他、CPU自身がAIアプリケーションの演算処理を担うこともある。CPUはAI技術に関連した複雑な演算処理を実行できる。
CPUの問題の一つは、CPUが効率的に処理できる命令パイプライン(命令を段階に分けて処理するプロセス)の数に限界があることだ。CPUは、高負荷の並列処理は得意としていない。複雑なタスクを同時に大量に実行するよう求められると、CPUの処理能力は大幅に落ちる可能性がある。
CPUはAIアプリケーションを起動して実行するものの、CPUが直接的に処理するAI関連のタスクは一部に限定される。例えば以下のような用途がある。
- 比較的シンプルなAI関連タスク
- 少ないトレーニング用データで学習する「フューショット学習」や「ワンショット学習」など
- メモリ要件が高いタスク
- 推論、システムのトレーニングなど
- 並列化(大きな処理を分割して実行すること)が必要ないタスク
- リアルタイム推論、機械学習アルゴリズムの実行など
- 系列データを必要とするタスク
GPU
GPUは処理できるタスクの範囲は限られているが、大量の処理を同時に実行することが可能だ。CPUがさまざまなタスクを効率的に処理できる少数の大きな汎用(はんよう)のコア(演算装置)を持つのに対して、GPUは大量のデータを同時に処理するために小さなコアを多数持つ。GPUは特定の演算処理用に設計される。
AIモデルをトレーニングする際は、膨大な量のデータセットを用いるのが一般的だ。その際の演算処理は、CPUでは担い切れない規模になる。そうしたAI関連のタスクを高速で機能させるために、GPUによる並列処理が使われるようになった。
GPUは以下のようなAI関連のタスクで使われている。
- ニューラルネットワーク(人間の脳の神経回路を再現した機械学習の要素技術)の開発、トレーニング、運用
- ビッグデータ分析
- 製薬や生物学的な研究
- ディープラーニング(深層学習)による画像認識
- その他、トレーニングを必要とする機械学習関連タスク
大規模な並列処理が得意というGPUの長所は、欠点にもなり得る。そのため、GPU向けのAIアプリケーションを設計する際は、複雑さを最小限に抑える必要がある。分岐ロジックや連続的に実行する複雑なプロセスがあると、GPUを使うコストメリットは低下する可能性がある。
次回は、AI需要の拡大とともに台頭してきたTPU(テンソル処理装置)について解説する。
TechTarget発 先取りITトレンド
米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.