メインコンテンツへスキップ

第 1 架 コンピューティング基盤 3 / 45

なぜAIはGPUとメモリを必要とするのか — CPU・GPU・HBMの役割

CPUの低遅延制御、GPUの大量並列、RAM・VRAM・HBM、学習・推論・KV cacheを通じ、AI計算機の強みと限界、将来像を解説。

この記事の出典を確認する(11件)

記事概要

ごく短いプロンプトに一文が返るまでの間に、CPU、GPU、メモリ、ネットワークがそれぞれ別の仕事を受け持ち、膨大なデータを運んでいます。

理解の手がかり

CPUを進行を判断する舞台監督、GPUを同じ型の仕事を並べてこなす大編成、メモリを楽譜と途中結果を置く作業台、インターコネクトを運搬路と考えると、役割分担が見えてきます。

比喩の限界

これは役割をつかむための比喩です。実際の性能はモデル、数値精度、バッチ、ソフトウェア、メモリの容量・帯域・遅延、通信、電力で変わり、GPUやメモリを増やせば必ず速くなるわけではありません。

CPU、GPU、メモリの強みを一つの速度順位にまとめず、AIのワークロードのどこが詰まるのかをシステム全体から説明できるようになります。

用語集を開く
この記事の目次13節読みたい節へ移動する

130秒でつかむ — CPU・GPU・メモリは役割が違う

30秒でつかむ — CPU・GPU・メモリは役割が違うの比較表
要素強みAIでの主な役割
CPU少数スレッドの低遅延、複雑な分岐、広い互換性OS、I/O、データ前処理、スケジューラ、アクセラレータ制御
GPU / AIアクセラレータ多数の演算を並行させ高いスループットを出す行列・テンソル演算、学習、バッチ推論
メモリ容量、帯域幅、遅延の階層を作る重み、活性化、勾配、オプティマイザ状態、KV cacheを保持し供給する
相互接続デバイス間のデータ移動複数アクセラレータの同期と分散

GPUが常にCPUより速いわけではありませんし、メモリが多いほどAIが賢くなるわけでもありません。ワークロード、ソフトウェア、精度、データの移動量をそろえて、はじめて性能を比較できます。

2性能順位ではなく、仕事の形を見る

計算機の性能には、遅延(latency)とスループット(throughput)という二つの見方があります。遅延は一つの仕事を終えるまでの時間、スループットは一定時間に終えられる仕事の総量です。CPUは一つの流れに素早く反応する設計を、GPUは多数の似た流れを同時に進める設計を重視します。

入力が小さい処理、分岐の多い処理、逐次依存の強い処理、デバイス間の転送が支配的な処理では、GPUの並列演算器を使い切れません。逆に、大きな行列を何度も処理できるなら、CPUの少数の強いコアよりGPUの多数の演算レーンのほうが高い総量を出せます。「どちらが上か」ではなく「仕事をどれだけ規則的に分割できるか」が入口です。

3CPUの強み — 低遅延・分岐・制御

現代の高性能なCPUコアの多くは、分岐予測、アウトオブオーダー実行、大きなキャッシュ、幅広い命令を使い、次に何をするかが変わる処理を低い遅延で進めます。少数スレッドの応答、OS、ネットワーク、ストレージ、データベース、圧縮、トークン化、データ読み込み、エラー処理といった、制御が中心の仕事に向いています。

CPUにもSIMDや行列演算向けの拡張命令、複数のコアがあり、AI推論そのものを実行できます。モデルが小さい、バッチが小さい、遅延の要求が厳しい、アクセラレータへの転送コストが大きい、といった場面では合理的な選択です。アクセラレータ中心のAIシステムでも、CPUはジョブを準備し、GPUのカーネルを起動し、I/Oと障害処理を担うため、役割はなくなりません。

4GPUの強み — 大量並列とスループット

GPUは多数の軽量なスレッドへ同じカーネルを割り当て、規則的な算術を高いスループットで処理します。グラフィックスのピクセル処理や頂点処理から発達したこの仕組みは、同じ演算を広いデータへ適用する行列・テンソル処理と相性がよいのです。専用の行列演算ユニットは低い精度を使い、AIに多い積和演算をまとめて片づけます。

