VRAMを増やせば解決する、は物理的に間違っている — HBM・CXL・Unified Memoryが取れなかったもの
HBMを6倍に増やしても、載せられるモデルサイズは2倍にしかならない。RTX 5060のVRAMが16GBに倍増しても70Bはフルに載らない。「VRAMが足りないなら増やせばいい」——この発想は、帯域・容量・コストの物理的トレードオフを無視している。
HBM、CXL、Unified Memory。この3つはVRAMの壁に対する異なるアプローチだ。それぞれが「帯域」と「容量」と「コスト」の三角形のどこに位置するかで、LLM推論の性能が根本的に変わる。
メモリの三角形: 帯域・容量・コスト
技術 帯域 容量 コスト/GB インターフェース
────────────────────────────────────────────────────────────────────
HBM3E (H200) 4,800 GB/s 141 GB $10-15 TSV 1024-bit × 6 stacks
GDDR6 (RTX4060) 272 GB/s 8 GB $2.5-4 128-bit, 17 Gbps
CXL 3.1 64 GB/s* TB級 $3-5 PCIe 6.0 x16
Unified (M4 Max) 546 GB/s 128 GB Apple依存 LPDDR5X 512-bit
* per direction (128 GB/s bidirectional)
各技術の物理的な特徴:
- HBM3E: シリコン貫通電極(TSV)で垂直に積層。帯域は圧倒的だが、インターポーザ面積とコストを食う
- GDDR6: 基板上のはんだ接続。安くてGPU独占で使えるが、容量に限界がある
- CXL 3.1: 既存のPCIeインフラを流用。TB級の容量が取れるが、メモリ読み出し帯域はHBM3Eの1/75
- Unified Memory: CPU/GPU/NPUが同じメモリプールを共有。コピーコストゼロだが、帯域は共有=競合
HBMは帯域、CXLは容量、Unified Memoryはバランスを選んだ。どれも三角形の全頂点は取れない。
HBM: 帯域の王、容量の奴隷
HBMの帯域は、~5,000本以上のシリコン貫通電極(TSV)による1024-bit幅のバスから生まれる。H200は6スタックを搭載し、合計6144-bitのバス幅で4.8 TB/sを実現する。GDDRの18倍だ。
だが容量には物理的な天井がある:
HBM3E スタック構成:
1ダイ = 24 Gbit (3GB)
8-Hi (8枚積層) = 24 GB/stack
12-Hi (次世代) = 36 GB/stack
H200: 6 stacks × 24GB = 144 GB raw (公称141 GB)
スタック単価: $240-360推定 ($10-15/GB)
「もっとスタックを増やせば?」——ここで面積の問題にぶつかる。各HBMスタックはインターポーザ上で~100 mm²を占有する。GPU die (~800 mm²) + 6スタック (~600 mm²) = ~1400 mm²。CoWoS-Sの現行上限は約2831 mm²(3.3xレチクル)で、H200にはまだ余裕があるが、インターポーザの大型化はコストと歩留まりを直接悪化させる。
LLM推論への影響
GPU 最大モデル (Q4) 帯域 備考
─────────────────────────────────────────────────────────────
H200 (141GB HBM3E) ~280B 4,800 GB/s 70B FP16だとKV cache余裕1GB
RTX 4060 (8GB GDDR6) ~13B 272 GB/s 13B以上はCPUオフロード必須
RTX 5060 (16GB GDDR7) ~30B 448 GB/s 容量2倍でもモデルは2倍にならない
VRAMを倍増しても載せられるモデルサイズは倍にならない。KV cacheの存在がある。32Kコンテキストの70B FP16モデルのKV cacheは約8GB。VRAMの「余り」がKV cacheに食われる。
CXL: 容量の解放、帯域の犠牲
CXL (Compute Express Link) はPCIeの物理層上に構築されたメモリ拡張プロトコルだ。
CXL 3.1はPCIe 6.0の物理層上に構築され、64 GB/s per direction(x16レーン)の帯域を提供する。レイテンシは170-400 ns(DDR5ローカルの2-4倍)。容量はmemory poolingにより理論上無制限だが、現時点ではサーバー/データセンター向けだ。
CXLの帯域でLLM推論すると何が起きるか:
モデル CXL (64 GB/s) GDDR6 (272 GB/s) HBM3E (4,800 GB/s)
──────────────────────────────────────────────────────────────────────────
7B Q4_K_M (4.7GB) ~13.6 t/s ~32 t/s (実効) ~1021 t/s (理論)
70B Q4_K_M (40GB) 1.6 t/s N/A (載らない) ~120 t/s (理論)
70B Q4の重みをCXLから読むと1.6 t/s。人間が読む速度と変わらない。
だが、CXLの真価は「重みの格納場所」ではない。
階層型メモリアーキテクチャ:
Tier メモリ 用途 容量 帯域 レイテンシ
────────────────────────────────────────────────────────────────────────────
0 GPU SRAM アクティベーション 24 MB ~4 TB/s ~1 ns
1 HBM/GDDR 重み、アクティブKVキャッシュ 8-141 GB 272-4800 ~10 ns
2 CXL Memory KVキャッシュのオーバーフロー TB級 64 GB/s 170-400 ns
3 NVMe SSD 永続ストレージ TB級 7 GB/s ~10,000 ns
CXLの本質は「VRAMの代替」ではなく「VRAMとNVMeの間を埋める新しい層」だ。KVキャッシュの古いトークン(128Kコンテキストの最初の方)をCXLメモリに退避させれば、VRAM上には直近のアテンション範囲だけ残す設計が可能になる。KVキャッシュのオーバーフロー先としてNVMeの9倍高速。
この階層化は、光メモリ読み出し(KVキャッシュの物理的な転送量削減)やKVキャッシュ量子化(データ量を数値的に削減)とは直交する最適化だ。組み合わせられる。
Unified Memory: バランスの罠
Apple SiliconのUnified Memoryは、CPU・GPU・NPUが同じ物理メモリプールを共有する。
チップ 容量 帯域 バス幅 共有先
───────────────────────────────────────────────────────────────────
M4 Max 128 GB 546 GB/s 512-bit CPU 12コア + GPU 40コア + NPU 16コア + メディアエンジン
M4 (base) 16-32 GB 120 GB/s 128-bit 同上(RTX 4060の272 GB/sの半分以下)
LLM推論での現実
- M4 Max 128GB: 70B Q4_K_M (40GB) がメモリ管理なしで全量載る。理論上限 546/40 = 13.7 t/sだが、実測は8-10 t/s。CPU/NPU/IOとの帯域共有がボトルネック
- M4 32GB: 32B Q4で理論 120/18 = 6.7 t/s → 実測4-5 t/s。RTX 4060はGDDR6 272 GB/sを独占するため、同モデルで10.8 t/sを出す
帯域共有の問題は構造的だ。GPU推論中もCPUがメモリにアクセスし、帯域を食い合う。macOSのメモリ管理やUI描画がバックグラウンドで帯域を消費する。Safariで大きなページを開きながら推論すれば、体感で速度が落ちる。
Unified Memoryの利点は「GPUメモリ管理の排除」だ。CUDAのcudaMalloc/cudaMemcpyが不要。データはすでにそこにある。コピーコストゼロ。
だが帯域は共有資源であり、独占できない。RTX 4060のGDDR6は272 GB/sをGPUが事実上独占する。M4のベースモデルは120 GB/sをシステム全体で分け合う。
GPU 総帯域 GPU占有率 LLM実効帯域 推論速度
─────────────────────────────────────────────────────────────────────────────────
RTX 4060 (8GB GDDR6) 272 GB/s ~95% (DP出力程度) ~258 GB/s 7B Q4: 32 t/s (実効率58%)
M4 Max (128GB LPDDR5X) 546 GB/s 大半 (CPU/NPU/IOと競合) ~400 GB/s 70B Q4: 8-10 t/s
M4 base (16GB LPDDR5X) 120 GB/s システム全体と共有 ~78 GB/s 7B Q4: 14-16 t/s
RTX 4060は帯域が小さいがGPU独占で、小モデルなら最速。M4 Maxは帯域が大きいが共有のため、大モデルを載せられる代わりに帯域あたりの効率は低い。M4 baseは帯域も容量も中途半端で、LLM用途ではRTX 4060に負ける。
3つのアプローチの比較
帯域 容量 コスト LLM推論での位置
─────────────────────────────────────────────────────────────────
HBM3E 4,800 GB/s 141 GB $10-15/GB 重み+KVを高速に読む
GDDR6 272 GB/s 8-24 GB $2.5-4/GB 小モデルを高速に回す
CXL 3.1 64 GB/s TB級 $3-5/GB KVキャッシュのオーバーフロー先
Unified (Max) 546 GB/s 128 GB Apple依存 大モデルをゼロコピーで載せる
NVMe SSD 7 GB/s TB級 $0.1/GB モデルの永続ストレージ
- HBM (H100/H200) — バッチ推論、複数リクエスト同時処理。帯域を複数リクエストで共有できるため、1リクエストあたりのコスト効率が高い。ただし単一リクエストでは700W TDPの大半が無駄になる
- GDDR (RTX 4060/5060) — 個人利用、単一リクエスト、小〜中モデル。GPU独占帯域で効率最大。115W TDPで32 t/s (0.28 t/s/W)、小モデルなら電力効率でH100単一リクエスト (700W) に勝る。ただし容量の壁があり、8GBでは7Bが上限
- CXL — 超長コンテキスト推論 (128K+)、メモリプール共有。KVキャッシュが数十GBに膨らむ長コンテキストでVRAM不足を解消する。ただし帯域はHBM3Eの1/75で、重みの格納先としては遅すぎる。サーバー向け2025-26年、コンシューマーは2028年以降
- Unified Memory (Apple) — 大モデルを手軽に動かしたい開発・実験用途。70B Q4がメモリ管理なしで動く。ただし帯域共有で速度効率はGDDR独占に劣り、ゲーミング用途との両立は困難
8GB VRAMユーザーへの実用的示唆
Layer 1: 量子化(即効性あり)
Q4_K_M量子化で7Bモデルの重みが14GB → 4.7GBになる(3倍の容量効率)。llama.cpp/Ollamaで標準サポート。
Layer 2: KVキャッシュ量子化(実験段階)
--cache-type-k q4_0 --cache-type-v q8_0 でKVキャッシュをFP16の1/3に圧縮。長コンテキスト対応の鍵。詳細は「KVキャッシュをQ4に落としたら32Kコンテキストが8GBに収まった」で検証した。
Layer 3: CPUオフロード(帯域トレードオフ)
--n-gpu-layers で部分的にGPUに載せれば、32Bモデルが動く(遅いが動く)。RTX 4060で32B最適オフロード時10.8 t/s。ボトルネックはCPU↔GPU間のPCIe 4.0 x8 = 16 GB/s。
Layer 4: CXL(将来)
CXLメモリモジュールでPCIe経由のメモリ追加。KVキャッシュのTier 2ストレージとして機能する。コンシューマー向けは2028年以降。今のCPUオフロード(PCIe 16 GB/s)と原理は似ているが、CXLはメモリセマンティクス(load/storeアクセス、GPU直接アドレッシング)で差別化される。
今日できるのはLayer 1-3の組み合わせだ。Q4量子化 + KVキャッシュQ4 + 最適GPUオフロード = 32Bモデル × 32Kコンテキストが8GBで動く。将来CXLがLayer 4として加われば、128K+コンテキストが現実的になる。
注目すべきは、CXLが約束する「メモリ追加」は、今日のCPUオフロードと本質的に同じPCIeバスを通ることだ。帯域の天井は同じ。CXLの利点はメモリセマンティクス(load/storeでアクセスでき、GPUが直接アドレッシング可能)であって、帯域の向上ではない。
物理が決めるメモリの未来
「VRAMを増やせば問題は解決するか?」——解決しない。容量を増やすと帯域かコストが犠牲になる。
帯域・容量・コストの三角形は物理法則が支配しており、どの技術も3つ全ては取れない。HBMは帯域を取って容量とコストを犠牲にした。CXLは容量を取って帯域を犠牲にした。Unified Memoryはバランスを取って独占帯域を犠牲にした。GDDRは独占帯域を取って容量を犠牲にした。
LLM推論の最適解は「1つの技術を選ぶ」ことではなく、複数の技術を階層的に組み合わせることだ。
今日のRTX 4060で実行可能な最善策:
- 重み → VRAM(Q4量子化で7-13Bを全載せ)
- KVキャッシュ → VRAM(Q4/Q8量子化で容量節約)
- 追加レイヤー → RAM(CPUオフロード、PCIe帯域)
- 永続ストレージ → NVMe SSD
将来のCXL搭載コンシューマーPCでの最善策:
- 重み → VRAM(Q4量子化)
- アクティブKV → VRAM
- 古いKV → CXLメモリ(64 GB/sで十分なアクセス速度)
- 永続ストレージ → NVMe SSD
メモリの壁は「破る」ものではなく「階層で回避する」ものだ。
参考文献
- CXL Consortium — "Compute Express Link Specification 3.1" (2024)
- Samsung — "CMM-D: CXL Memory Module for Data Centers" (2024)
- SK hynix — HBM3E specifications, 12-Hi stack architecture
- NVIDIA H200 SXM specifications — 141GB HBM3E, 4.8 TB/s
- Apple M4 Max specifications — 128GB Unified Memory, 546 GB/s
- "Efficient Memory Management for Large Language Model Serving with PagedAttention" (2023) arXiv:2309.06180
Top comments (0)