数年前まで「良いグラフィックカード(GPU)を買った」という言葉は、すなわち「私は高性能ゲームをするつもりだ」または「動画編集を始めた」という意味でした。一般的なコンピュータの頭脳は常にCPUであり、GPUは画面をきれいに表示するための補助装置に過ぎませんでした。
しかし、生成的AIとディープラーニングの時代が到来し、状況は一変しました。今や個人PCでAIモデルを実行したり学習させたりするために、高性能なGPUが不可欠となっています。NVIDIAが世界で時価総額1位の企業となったのもこのためです。
一体なぜ、賢い博士のようなCPUを脇に置き、単純作業者のようなGPUがAI時代の主役となったのでしょうか?その秘密は、高校の数学の授業で学んだ「ベクトル」と「行列」、そして大学で学んだ「線形代数」に隠されています。
1. コンピュータに「リンゴ」と「バナナ」を教える方法: ベクトル(Vector)
私たちが「リンゴは赤くて丸い」、「バナナは黄色くて長い」と考えるとき、コンピュータはこの概念をどう理解するのでしょうか?コンピュータは0と1、つまり数字しか知りません。そこでコンピュータ科学者と数学者は、世界のすべての概念を数字の束、すなわちベクトル(Vector)に変換することにしました。
例えば、果物の特徴を[色、形、甘さ]という3次元ベクトルで表現するとしましょう。(赤=1, 黄色=10 / 丸=1, 縦長=10)
-
リンゴ: $[1, 1, 8]$
-
バナナ: $[10, 10, 9]$
-
青リンゴ: $[2, 1, 7]$
このようにデータをベクトルで作ると驚くべきことが起こります。つまり、「類似度(Similarity)」を計算できるようになるからです。
空間上でリンゴと青リンゴの座標は近接しており、バナナは遠く離れています。AIが「リンゴと青リンゴは似ているな!」と判断する根拠は、まさにこのベクトル空間での距離計算です。
2. ベクトルが集まって作る巨大なキューブ: テンソル(Tensor)
しかし、AIが処理すべきデータは果物3つ程度ではありません。
横、縦1000ピクセルのカラーフォト1枚を考えてみましょう。1ピクセルあたりR、G、Bの3つの数字が必要なので、1枚の写真は$1000 \times 1000 \times 3$の数字から成る巨大な塊です。
-
スカラー(Scalar): 数字1つ(例:5)
-
ベクトル(Vector): 数字の1行配列(例:[1, 2])
-
行列(Matrix): 数字の2次元表(Excelシート)
-
テンソル(Tensor): 3次元以上の数字の塊(キューブ形)
GoogleのAIフレームワークの名前が「テンソルフロー(TensorFlow)」になっているのも、このためです。AIはこの巨大な数字の塊(テンソル)を絶え間なく流し込み、計算する機械だからです。
3. AIの実体: 終わりのない掛け算と足し算(行列演算)
ディープラーニング(Deep Learning)と言えば、何か非常に複雑な論理的推論をするかのように思えますが、その内部を覗いてみると実は単純で無知な行列掛け算(Matrix Multiplication)の繰り返しです。
入力データ(X)に重み(W)を掛け、バイアス(b)を足す$Y = WX + b$のような線形代数の公式が数億回、数兆回繰り返されます。
問題は、この計算の難しさではなく「量」です。
-
CPUの方式: 「さて、最初の行を計算して...終わった?それなら次の行...」 (逐次処理)
-
AIの要求: 「今すぐ1億個の掛け算を同時にやってくれ!」
ここで天才数学者(CPU)は混乱に陥ります。いくら頭が良くても、体は1つしかないので1億の宿題を同時にすることはできません。

4. ピクセルを塗る筆、AIの脳になる
そこで登場した救世主が、まさにGPU(Graphics Processing Unit)です。元々GPUは画面に絵を描くために生まれました。
モニター画面を考えてみてください。FHD画面には約200万のピクセルがあります。3Dゲームをしている時、GPUはこの200万のピクセルそれぞれについて「君はどんな色であるべきか」、「ここは影だからもう少し暗く」のような計算を同時にしなければなりません。
-
CPU: 少数の非常に賢いコア(博士4~16人)→ 複雑な論理、順序がある作業に最適化
-
GPU: 単純な計算を行う数千個のコア(小学生5000人)→ 単純な繰り返し計算の同時処理(並列演算)に最適化
開発者たちは気づきました。
「ちょっと待って、3Dゲームでピクセル座標を計算して同時に色を塗るのも、AIディープラーニングで行列掛け算を同時に行うのも、数学的には完全に同じだよね?」
グラフィック処理のために進化してきたGPUの大規模並列処理能力が、偶然にも(あるいは必然的に)ディープラーニングの行列演算と完璧に一致するようになったのです。GPUから見ると、画面にピクセルを表示する代わりにAIデータを処理するようになっただけで、行っている作業(行列演算)は同じままだったのです。
5. 結論 : 学生時代の数学の時間は無駄ではなかった
まとめると、こうなります。
-
コンピュータ科学者と数学者は、数学的に世界を理解するため(あるいは機械に理解させるため)情報をベクトルとテンソルに作り上げました。
-
このテンソルを処理するには線形代数(行列演算)が必要でした。
-
数千のピクセルを同時に計算することに最適化されていたGPUが、この行列演算に既に最適化されていました。
この3つが組み合わさり、現在のAI革命が可能になったのです。
高校生の時「ベクトルとスカラーを学んで何に使うの?」と不平を言い、大学で線形代数の行列掛け算に頭を抱えていた方もいらっしゃるでしょう。私は大学1年の時、線形代数が本当に面白くなくて勉強をサボってしまい、成績が悪化した後、3年生で再度受講し直し、成績を回復させた記憶があります。再受講の時は頑張りましたが、微分方程式に比べると線形代数が無駄に面白くないのは同じでした。でも、驚くべきことに、その煩わしい数学が20年後に人類史上最も賢い人工知能を作る鍵となっている事実には、何か胸が熱くなります。
数学者たちの理論とハードウェアエンジニアたちの技術が交わる地点、そこにGPUとAIがあります。
🚀 次回の記事予告
これで私たちはCPUとGPUがどう違うのかを理解しました。しかし、最近ニュースに頻繁に登場するNPU(Neural Processing Unit)は一体何でしょうか?GPUよりもAIに最適化されているというNPUの正体について探ってみます。
コメントはありません。