InfraAcademy

InfraAcademy Blog

なぜAIではGPUを使うのか?CPUとGPUの違いを解説【ITパスポート講座⑬】

こんにちは、インフラエンジニアのryuです。

今回は、なぜAIではGPUを使うのかを解説します。AIでGPUを使う理由は、簡単で大量の計算を素早くできるからです。

CPUとGPUの仕組みを理解すれば、AIでGPUがよく使われる理由が分かります。この記事では、CPUとGPUの違いを初心者の方にも分かりやすく解説していきます。

CPUやGPUは、ITパスポート試験のテクノロジ系分野でも出題される用語です。試験対策の視点も交えながら、しっかりおさえていきましょう。

なぜAIではGPUを使うのか?

なぜAIではGPUを使うのか。まずは結論からお伝えします。

その理由は、GPUは単純な計算を素早く行うことができるからです。さらにGPUには数千個ものコア(演算器)が搭載されているため、大量の計算を並行して進められるからです。

AIの計算は単純な掛け算と足し算の繰り返しであり、GPUの並列処理と非常に相性が良いのです。ここから、順を追って詳しく解説していきます。

GPUとは?

そもそもGPUとは何でしょうか。GPUとは、Graphics Processing Unitの略で、画像処理を行うためのプロセッサです。

動画や画像のデータを処理するために使われます。PCゲームでGPUをよく使いますよね。

シューティングゲームなどの動きの激しいゲームでは、高性能なGPUを使用しないと、動きが悪く見えるからです。

GPUの使用用途

画面には、ピクセルと呼ばれる小さな点が数百万個も並んでいます。その1つ1つの色を同時に計算するために、GPUは小さなコアを大量に積む構造へと進化してきました。

最近、ディープラーニングが流行し、画像処理以外の用途でもGPUが使われるようになりました。では、なぜAIでGPUが使われるようになったのか、その理由はAIの計算方法にあります。

AIは大量の計算を行う

AIは大量の計算を行います。人工知能は大量のデータを計算し、予測を確率的に出しているだけです。

例えば、AIの画像認識では、画像を数値の集まりである行列に変換して計算を行います。数百から数万の行列データの掛け算や足し算を行うためには、並列して高速に計算をする必要があります。

また、掛け算や足し算のような単純な計算のため、複雑な処理は必要ないのです。この単純計算の物量勝負こそが、GPUの得意分野になります。

どれくらいの計算量になるのか、Pythonのコードでイメージしてみましょう。

import numpy as np

a = np.random.rand(1000, 1000)  # 1000×1000の行列
b = np.random.rand(1000, 1000)

c = np.dot(a, b)  # 行列の掛け算

たった数行のコードですが、この行列の掛け算だけで約10億回の積和演算(掛け算と足し算の組み合わせ)が発生します。ディープラーニングの学習では、こうした計算を膨大な回数繰り返すのです。

AIの詳しい計算方法はここでは割愛させていただきます。私もAIを勉強中なので、そのうち投稿していきたいと思います。

CPUとGPUの違いを解説

先ほどの説明で、GPUとはGraphics Processing Unitの略で、画像処理を行うものと説明しました。では、CPUとは何でしょうか。

CPUとは?

CPUとはCentral Processing Unitの略で、PCの演算や制御を行う脳みそのような部分です。

CPUの画像

CPUは、プログラムの実行やOSの制御、キーボードやマウスからの入力への応答など、PC全体の司令塔を担っています。単純な計算だけでなく、条件分岐のような複雑な判断もこなせるのが特徴です。

一方で、CPUはコア数が少ないです。普通のノートPCでは4~16個程度でしょう。

コア数が多ければ同時に多くの処理ができるようになります。ただ、CPUのコア数はGPUの数千個には遠く及びません。

そのぶんCPUのコアは、1つ1つが高性能に作られています。少数精鋭のエリート部隊がCPU、大人数の作業部隊がGPUとイメージすると分かりやすいですよ。

なお、キーボードやディスプレイなど、CPUが扱うデータの入り口と出口については、入出力装置を過去問から解説した記事で詳しく説明しています。

逐次処理と並列処理の違い

CPUとGPUの違いの核心は、処理の進め方にあります。CPUは逐次処理、GPUは並列処理が得意です。

逐次処理とは、処理を1つずつ順番に片付けていく方式です。前の結果を使って次の動きを決めるような、込み入った処理に向いています。

並列処理とは、大量の処理を同時に進める方式です。1つ1つの処理は単純でも、まとめてこなすことで圧倒的な速度を出せます。

料理にたとえるなら、CPUは1人で段取りよくフルコースを作る一流シェフです。GPUは、野菜のみじん切りだけを千人で一斉に行うアルバイト軍団のようなものですね。

CPUとGPUの比較表

ここまでの内容を、比較表にまとめます。

