AI・機械学習
上級
プレフィックス共有(LLM推論)(プレフィックスキョウユウ)
複数リクエストが共通するプレフィックスのKVキャッシュを再利用する最適化。SGLangのRadixAttention・vLLMのPrefix Cachingが代表実装。
0 回閲覧
0 いいね
2026/6/6 更新
関連タグ
LLM
推論最適化
SGLang
vLLM
KVキャッシュ
RadixAttention
プレフィックス共有(LLM推論)とは
プレフィックス共有(Prefix Sharing)はLLM推論サーバーが複数の並行リクエスト間で共通するトークン列(プレフィックス)のKey-ValueキャッシュをGPUメモリ上で共有し、重複計算を排除する最適化技術。サーバー側キャッシュ管理(プロンプトキャッシング)の推論エンジン実装版。
プロンプトキャッシングとの違い
| 観点 | プロンプトキャッシング | プレフィックス共有 |
|---|---|---|
| 実装層 | APIプロバイダーのサーバー | 推論エンジン(vLLM等) |
| スコープ | 単一ユーザーの過去リクエスト | 複数ユーザー間の共有 |
| TTL | 5〜60分 | GPU上で有効なかぎり |
| 利用者 | API利用者(開発者) | 推論エンジン運用者 |
RadixAttention(SGLang)
SGLangが2024年に提案したプレフィックス共有の体系的実装。Radixトライ(Radix Trie)データ構造でKVキャッシュを管理する。
仕組み:
- 全リクエストのプレフィックスをRadix Trieに格納
- 新規リクエストの最長共通プレフィックスをTrieから検索
- ヒットしたKVキャッシュブロックを直接再利用
- キャッシュミス部分のみ計算してTrieに追記
例: 3リクエストの共通プレフィックス共有
Req1: [SysPrompt] + [Doc A] + Q1
Req2: [SysPrompt] + [Doc A] + Q2 ← [SysPrompt][Doc A]を共有
Req3: [SysPrompt] + [Doc B] + Q3 ← [SysPrompt]のみ共有
効果: チャットボット・RAGシステムでスループット2〜5倍向上の報告。
vLLM Automatic Prefix Caching
vLLMはPagedAttentionのブロック単位でプレフィックスキャッシュを管理する。
from vllm import LLM, SamplingParams
llm = LLM(
model="meta-llama/Llama-3-8B-Instruct",
enable_prefix_caching=True # デフォルト: True(vLLM 0.4以降)
)
ユースケース別効果
高効果(キャッシュヒット率80%超):
- 全ユーザー共通の長いシステムプロンプト
- Few-shot例を含む固定テンプレート
- 同一ドキュメントへの複数QA(RAG)
中効果(キャッシュヒット率30〜60%):
- マルチターン会話(共通部分が増加していく)
- 同一コードベースへの複数クエリ
低効果(キャッシュヒット率10%未満):
- 毎回異なる入力(翻訳・要約の一般リクエスト)
- ユーザーごとに異なるシステムプロンプト
2025年の拡張
Cross-request KV sharing(異なるモデル間での共有)・Distributed KV Cache(複数GPUノード間での共有)等、大規模インフラへの展開が進んでいる。