コンテンツにスキップ
LinkedInX

CPUとGPUの違い

約5分

対象読者: コンピューターの仕組みに興味があるプログラミング入門者・AI学習者の方
前提知識: クラウドコンピューティング入門 を読んでいると、実際の利用シーンがイメージしやすくなります

「AIの学習にはGPUが必要」「CPUとGPUは何が違うの?」——ニュースやクラウドサービスでよく見かけるこれらの言葉を正確に理解することで、コンピューターがどのように計算を行うかの土台が固まります。AIやウェブ開発の文脈でも必ず登場する概念です。

CPU(Central Processing Unit:中央処理装置)はコンピューターの「脳」と呼ばれる最も重要なパーツです。プログラムの命令を一つひとつ解釈・実行し、コンピューター全体の処理を制御します。

CPUは少数の高性能なコア(Core)で構成されています。

  • 一般的な個人向けCPUのコア数: 4〜24コア
  • 各コアは複雑な命令を高速に処理できる
  • 大容量のキャッシュメモリ(素早く読み書きできる記憶領域)を持つ
  • クロック周波数が高く、1つの処理を素早く完了させることが得意
CPU(8コアの例)

┌──────────────────────────────┐
│  Core 1  Core 2  Core 3  Core 4  │
│  Core 5  Core 6  Core 7  Core 8  │
│                                  │
│     (大きくて賢いコアが少数)       │
└──────────────────────────────┘
  • Intel Core i9AMD Ryzen 9(デスクトップ・ノートPC向け)
  • Apple M4(Mac向け。GPU機能も統合)
  • AWS Graviton(クラウドサーバー向け)
  • Webブラウザの操作・文書作成・表計算など日常的なアプリの実行
  • プログラムのif文・ループなど複雑な分岐処理
  • OSの管理・ファイルの読み書きなどコンピューター全体の制御
  • データベースへのクエリ実行など逐次的な処理

GPU(Graphics Processing Unit:グラフィックス処理装置)はもともとゲームや映像の描画を高速化するために開発されたパーツです。現在はAI・機械学習・科学計算の分野でも広く使われています。

GPUは大量の小さなコアで構成されています。

  • 一般的なGPUのコア数: 数千〜数万コア
  • 各コアは単純な計算しかできないが、同時に大量の計算を実行できる
  • 並列処理(たくさんの計算を同時に行うこと)が得意
GPU(数千コアの例)

┌──────────────────────────────────────┐
│ c c c c c c c c c c c c c c c c c c │
│ c c c c c c c c c c c c c c c c c c │
│ c c c c c c c c c c c c c c c c c c │
│ c c c c c c c c c c c c c c c c c c │
│      (小さくて単純なコアが大量)        │
└──────────────────────────────────────┘
※ c = 1コア(実際は数千〜数万個)
  • NVIDIA GeForce RTX 4090(個人向けゲーム・AI処理)
  • NVIDIA H100(データセンター・AI学習向け。1枚数百万円)
  • AMD Radeon RX 7900 XTX(個人向けゲーム・クリエイター向け)
比較項目CPUGPU
コア数数コア〜数十コア数千〜数万コア
1コアの性能高い(複雑な処理が可能)低い(単純な計算のみ)
得意な処理スタイル逐次処理(1つずつ高速に)並列処理(大量を同時に)
用途アプリ実行・OS管理・制御処理画像描画・AI学習・科学計算
価格帯(個人向け)2万〜10万円程度5万〜30万円程度
消費電力65〜200W程度200〜600W程度
  • CPU はベテランシェフが1人。複雑なレシピを完璧にこなせるが、一度に1品しか作れない
  • GPU はアルバイトが1,000人。できる作業はシンプルだが、1,000皿を同時に盛り付けられる

どちらが「優れている」という話ではなく、目的によって使い分けるのが重要です。

ディープラーニングの計算は「行列の掛け算」

Section titled “ディープラーニングの計算は「行列の掛け算」”

AIの学習(ディープラーニング)では、ニューラルネットワークと呼ばれる構造を使います。このネットワークを学習させる際に行われる計算のほとんどは、行列の掛け算(大量の数値をかけ合わせる操作)です。

ニューラルネットワークの学習(簡略化)

入力データ(数値の配列)
    × 
重み行列(何百万〜何十億もの数値)

出力結果

この掛け算を何百万回も繰り返す

この計算の特徴は「すべての掛け算が互いに独立していて、同時に計算できる」という点です。

CPU(8コア)GPU(10,000コア)
行列の掛け算を1,000万回実行1つずつ順番に処理同時に大量処理
所要時間のイメージ1,000秒かかるとすると約1秒(10,000倍速)

実際の例として、GPT-3(ChatGPTの前身)の学習には約350GBのテキストデータと膨大な計算が必要でした。CPU のみで行うと数百年かかると試算されているところを、数千枚のGPUを並列に使うことで数週間に短縮しました。

個人でGPUを購入しなくても、クラウドサービスを使えばGPUを時間単位で借りられます。

サービス特徴
Google Colab無料でGPUを使えるノートブック環境。AI学習の入門に最適
AWS EC2 p4dNVIDIA A100搭載の高性能GPU インスタンス
Google Cloud GPUNVIDIA H100など最新GPUを時間課金で利用可能
Vast.ai個人が提供するGPUをレンタル。比較的安価
  • CPU は少数の高性能コアで逐次処理が得意。アプリの実行・制御処理に向く
  • GPU は大量の小コアで並列処理が得意。画像描画・AI学習・科学計算に向く
  • AIの学習はほぼすべてが行列の掛け算であり、GPUの並列処理と相性が抜群
  • クラウドサービスを使えばGPUを購入せずに利用できる

Q: ゲームをしないのにGPUは必要ですか?

A: 普段のウェブ閲覧・文書作成・プログラミングにはCPU内蔵のグラフィック機能(iGPU)で十分です。AIの学習や画像・動画処理を本格的に行いたい場合に独立したGPUが役立ちます。

Q: AppleのMシリーズチップはCPUとGPUのどちらですか?

A: 両方です。AppleのM4チップなどは「SoC(System on Chip)」と呼ばれ、CPUとGPUを1つのチップに統合しています。CPU部分とGPU部分が同じメモリを高速に共有できるため、AI処理においても高いパフォーマンスを発揮します。

Q: CPUのコア数が多いほど良いのですか?

A: 必ずしもそうではありません。コア数が多いと並列処理に有利ですが、同時実行するアプリが少なければ活かせません。用途と予算に合わせて選ぶことが大切です。

このページの外部仕様・背景情報は、参考文献を参照してください。[1]

  1. MDN Web Docs, Learn web development
クイズ