比較項目 CPU GPU
正式名称 Central Processing Unit Graphics Processing Unit
主な用途 PC全体の演算や制御 画像処理・AIの計算
得意な処理 複雑な計算や条件判断 単純な計算の繰り返し
処理方式 逐次処理 並列処理
コア数 数個~数十個 数千個
使うメモリ メインメモリ(RAM) VRAM(ビデオメモリ)

コア数と処理方式の違いが、そのまま得意分野の違いにつながっていることが分かりますね。

メモリにも違いがあります。GPUはVRAMという専用メモリを持ち、大量のデータを一気にやり取りできるように帯域が広く設計されています。

ディープラーニングでGPUが必須になる理由

CPUとGPUの違いが分かったところで、AIの話に戻りましょう。なぜディープラーニングでは、GPUがほぼ必須と言われるのでしょうか。

ニューラルネットワークは行列計算のかたまり

ディープラーニングでは、人間の脳の神経回路をまねたニューラルネットワークという仕組みを使います。この計算の正体は、先ほど紹介した行列の掛け算と足し算の繰り返しです。

行列の計算には、それぞれの要素を独立に計算できるという性質があります。つまり、数千個のコアに仕事を分配して、一斉に計算させることができるのです。

CPUで1つずつ順番に計算していたら、学習が終わるまでに膨大な時間がかかってしまいます。GPUの並列処理なら、同じ計算を大幅に短縮できるというわけです。

さらにNVIDIA社の近年のGPUには、Tensor Coreという行列計算専用の回路も搭載されています。GPU自体が、AIの計算に合わせて進化を続けているのです。

学習と推論の違い

AIの処理には、学習と推論という2つの段階があります。この区別は、GPUの必要性を考えるうえで重要です。

学習とは、大量のデータを読み込ませてAIモデルを作り上げる段階です。膨大な計算が必要になるため、高性能なGPUがほぼ必須になります。

推論とは、完成したモデルを使って答えを出す段階です。学習に比べると計算量が少ないため、CPUだけでも動かせる場合があります。

CPUとGPUは役割分担している

ここで注意したいのは、AIの処理でもCPUが不要になるわけではない点です。CPUとGPUは、協力しながら動いています。

データの読み込みや前処理、プログラム全体の制御はCPUの仕事です。そしてGPUは、CPUから受け取ったデータをひたすら計算します。

司令塔のCPUと、計算部隊のGPU。どちらが欠けても、AIの処理は成り立たないのです。

GPUを画像処理以外に使うGPGPUとは?

GPUは、もともと画像処理専用のプロセッサでした。その並列計算の能力を、AIや科学技術計算などの画像処理以外に活用する技術を、GPGPU(General-Purpose computing on GPU)と呼びます。

CUDAがAIブームを支えている

GPGPUを支えているのが、NVIDIA社が提供するCUDAという開発プラットフォームです。CUDAを使うと、GPUの数千個のコアをプログラムから扱えるようになります。

TensorFlowやPyTorchといった有名な機械学習フレームワークも、内部ではCUDAを通じてGPUを動かしています。これらのフレームワークは、誰でも無料で使えるオープンソースソフトウェアとして公開されています。

オープンソースソフトウェアの仕組みは、OSSとは何かを詳しく解説した記事でまとめています。あわせて読むと理解が深まりますよ。

実務ではnvidia-smiコマンドでGPUを確認する

インフラエンジニアの実務では、GPUサーバーの状態確認にnvidia-smiというコマンドがよく使われます。

nvidia-smi

このコマンドを実行すると、GPUの型番、温度、メモリ使用量、使用率などが一覧で表示されます。AIの学習でGPUがどれだけ働いているかを、ひと目で確認できるコマンドです。

また、最近はAWSやGoogle CloudなどのクラウドサービスでもGPU搭載の仮想マシンを借りられます。高価なGPUを購入しなくても、時間単位でAIの学習環境を用意できる時代になりました。

GPU以外のAI向けプロセッサも登場している

最近では、GPU以外にもAI向けのプロセッサが次々と登場しています。ITパスポートの範囲としては発展的な内容ですが、ニュースでよく見かける用語なので簡単に紹介します。

NPUとは、Neural Processing Unitの略で、AIの推論処理に特化したプロセッサです。消費電力が少ないため、ノートPCやスマートフォンへの搭載が進んでいます。

MicrosoftのCopilot+ PCという規格では、40TOPS以上の性能を持つNPUの搭載が要件とされています。AI処理をクラウドではなくPC本体でこなす、AI PCという流れが広がっているのです。

TPUとは、Googleが開発したAI計算専用のプロセッサです。Googleのデータセンターで、大規模なAIの学習や推論に使われています。

それぞれの役割を表で整理しておきましょう。

プロセッサ 役割
CPU PC全体の制御と複雑な処理を担う司令塔
GPU 並列計算が得意でAIの学習の主役
NPU AIの推論に特化した省電力プロセッサ
TPU Googleが開発したAI専用プロセッサ

とはいえ、AI開発の中心にいるのは今もGPUです。まずはCPUとGPUの違いをしっかり理解しておけば大丈夫ですよ。

自分のPCのCPUを確認してみよう

