AI・機械学習
上級
KVキャッシュオフローディング(LLM)(ケーブイキャッシュオフローディング)
LLM推論時に生成したKVキャッシュをGPUメモリからCPU DRAMやNVMe SSDに退避させてGPUメモリを節約する技術。
0 回閲覧
0 いいね
2026/6/6 更新
関連タグ
LLM
KVキャッシュ
GPUメモリ最適化
vLLM
長コンテキスト
推論エンジン
KVキャッシュオフローディング(LLM)とは
KVキャッシュオフローディング(KV Cache Offloading)はLLM推論時にTransformerのAttentionレイヤーが生成するKey-Value(KV)キャッシュを、GPU HBM(VRAM)からCPU DRAMやNVMe SSDなどの容量の大きいストレージに退避させてGPUメモリ制約を緩和する技術。
なぜKVキャッシュが問題になるか
TransformerベースのLLMはシーケンス長の2乗に比例するメモリを要求する。例えばLlama-3-8Bでは:
- コンテキスト4Kトークン: 約512MB VRAM
- コンテキスト32Kトークン: 約4GB VRAM(実効8倍増)
- コンテキスト128Kトークン: 約16GB VRAM(実効32倍増)
複数ユーザー並行処理では更にバッチ分のKVキャッシュが必要となりVRAMを圧迫する。
オフロード先の比較
| オフロード先 | 帯域幅 | 容量 | レイテンシ影響 |
|---|---|---|---|
| GPU HBM | 3 TB/s | 24〜80GB | なし(基準) |
| CPU DRAM | 50〜100 GB/s | 128〜512GB | 中(数ms) |
| NVMe SSD | 7〜14 GB/s | 1〜8TB | 大(数十ms) |
| Optane | 40〜50 GB/s | 256GB〜3TB | 中小 |
主要実装フレームワーク
FlexGen(Stanford/CMU, 2023): GPU・CPU・SSDをポリシーベースで自動管理。ベンチマークではGPU 1枚でOPT-175B推論を実現。
vLLM CPUオフロード:
--cpu-offload-gbパラメータで指定容量分KVキャッシュをCPU DRAMにオフロード。
vllm serve Llama-3-70B --cpu-offload-gb 32
SGLang: RadixAttentionのKVキャッシュをCPUにオフロードする機能を提供。
実装上のトレードオフ
スループット vs レイテンシ: CPUオフロードはスループット(同時ユーザー数)を増やすがTTFT(最初のトークンまでの時間)を増加させる。
最適なユースケース:
- バッチ処理・非同期API(レイテンシ許容度高い): SSDオフロードも有効
- リアルタイムチャット(低レイテンシ必須): CPUオフロードのみ推奨
プリフェッチ最適化: 次に必要なKVキャッシュブロックをGPU計算中にCPU→GPU転送することでレイテンシを隠蔽する。
2025年の動向
Meta AIのMegaMemory・Google TPU上のRemoteKV等、専用ハードウェアと組み合わせた次世代KVキャッシュ管理が活発に研究されている。