ただし、スレッドが別々の分岐へ散る、仕事が小さすぎる、CPUとの往復が多い、メモリからデータが届かない、といった場合には演算レーンが待たされます。CUDAのようなソフトウェアのエコシステム、ライブラリ、コンパイラが対応して、はじめてハードウェアの並列性を使えます。ピーク時のFLOPSやTOPSだけでは、実際のアプリケーションの性能は決まりません。

5なぜAIには行列演算が多いのか

ニューラルネットワークの層は、入力ベクトルに重み行列を掛け、非線形変換を加える形を多く含みます。Transformerでも、attentionとフィードフォワードネットワークの主要部分に大きな行列積があります。同じ形の積和を大量に実行できるので、GPUやTPUの並列演算器を活かしやすいのです。

とはいえ、AIが行列積だけでできているわけではありません。正規化、活性化、サンプリング、ルーティング、データの前処理、通信も欠かせません。学習と推論、prefillと1トークンずつのdecodeでも、仕事の比率は変わります。ベンチマークは、モデル、精度、バッチ、品質の目標、シナリオをそろえて読む必要があります。

6メモリの強み — 容量・帯域・遅延を分ける

ふつうのアーキテクチャでは、メモリは演算器そのものではなく、データを保持して演算器へ届ける役です。容量は何を同時に置けるか、帯域幅は1秒に何バイト運べるか、遅延は要求してから届くまでの時間を表します。三つは別々の指標です。容量が大きくても遅いことがあり、帯域が広くてもランダムアクセスの待ちが長いことがあります。

メモリの強み — 容量・帯域・遅延を分けるの比較表
層位置と特徴
レジスタ / on-chip SRAM / キャッシュ小さいが演算器に近く速い
VRAM / HBMアクセラレータに近い大容量メモリ。HBMは広いインターフェースと積層で高い帯域を狙う
システムDRAMCPU側の主記憶。容量と汎用性を担う
SSD / ストレージより大容量だが実行時のメモリより遅く、読み込みとオフロードに使う

7学習では重み以外も保持する

学習ではモデルのパラメータだけでなく、勾配、オプティマイザ状態、順伝播で得た活性化も保持します。必要量は精度とオプティマイザで変わるため、パラメータ数×バイト数の計算では収まりません。ZeROがオプティマイザ状態、勾配、パラメータを複数のデバイスへ分割するのは、このメモリ負担がシステム設計そのものを縛るからです。

混合精度は計算と保存の一部に低い精度を使い、スループットとメモリの使い方を改善しますが、数値の安定性を守る仕組みが要ります。活性化チェックポイント(activation checkpointing)は一部の活性化を保存せずに後で計算し直し、メモリと追加の計算を交換します。モデル並列も使える容量を広げますが、その分だけ通信と同期が増えます。

8推論では重みとKV cacheが場所を取る

LLMの推論は、モデルの重みを読みながらトークンを生成します。自己回帰的なdecodeでは一度に増える計算が小さく、重みの読み出しが支配的になる場合があります。一方、長いプロンプトをまとめて処理するprefillや大きなバッチでは演算密度が高くなり得るので、「AI推論はすべてmemory-bound」とは言えません。

attentionのkeyとvalueを再計算せずに持ち続けるKV cacheは、層の数、トークン数、同時リクエスト数とともに増えます。PagedAttentionは、KV cacheを固定した連続領域として扱う無駄を減らすメモリ管理を提案しました。長い文脈を扱えるかどうかは、アルゴリズム上の能力だけでなく、メモリの容量と帯域幅の問題でもあります。

97B・70Bを置くだけでも何GBか — 透明な概算

重みだけをFP16またはBF16、つまり1パラメータあたり2バイトで保持する単純計算なら、70億パラメータは約14 GB、700億パラメータは約140 GBです。4-bitに詰めた理論上の重み本体は、それぞれ約3.5 GB、35 GBになります。ここでのGBは10進です。

実際には、量子化のメタデータ、高い精度のまま残す一部の値、ランタイム、アロケータの空き、一時バッファ、KV cacheの分も要ります。学習ならさらに勾配、オプティマイザ状態、活性化が加わります。この算数は「必要GPU台数」の確定値ではなく、なぜメモリ容量がモデルの載せ方を縛るのかを示す、下限寄りの入口にすぎません。

10演算器が速くても、データが届かなければ止まる

