🔖
CPUとGPUの違いを整理する
はじめに
AIや機械学習に携わる中で「GPUが必要」「CPUでは遅い」と耳にしました。
しかし、そもそも CPUとGPUの違いは何か? と問われると、意外と説明できないことも多いです。
今後のAI開発やDocker環境を触る際に役立つよう、
CPUとGPUの基本的な違いを備忘録として残しておきます。
CPUとは
CPU(Central Processing Unit) は、コンピュータの頭脳にあたる部分です。
さまざまな処理を柔軟にこなせる、汎用的なプロセッサです。
- コア数:数個〜十数個(個々のコアは高性能)
- 特徴:複雑な処理を正確にこなす
- 得意なこと:OS制御、アプリ実行、Webサーバなど
一言で言えば、CPUは「何でもできる万能型の司令塔」です。
GPUとは
GPU(Graphics Processing Unit) は、もともとグラフィックス描画のために作られたチップです。
しかし現在では、大量のデータを同時に処理できる並列計算用プロセッサとして使われています。
- コア数:数千単位(圧倒的に多い)
- 特徴:同じ処理を同時に何千回も実行できる
- 得意なこと:画像処理、ディープラーニング、AI推論
GPUは「単純計算を一気にこなすマルチタスクの達人」です。
違いをイメージでつかむ
項目 | CPU | GPU |
---|---|---|
処理の特徴 | 複雑なタスクの逐次処理、または少数のタスクの並列処理 | 同じタスクを多数並列に処理 |
コア数 | 少ない(数個〜十数個) | 多い(数千個) |
得意分野 | 複雑なロジック・分岐処理 | 行列計算・数値演算 |
主な用途 | Webサーバ、API、一般アプリ | AI、画像処理、音声解析 |
例えるなら:
CPUは「頭の良い少人数チーム」
GPUは「単純作業を一斉にこなす大人数チーム」
AI分野でGPUが使われる理由
AI(特にディープラーニング)では、
膨大な行列演算(Matrix Multiplication) を繰り返し行います。
これは「同じ計算を大量のデータに対して並列に行う」タイプの処理で、
GPUの得意分野です。
そのため、
- 学習(Training)
- 推論(Inference)
のどちらでも、GPUを使うことでCPUの数十倍〜数百倍の速度が得られることがあります。
Dockerや開発環境での違い
CPUとGPUでは、使うDockerイメージや実行環境も変わります。
環境 | よく使われるベースイメージ | 備考 |
---|---|---|
CPU |
python:3.12-slim など |
通常のPython開発で十分 |
GPU |
nvidia/cuda:12.3-base など |
NVIDIA製GPU用(CUDA対応) |
補足 | GPU環境では nvidia-container-runtime の設定が必要 |
Docker Desktop でも利用可(要対応ドライバ) |
おわりに
CPUとGPUの違いを押さえておくと、
「なぜGPUインスタンスを使うのか」「なぜDockerfileを分ける必要があるのか」ということも自然と見えてきます。
AI開発だけでなく、今後のインフラ設計やクラウド構成でも役立つ基礎知識です。
本記事が参考になれば幸いです。
Discussion