AI・機械学習
上級
SGLang RadixAttention(エスジーラング ラディックスアテンション)
SGLangが実装するKVキャッシュのRadix Tree管理技術。共通プレフィックスを自動検出・再利用し、マルチターン会話やRAGパイプラインの推論効率を劇的に改善する。
0 回閲覧
0 いいね
2026/6/6 更新
関連タグ
SGLang
RadixAttention
KVキャッシュ
プレフィックスキャッシング
LLM推論
Radix Tree
SGLang RadixAttention
概要
RadixAttentionは、スタンフォード大学のLiang Zhengらが2024年に発表した論文「SGLang: Efficient Execution of Structured Language Model Programs」で提案されたKVキャッシュ管理技術。構造化LLM生成ランタイム「SGLang(Structured Generation Language)」の中核最適化機能として実装されている。
背景:プレフィックス共有の重要性
現実のLLMアプリケーションでは、多くのリクエストが共通プレフィックスを持つ:
- システムプロンプト: 全リクエストが同一システムプロンプトを共有
- RAG: 取得コンテキストが複数クエリで重複
- Few-shot: 同一デモンストレーション例を複数リクエストで再使用
- マルチターン会話: 会話履歴を新規リクエストが継承
vLLMのPagedAttentionでも手動プレフィックスキャッシングは可能だが、RadixAttentionは自動・動的に共有プレフィックスを検出・管理する。
Radix Tree構造
KVキャッシュをRadix Tree(基数木)で管理。新規リクエストが来ると、RadixAttentionはRadix Treeを辿って最長共通プレフィックスを検出し、対応するKVキャッシュを再利用。残りのトークンのみ新規計算する。
例:
- "You are a helpful assistant." + "What is AI?" → KVキャッシュA
- "You are a helpful assistant." + "Explain ML." → KVキャッシュB (システムプロンプト部分は共有)
- "You are a helpful assistant." + "Context: [Doc1] What is RAG?" → KVキャッシュC
- "Follow-up: Give examples." → KVキャッシュD (CのKV再利用)
パフォーマンス比較(2024年ベンチマーク、vLLM=1.0x基準)
- ツリー型会話: 5.0倍
- 長システムプロンプト: 8.0倍
- RAGクエリ: 3.5倍
- コード補完: 2.0倍
利用方法
# インストール
pip install sglang[all]
# サーバー起動
python -m sglang.launch_server \
--model-path meta-llama/Llama-3.1-8B-Instruct \
--port 30000 \
--enable-flashinfer
2025年の動向
SGLangは2025年にvLLMと並ぶデファクトLLM推論エンジンとして台頭。DeepSeek V3/R1の推論最適化でSGLangが採用されたことで注目度が急増。GitHub 15k+スター(2025年6月時点)。