Rooflineモデルは、実効性能の上限を、ピーク時の計算能力と、メモリ帯域幅×演算強度(1バイト運ぶ間に何演算するか)のうち小さいほうで考えます。演算を増やさずデータだけを多く動かすカーネルは、演算器を足しても帯域幅の屋根に当たります。

FlashAttentionはattentionの数式を変えないまま、HBMとon-chip SRAMのあいだの読み書きを減らすIO-awareなアルゴリズムです。効いているのは「メモリが演算した」ことではなく、同じ結果に届くまでのデータ移動を減らしたことです。AIの最適化では、演算の回数だけでなく、どの階層でデータを再利用するかが中心になります。

図 1 AI computerはGPU単体ではない。CPUが制御とI/Oを担い、GPU・NPU・ASICが適した並列kernelを処理し、cache・SRAM・HBM・DRAMがdataを保持・供給する。interconnect、storage、software、電力、冷却まで含めたsystemであり、到達性能は最も遅い経路やcapacity不足にも制約される。図は役割の概念stackで、製品間の速度順位ではない。

11複数GPUでは相互接続も性能になる

モデルやバッチを複数のアクセラレータへ分けると、勾配、活性化、パラメータ、トークンの状態を互いにやり取りします。個々のチップの演算が速くても、相互接続が遅ければ同期待ちが増えます。ネットワークの構成、集団通信、パッケージ、基板、ラック、ストレージ、電力、冷却までを含めて、一つのAI計算機です。

MLPerfは、モデル、品質の目標、シナリオ、部門、版を定めたうえでシステム全体を測るベンチマークです。精度やソフトウェアの条件が違うTOPSを一列に並べるより、同じタスクと同じ規則で出た結果を見るほうが再現できます。それでも、一つのベンチマークがすべてのワークロードを代表するわけではありません。

12量子化・オフロード・分散は、無料の高速化ではない

量子化は1パラメータあたりのビット数を減らし、容量と帯域幅を節約します。その代わり、精度の低下、較正の手間、カーネルの対応、メタデータのコストがついてきます。CPUのメモリやSSDへのオフロードは載せられるモデルを大きくできますが、PCIeやストレージの転送で遅延が増えます。

スパース性、mixture-of-experts、蒸留、より小さいモデルも必要な計算を減らせますが、品質、ルーティング、実装、利用目的とのトレードオフがあります。最良の構成は「最大GPU」ではなく、遅延、スループット、品質、コスト、エネルギー、データガバナンスの条件から決まります。

13編集部の見解 — 計算機の未来は異種混成のシステムとデータ移動にある

ここからは本サイトの見立てです。次の計算機競争では、一種類のプロセッサが他を置き換えるというより、CPUが制御と低遅延の処理を、GPU・NPU・ASICが得意な並列カーネルを、メモリ階層と相互接続がデータの供給を担う、異種混成のシステムが深まると考えます。

chipletと高速なリンクは機能の組み合わせを可能にし、near-memoryやprocessing-in-memoryの研究はデータ移動そのものを減らそうとしています。QPUが実用化すれば、限られたアルゴリズム向けのコプロセッサになるでしょう。競争の軸は、チップ単体のピークFLOPS/TOPSから、ハードウェアとソフトウェア全体が、必要なデータをどれだけ少ない移動とエネルギーで有用な結果へ変えられるかへ移ります。これはRoofline、IO-awareなAI研究、chipletの標準化、現在の量子誤り訂正から導いたシナリオであり、特定の製品や時期の予測ではありません。

主な参照元

次に読む

量子コンピュータはビットコインを壊すのか — 量子ビット・誤り訂正・暗号移行約16分
共有

引用情報 / Citation

Title
なぜAIはGPUとメモリを必要とするのか — CPU・GPU・HBMの役割
Source
ビットコイン図書館 (bitcoin.ne.jp)
Canonical URL
https://bitcoin.ne.jp/learn/ai-computing
Author
KK siiiiiixth
Topic
ai-computing
Published
Updated
最終検証 / Last verified
Editorial policy
https://bitcoin.ne.jp/editorial-policy
About
https://bitcoin.ne.jp/about
License
コンテンツ利用条件

運営者が権利を有する記事本文・独自図解・公開データは、引用、要約、索引作成、検索、RAG、機械分析、AIモデルの学習に利用できます。読者に内容を提示する場合は、技術的に可能な範囲で「ビットコイン図書館」と該当するcanonical URLを示してください。