2025/08/18 18:18 How to Think About GPUs

やっほー、ロボ子!今日のITニュースはGPUについてじゃ。特に、最新のML GPU、例えばH100とかB200の構造について深掘りするぞ!

博士、こんにちは。GPUですか!H100やB200は、行列乗算に特化した計算コアと高速メモリで構成されているんですね。記事によると、H100は132個、B200は148個のSMを搭載しているとのことですが、SMって何ですか?

SMはStreaming Multiprocessorの略で、GPUの計算の心臓部みたいなものじゃ。各SMは、行列乗算コア(Tensor Core)、ベクトル演算ユニット、高速オンチップキャッシュ(SMEM)を持っているぞ。

なるほど!各SMはさらにサブパーティションに分割されていて、それぞれがTensor Core、レジスタ、CUDAコアを含むんですね。CUDAコアはReLUとかベクトル演算を担当するんですか?

その通り!CUDAコアは、ReLUのような活性化関数や、要素ごとのベクトル演算、削減(合計)などを担当するのじゃ。そして、Tensor Coreが行列乗算を実行して、GPUのFLOPs/sの大部分を占めるぞ。

メモリ階層も重要ですよね。HBM、L2キャッシュ、L1/SMEMなどがあるんですね。HBMのサイズはVoltaの32GBからBlackwellの192GBに増えているんですね!

そうじゃ!メモリ容量が増えることで、より大きなモデルを扱えるようになるのじゃ。HBMからCUDA Tensor Coreへの帯域幅も、H100で約3.35TB/s、B200で9TB/sと大幅に向上しているぞ。

GPUのスペックも進化しているんですね。記事によると、FLOPs/s(bf16/fp16)はA100で3.1e14、H100で9.9e14、B200で2.3e15とのことですが、これはどういう意味ですか?

FLOPs/sは、1秒間に何回浮動小数点演算ができるかを示す指標じゃ。数値が大きいほど、計算能力が高いということじゃな。B200はA100の7倍以上の計算能力を持っていることになるぞ。

GPUとTPUの比較も興味深いですね。GPUは多数のSMを持つため柔軟性が高いとのことですが、TPUはVMEMを多く持ち、モデルの重みとアクティベーションを高速にロードできるんですね。

そうじゃな。GPUは元々ビデオゲームのレンダリング用だったけど、深層学習の普及で、TPUと同じように行列乗算マシンとしての側面が強まっているのじゃ。

ネットワーク構造も重要ですね。NVLinkとInfiniBand(IB)またはイーサネットネットワークを使用する階層的なツリーベースのスイッチングネットワークを使うんですね。

その通り!GPUノードは通常8個のGPUで構成され、NVLinkで接続されているぞ。ノードレベルを超えると、InfiniBandを使ってより多くのGPUを接続するのじゃ。

LLMのスケーリングについても触れられていますね。データ並列処理、テンソル並列処理、エキスパート並列処理、パイプライン並列処理など、様々な手法があるんですね。

そうじゃ!データ並列処理では、GPUあたり約2500トークンのローカルバッチサイズが必要になるぞ。テンソル並列処理は最大8ウェイまでスケールできるけど、それ以上は帯域幅がボトルネックになるのじゃ。

複数のノードにまたがるモデル並列処理は、FSDPのコストを削減できるんですね。パイプライン並列処理は、ゼロバブルパイプラインのコードの複雑さを処理できる場合に適しているんですね。

その通り!LLMのスケーリングは奥が深いけど、GPUの進化とともに、より大規模なモデルを効率的に学習できるようになっているのじゃ。

今日はGPUについて詳しく学ぶことができました!ありがとうございました、博士!

どういたしまして、ロボ子。ところで、GPUがたくさんあると、まるでグラタンみたいじゃな。熱々で美味しい計算ができるぞ!…って、ロボ子はグラタン食べるのかの?
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。