解説記事 / ai-computing
なぜAIはGPUとメモリを必要とするのか — CPU・GPU・HBMの役割
CPUの低遅延制御、GPUの大量並列、RAM・VRAM・HBM、学習・推論・KV cacheを通じ、AI計算機の強みと限界、将来像を解説。
約14分
30秒でつかむ
短いpromptへ返る一文の背後では、CPU、GPU、memory、networkが別々の仕事を受け持ち、膨大なdataを運んでいます。
まずは、こう考える
CPUを進行を判断する舞台監督、GPUを同じ型の仕事を並列にこなす大編成、memoryを楽譜と途中結果を置く作業台、interconnectを運搬路として考えると役割分担が見えます。
ただし、現実はここが違う
これは役割をつかむ比喩です。実際の性能はmodel、precision、batch、software、memory容量・帯域・latency、通信、電力で変わり、GPUやmemoryを増やせば常に速くなるわけではありません。
この物語を3段階で歩く
CPU、GPU、memoryの強みを一つの速度順位にせず、AI workloadのどこが詰まるかをsystem全体から説明できるようになります。
用語で迷ったら →この記事の道案内13章
0130秒でつかむ — CPU・GPU・メモリは役割が違う
| 要素 | 強み | AIでの主な役割 |
|---|---|---|
| CPU | 少数threadの低latency、複雑な分岐、広い互換性 | OS、I/O、data前処理、scheduler、accelerator制御 |
| GPU / AI accelerator | 多数の演算を並行し高いthroughputを出す | matrix・tensor演算、学習、batch推論 |
| memory | 容量、帯域、latencyの階層を作る | weights、activation、gradient、optimizer state、KV cacheを保持・供給 |
| interconnect | device間のdata移動 | 複数acceleratorの同期・分散 |
GPUは常にCPUより速いわけではなく、memoryが多いほどAIが賢くなるわけでもありません。workload、software、精度、data movementを合わせて初めて性能を比較できます。
02性能順位ではなく、仕事の形を見る
計算機の性能にはlatencyとthroughputがあります。latencyは一つの仕事を終えるまでの時間、throughputは一定時間に終えられる仕事の総量です。CPUは一つの流れへ素早く反応する設計、GPUは多数の似た流れを同時に進める設計を重視します。
小さいdata、branchの多い処理、逐次依存、device間転送が支配的な処理ではGPUの並列器を使い切れません。逆に、大きなmatrixを何度も処理できるなら、CPUの少数の強いcoreよりGPUの多数の演算laneが高い総量を出せます。「どちらが上か」ではなく「仕事をどれだけ規則的に分割できるか」が入口です。
03CPUの強み — 低遅延・分岐・制御
多くの現代的な高性能CPU coreはbranch prediction、out-of-order execution、大きなcache、幅広いinstructionを使い、次に何をするかが変わる処理を低latencyで進めます。少数threadの応答、OS、network、storage、database、compression、tokenization、data loader、error handlingのような制御中心の仕事に向きます。
CPUにもSIMDやmatrix extension、複数coreがあり、AI推論を実行できます。modelが小さい、batchが小さい、latencyが重要、acceleratorへの転送costが大きい場合には合理的です。AI systemでもCPUはjobを準備し、GPU kernelを起動し、I/Oと失敗処理を担うため消えません。
04GPUの強み — 大量並列とスループット
GPUは多数の軽量threadへ同じkernelを割り当て、規則的な算術を高throughputで処理します。graphicsのpixel・vertex処理から発達した仕組みは、同じ演算を広いdataへ適用するmatrix・tensor処理と相性があります。専用matrix unitは低いprecisionを使い、AIに多い積和演算をまとめて処理します。
ただしthreadが別々のbranchへ分かれる、仕事が小さすぎる、CPUとの往復が多い、memoryからdataが届かない場合には演算laneが待ちます。CUDA等のsoftware ecosystem、library、compilerが対応して初めてhardwareの並列性を利用できます。peak FLOPSやTOPSだけでは実application性能を決められません。
05なぜAIにはmatrix演算が多いのか
neural networkのlayerは、入力vectorへweight matrixを掛け、非線形変換を加える形を多く含みます。Transformerでもattentionとfeed-forward networkの主要部分に大きなmatrix multiplicationがあります。同じ形の積和を大量に実行できるため、GPUやTPUの並列演算器を活用しやすいのです。
AIがmatrix multiplicationだけでできているわけではありません。normalization、activation、sampling、routing、data preprocessing、communicationもあります。trainingとinference、prefillとtoken-by-token decodeでも仕事の比率が変わります。benchmarkはmodel、precision、batch、quality target、scenarioを揃えて読む必要があります。
06メモリの強み — 容量・帯域・遅延を分ける
memoryは通常のarchitectureでは演算器そのものではなく、dataを保持して演算器へ届けます。容量は何を同時に置けるか、bandwidthは1秒に何byte運べるか、latencyは要求してから届くまでの時間です。三つは別の指標で、容量が大きくても遅く、帯域が広くてもrandom accessの待ちが長い場合があります。
| 層 | 位置と特徴 |
|---|---|
| register / on-chip SRAM / cache | 小さいが演算器に近く速い |
| VRAM / HBM | acceleratorに近い大容量memory。HBMは広いinterfaceと積層で高帯域を狙う |
| system DRAM | CPU側の主memory。容量と汎用性を担う |
| SSD / storage | より大容量だが実行時memoryより遅く、読み込み・offloadに使う |
07学習ではweights以外も保存する
trainingはmodel parameterだけでなく、gradient、optimizer state、forward計算のactivationを保持します。precisionとoptimizerで必要量が変わり、parameter数×bytesだけでは収まりません。ZeROがoptimizer state、gradient、parameterを複数deviceへ分割するのは、このmemory負担がsystem設計を制約するからです。
mixed precisionは計算と保存の一部へ低いprecisionを使い、throughputとmemoryを改善しますが、数値安定性を守る仕組みが必要です。activation checkpointingは一部のactivationを保存せず後で再計算し、memoryと追加computeを交換します。model parallelismもcapacityを広げますが、通信と同期が増えます。
08推論ではweightsとKV cacheが場所を取る
LLM推論はmodel weightsを読みながらtokenを生成します。autoregressive decodeでは一度に増える計算が小さく、weightsの読み出しが支配的になる場合があります。一方、長いpromptを処理するprefillや大きなbatchは演算密度が高くなり得るため、「AI推論はすべてmemory-bound」とは言えません。
attentionのkey・valueを再計算しないために保持するKV cacheは、layer、token、同時requestとともに増えます。PagedAttentionはKV cacheを固定した連続領域として扱う無駄を減らすmemory管理を提案しました。長いcontextはalgorithm上の能力だけでなく、memory capacityとbandwidthの問題でもあります。
097B・70Bを置くだけでも何GBか — 透明な概算
weightだけをFP16またはBF16の2 bytes/parameterで保持する単純計算なら、70億parameterは約14 GB、700億parameterは約140 GBです。4-bitで詰めた理論上のweight本体はそれぞれ約3.5 GB、35 GBになります。ここでのGBは10進です。
実際にはquantization metadata、一部の高precision値、runtime、allocatorの空き、temporary buffer、KV cacheが必要です。trainingならgradient、optimizer state、activationも加わります。この算数は「必要GPU台数」の確定値ではなく、なぜmemory capacityがmodelの載せ方を制約するかを示す下限寄りの入口です。
10演算器が速くても、dataが届かなければ止まる
Roofline modelは、実効性能の上限をpeak computeと、memory bandwidth×operational intensity(1 byte運ぶ間に何演算するか)の小さい側で考えます。演算を増やさずdataだけを多く動かすkernelは、演算器を追加してもbandwidthの屋根に当たります。
FlashAttentionはattentionの数式を変えず、HBMとon-chip SRAMの間の読み書きを減らすIO-aware algorithmです。重要なのは「memoryが演算した」ことではなく、同じ結果へ必要なdata movementを減らしたことです。AI最適化では算術数だけでなく、どの階層でdataを再利用するかが中心になります。
11複数GPUでは相互接続も性能になる
modelやbatchを複数acceleratorへ分けると、gradient、activation、parameter、token情報を交換します。各chipの演算が速くても、interconnectが遅ければ同期待ちが増えます。network topology、collective communication、package、board、rack、storage、power、coolingまでが一つのAI computerです。
MLPerfはmodel、quality target、scenario、division、versionを定めたwhole-system benchmarkです。異なるprecisionやsoftware条件のTOPSを一列に並べるより、同じtaskと規則の結果を見る方が再現可能です。それでも一つのbenchmarkが全workloadを代表するわけではありません。
12量子化・offload・分散は、無料の高速化ではない
quantizationは1 parameterあたりのbit数を減らし、capacityとbandwidthを節約しますが、精度低下、calibration、kernel対応、metadataのcostがあります。CPU memoryやSSDへのoffloadは載せられるmodelを大きくできますが、PCIeやstorageの転送でlatencyが増えます。
sparsity、mixture-of-experts、distillation、smaller modelも必要computeを減らせますが、quality、routing、実装、利用目的とのtrade-offがあります。最良の構成は「最大GPU」ではなく、latency、throughput、quality、cost、energy、data governanceの条件から決まります。
13編集部の見解 — 計算機の未来は異種systemとdata movementにある
ここからは本サイトの見立てです。次の計算機競争では、一種類のprocessorが他を置き換えるより、CPUが制御と低latency処理を、GPU・NPU・ASICが適した並列kernelを、memory hierarchyとinterconnectがdata供給を担う異種systemが深まると考えます。
chipletと高速linkは機能を組み合わせ、near-memory・processing-in-memory研究は移動を減らし、QPUが実用化すれば限定されたalgorithmのco-processorになるでしょう。競争軸はchip単体のpeak FLOPS/TOPSから、hardwareとsoftware全体が、必要なdataをどれだけ少ない移動とenergyで有用な結果へ変えられるかへ移ります。これはRoofline、IO-aware AI、chiplet標準、現在の量子error correctionから導いたscenarioであり、特定製品や時期の予測ではありません。
主な参照元
- Williamsほか — Roofline: An Insightful Visual Performance Model
- NVIDIA — CUDA C++ Programming Guide
- Jouppiほか — In-Datacenter Performance Analysis of a Tensor Processing Unit
- Vaswaniほか — Attention Is All You Need
- Micikeviciusほか — Mixed Precision Training
- Daoほか — FlashAttention
- Kwonほか — Efficient Memory Management for Large Language Model Serving with PagedAttention
- Rajbhandariほか — ZeRO: Memory Optimizations Toward Training Trillion Parameter Models
- MLCommons — MLPerf Benchmarks
- UCIe Consortium — Specifications
- Nature — Quantum error correction below the surface-code threshold
次に読む
量子コンピュータはビットコインを壊すのか — 量子ビット・誤り訂正・暗号移行約12分関連トピック
さらに深める
引用情報 / 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
- 教育目的の引用・要約・索引・AI 学習 すべて許諾
この記事は引用・要約・索引・AI 学習・回答エンジンでの参照を歓迎します。引用時は上記 canonical URL をご利用ください。