仕組みが分かったら、自分のPCのCPUを確認してみましょう。実際に手を動かすと、コアという言葉のイメージがぐっと具体的になります。

Linuxの場合は、lscpuコマンドでCPUの情報を表示できます。

lscpu

たとえば、次のように表示されます。

Architecture:        x86_64
CPU(s):              8
Thread(s) per core:  2
Core(s) per socket:  4
Model name:          Intel(R) Core(TM) i7

CPU(s)の行が、OSから見えるコアの数です。この例では、4つの物理コアがそれぞれ2つのスレッドを持つため、8と表示されています。

Windowsの場合は、タスクマネージャーのパフォーマンスタブから確認できます。CPUのコア数だけでなく、GPUの使用率やVRAMの容量も見られるので、ぜひのぞいてみてください。

ITパスポート試験での出題ポイント

CPUとGPUは、ITパスポート試験のテクノロジ系分野に登場します。試験対策として、おさえておきたいポイントを表に整理します。

用語 おさえるポイント
CPU PCの演算や制御を行う中心的な装置
GPU 画像処理やAIの計算を並列処理で高速に行う装置
コア プロセッサ内部で計算を行う部品。多いほど並列処理に強い
ディープラーニング AIが大量のデータから特徴を学ぶ手法。GPUと相性が良い

試験では、GPUの説明として適切なものを選ばせるような問題が想定されます。画像処理と並列処理という2つのキーワードを覚えておけば、迷わず解答できますよ。

ITパスポート講座シリーズでは、他のテーマも解説しています。前回の絶対パスと相対パスの解説もあわせて読むと、知識がつながっていきます。

そもそもITパスポートを取る意味はあるのかと迷っている方は、ITパスポート取得のメリットを現役エンジニアが解説した記事もご覧ください。

CPUとGPUに関するよくある疑問

最後に、CPUとGPUについて初心者の方が疑問に思いやすいポイントに答えていきます。

GPUが無いPCではAIを動かせない?

GPUが無いPCでは、AIをまったく動かせないのでしょうか。結論としては、そんなことはありません。

小さなAIモデルの推論であれば、CPUだけでも十分に動かせます。ただし、本格的なディープラーニングの学習をCPUだけで行うのは、時間がかかりすぎて現実的ではありません。

学習にはGPUが必要、軽い推論ならCPUでも可能、と整理して覚えておきましょう。

ゲーム用GPUとAI用GPUは同じもの?

ゲーム用のGPUとAI用のGPUは、同じものなのでしょうか。基本的な仕組みは同じです。

実際、個人でAIを学ぶ場合には、ゲーム用のGPUがそのまま使われることも多いです。一方でデータセンター向けのGPUは、大容量のVRAMや複数台を連携させる機能など、大規模な学習向けに強化されています。

内蔵GPUとグラフィックボードは何が違う?

GPUには、CPUに内蔵されているものと、グラフィックボードとして独立しているものがあります。

内蔵GPUは、CPUと同じチップに組み込まれた省スペースで省電力なGPUです。事務作業や動画視聴くらいであれば、十分な性能を持っています。

グラフィックボードは、GPUと専用のVRAMを搭載した独立した部品です。動きの激しいPCゲームや本格的なAI開発には、こちらが必要になります。

普段使いのPCではどちらを重視すればいい?

PCを選ぶとき、CPUとGPUのどちらを重視すべきか迷いますよね。答えは用途によって変わります。

書類作成やWeb閲覧が中心なら、CPUの性能を重視すれば十分です。PCゲームや動画編集、AI開発をしたいなら、GPUの性能もあわせて確認しましょう。

まとめ

今回は、なぜAIではGPUを使うのか、CPUとGPUの違いを解説しました。

AIでGPUを使う理由は、AIの計算が単純な行列演算の繰り返しであり、数千個のコアで並列処理できるGPUと相性が良いからでしたね。CPUは司令塔として複雑な処理や制御を担い、GPUと役割分担しています。

CPUとGPUの違いは、最近までよくわかっていませんでしたが、AIの勉強をしたときに理解できました。ITパスポートでも出題されるので、覚えておきましょう。

CPUの仕組みをさらに深く知りたい方には、CPUの作り方や仕組みが学べるおすすめ本の紹介記事が役立ちます。

これからAIの勉強を始めたい方は、AI学習の始め方もあわせてご覧ください。

Next Action

記事で読んだ内容を、講座で実装してみましょう

InfraAcademyでは、ブラウザ上でLinuxやネットワークの実践環境を使いながら学習できます。無料で始められる講座から、学習の流れを試せます。

この記事を書いた人

ryu

InfraAcademy運営 / エンジニア

エンジニア歴10年。Linux、ネットワーク、クラウドを中心に、実務で役立つインフラ技術を初心者にもわかりやすく解説しています。

X: @ryu63614894

Related

関連記事

ブログ一覧へ

Roadmap

まずはこの4講座から

ログインすれば無料で始められる講座です。気になったテーマから手を動かして学べます。

講座一覧を見る