AI・テクノロジー
PagedAttention、投機的デコーディング、MoE、Blackwell

現代の AI 展開は、メモリを仮想化したサービングエンジン、疎なエキスパートルーティング、サブバイトのハードウェア精度を活用し、巨大モデルを高速かつ低コストで提供します。この 3 つの技術は、本番 LLM インフラの最前線を示しています。
1. LLM 推論サービングの最適化:PagedAttention と投機的デコーディング
テキスト生成時、LLM は過去の全トークンの Key (K) と Value (V) のテンソルを VRAM にキャッシュし、各ステップでの再計算を避けます。この KV キャッシュの管理と、トークンを 1 つずつ生成する逐次処理のボトルネックの克服が、推論サービングにおける最大の 2 つの課題です。
- PagedAttention (vLLM) - KV キャッシュの仮想メモリ。
- 断片化の問題。従来の推論エンジンは、モデルの最大系列長(例:32,768 トークン)に基づき、各リクエストに連続した VRAM 領域を事前確保していました。ユーザーが 200 トークンしか生成しなければ、確保した VRAM の 99% 超が空きのままとなり、内部断片化と外部断片化によって GPU メモリの 60% から 80% が無駄になっていました。
- OS 型のページング。OS の仮想メモリに着想を得た PagedAttention は、各系列の KV キャッシュを固定サイズの小さなブロック(例:1 ブロック 16 トークン)に分割し、物理 VRAM の任意の場所へ非連続に配置できるようにします。軽量なブロックテーブルが、アテンションカーネル内で論理トークンブロックを物理 GPU メモリアドレスへその場で対応付けます。
- メモリ共有(コピーオンライト)。ブロックが分離されているため、同じシステムプロンプトを共有する複数リクエストや、並列に補完を生成する処理(ビームサーチなど)は、VRAM 上のまったく同じ物理 KV ブロックを参照します。これによりメモリ使用量が大幅に減り、はるかに大きなバッチサイズが可能になります。
- 投機的デコーディング - 逐次処理のボトルネックを打破。
- 自己回帰生成が遅い理由。100 トークンの生成には、100 回の逐次的な順伝播が必要です。各回で新たに処理するのは 1 トークンだけなので、GPU は時間の大半を VRAM からのモデル重みの読み出しに費やし、Tensor Cores はほとんど遊んでいます。
- 下書きと検証のパイプライン。投機的デコーディングは、巨大なターゲットモデル(例:70B パラメータ)と、ごく小さく超高速なドラフトモデル(例:1B–3B パラメータ、または Medusa / EAGLE のような軽量予測ヘッド)を組み合わせます。
- 並列検証。小さなドラフトモデルが、次の K トークン(例:5 トークン)を逐次的に素早く推測します。次に巨大なターゲットモデルが、推測された 5 トークンすべてを 1 回の並列順伝播で同時に処理し、確率を確認します。5 トークンの並列検証にかかる時間は 1 トークンの生成とほぼ同じなので、システムは一致するすべてのトークンを一度に受け入れます。出力品質は数学的に同一のまま、生成が 2 倍から 3 倍速くなります。
2. Mixture-of-Experts (MoE) とエキスパート並列処理
密なモデルは、トークンごとに全パラメータの 100% を活性化するため、巨大モデルの実行コストが極めて高くなります。Mixture-of-Experts (MoE) アーキテクチャは、モデル全体の知識量とトークン当たりの演算コストを切り離します。
- MoE 層の仕組み(Mixtral と DeepSeek)。
- MoE Transformer ブロックでは、1 つの密なフィードフォワードネットワーク (FFN) を、エキスパートと呼ばれる小さく独立した FFN の集合に置き換えます(例:Mixtral 8x7B の 8 エキスパート、DeepSeek-V3 の 256 個の細粒度エキスパート)。
- 学習済みの軽量ルーター(ゲーティングネットワーク)が入力トークンを 1 つずつ調べ、最も関連性の高い top-K エキスパート(通常 2 から 8 個)だけへ送ります。メモリには合計 600B 超のパラメータを保持しながら、トークン当たりで活性化するのは 37B パラメータだけというモデルもあり、わずかな演算コストで巨大モデルの知能を実現します。
- 共有エキスパートと補助損失不要の負荷分散。DeepSeek のような最新の MoE 設計は、少数の共有エキスパートが全トークンを処理して共通の基礎知識を捉え、ルーティングされたエキスパートは専門領域を担当します。動的なバイアス調整は、ルーターが一部の人気エキスパートに負荷を集中させ、残りを無視する「ルーティング崩壊」を防ぎます。
- 複数 GPU にまたがるエキスパート並列処理 (EP)。
- MoE モデルには数百のエキスパートがあるため、1 基の GPU には収まりません。エキスパート並列処理は、異なるエキスパートを異なる GPU に分散します(例:GPU 0 にエキスパート 1–4、GPU 1 にエキスパート 5–8)。
- All-to-All 通信。GPU 0 がトークンのバッチを処理するとき、そのルーターが一部のトークンを GPU 3 上のエキスパートに割り当てる場合があります。そのため各 MoE 層は All-to-All の振り分けを行い、高速な NVLink/InfiniBand 接続で、割り当て先エキスパートを保持する GPU へトークンの隠れ状態を送ります。エキスパート FFN を計算した後、2 回目の All-to-All 結合処理で結果を戻します。
3. NVIDIA Blackwell (B200) と第 2 世代 Transformer Engine (FP4)
兆単位のパラメータを持つ推論モデルや MoE モデルの拡張に向けて導入された NVIDIA Blackwell (B200) アーキテクチャは、マルチダイのパッケージングとサブバイトの数値精度の両方を再設計しました。
- デュアルダイの統合アーキテクチャ。
- 1 基の B200 GPU は、レチクルサイズの制限を受ける 2 つのダイに計 2,080 億個のトランジスタを搭載し、10 TB/s の NV-HBI (High-Bandwidth Interface) で一体化しています。CUDA カーネルとソフトウェアフレームワークからは、両ダイはキャッシュコヒーレンシのペナルティがない単一の統合 GPU として動作します。
- HBM3e メモリ帯域幅。Blackwell は 192 GB の HBM3e VRAM を搭載し、8 TB/s のメモリ帯域幅(H100 の 3.35 TB/s の 2 倍超)を提供します。KV キャッシュと MoE の重み読み込みにおけるメモリ帯域幅のボトルネックを直接狙っています。
- 第 2 世代 Transformer Engine と NVFP4。
- Hopper が 8 ビット浮動小数点 (FP8) を導入したのに対し、Blackwell の第 2 世代 Transformer Engine は Tensor Core の演算を 4 ビット浮動小数点 (FP4) まで引き下げます。これにより素の演算スループットを再び 2 倍にし(GPU 当たり最大 20 petaFLOPS の密な FP4 演算)、メモリ使用量を FP8 の半分にします。
- マイクロテンソルスケーリング (NVFP4) による FP4 のダイナミックレンジの解決。標準の 4 ビット数は 16 種類の値しか表せないため、ニューラルネットワークの活性値に極端な外れ値が現れると、通常は精度が損なわれます。Blackwell は 2 段階のマイクロスケーリングによってハードウェアでこの問題を解決します。大きな行列全体に 1 つのスケール係数を適用する代わりに、重みと活性値を 16 要素ずつの小さなブロックにまとめ、各ブロックに独自の高精度 FP8 スケール係数を割り当て、さらにテンソル全体の FP32 スケールを併用します。
- ハードウェアによる量子化の高速化。Transformer Engine は層ごとにテンソルの範囲を動的に調べ、余分なメモリ往復なしで、Tensor Core パイプライン内で値を FP16/BF16、FP8、NVFP4 の間で直接変換します。