メモリ帯域幅(Memory Bandwidth)とは、プロセッサとメモリ間でデータを転送できる速度のことで、通常GB/s(ギガバイト毎秒)で表されます。AI・ディープラーニングにおいて、メモリ帯域幅は演算性能と並んで最も重要なハードウェア性能指標の一つであり、特に大規模モデルの推論性能を左右する重要な要素です。
なぜメモリ帯域幅が重要か
ニューラルネットワークの演算では、大量のパラメータ(重み)をメモリから読み出して演算ユニットに供給する必要があります。演算ユニットがどれほど高速でも、メモリからのデータ供給が追いつかなければ演算ユニットは待機状態(メモリバウンド)となり、性能が発揮できません。特に大規模言語モデルの推論はメモリ帯域幅がボトルネックになりやすいです。
演算バウンドとメモリバウンド
AI処理のボトルネックが演算ユニットにある場合を「演算バウンド」、メモリにある場合を「メモリバウンド」と呼びます。学習時のバッチ行列演算は演算バウンドになりやすく、推論時の逐次トークン生成はメモリバウンドになりやすいです。ルーフラインモデルでこの分析を行うことができます。
メモリ帯域幅の向上技術
HBM(High Bandwidth Memory)の採用が帯域幅向上の主要な手段です。NVIDIA H100はHBM3で3.35TB/sの帯域幅を実現しています。また、チップ内のキャッシュ容量の増大やデータの再利用率の向上など、アーキテクチャレベルでの最適化も進んでいます。