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

解説記事 / 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を増やせば常に速くなるわけではありません。

CPU、GPU、memoryの強みを一つの速度順位にせず、AI workloadのどこが詰まるかをsystem全体から説明できるようになります。

用語で迷ったら →
この記事の道案内13章

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

30秒でつかむ — 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を保持・供給
interconnectdevice間の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 / HBMacceleratorに近い大容量memory。HBMは広いinterfaceと積層で高帯域を狙う
system DRAMCPU側の主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を再利用するかが中心になります。

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

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であり、特定製品や時期の予測ではありません。

主な参照元

次に読む

量子コンピュータはビットコインを壊すのか — 量子ビット・誤り訂正・暗号移行約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 をご利用ください。