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等)
スコープ単一ユーザーの過去リクエスト複数ユーザー間の共有
TTL5〜60分GPU上で有効なかぎり
利用者API利用者(開発者)推論エンジン運用者

RadixAttention(SGLang)

SGLangが2024年に提案したプレフィックス共有の体系的実装。Radixトライ(Radix Trie)データ構造でKVキャッシュを管理する。

仕組み:

  1. 全リクエストのプレフィックスをRadix Trieに格納
  2. 新規リクエストの最長共通プレフィックスをTrieから検索
  3. ヒットしたKVキャッシュブロックを直接再利用
  4. キャッシュミス部分のみ計算して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ノード間での共有)等、大規模インフラへの展開が進んでいる。

この記事について
カテゴリーAI・機械学習
難易度上級
作成日2026/6/6