AI・機械学習
上級
SGLang LLM Servingフレームワーク(エスジーラング エルエルエム サービング フレームワーク)
Stanford発のLLM推論フレームワーク。RadixAttentionによるKVキャッシュ再利用と構造化出力生成を強みとし、特にRAGや複雑なマルチターン推論で高いスループットを発揮する。
0 回閲覧
0 いいね
2026/6/7 更新
関連タグ
sglang
llm-serving
structured-generation
radix-attention
ai
SGLang LLM Servingフレームワーク 詳細解説
概要
SGLang(Structured Generation Language)は2024年にスタンフォード大学のLMSYSチームが開発したLLM推論・サービングフレームワークです。RadixAttentionという独自のKVキャッシュ管理手法と、エンジンネイティブな構造化出力生成(Structured Generation)が最大の特徴です。特にRAG(Retrieval-Augmented Generation)や複数ステップの推論が必要なワークロードで、vLLMを上回るスループットを発揮するケースが多く報告されています。
主要機能
- RadixAttention: プレフィックスが共通するリクエスト間でKVキャッシュを自動的に再利用。RAGのシステムプロンプト・Few-shotサンプルが同じ場合に劇的な効率向上
- Structured Generation: JSON Schema・正規表現・文法(CFG)を指定した出力をエンジン内部で制約付き生成。アウトプットの後処理不要
- OpenAI互換API: vLLMと同様にOpenAI APIフォーマットに対応
- マルチモーダル推論: LLaVA・InternVL・Qwen2-VL等のビジョン言語モデルに対応
- Data Parallelism: 推論負荷に応じた動的スケーリング
RadixAttentionの仕組み
通常のKVキャッシュはリクエストごとに独立して確保されます。RadixAttentionはLRU管理のラジックスツリーとしてKVキャッシュを格納し、同一プレフィックスを持つ複数リクエストが到着した際に自動でキャッシュを共有します。RAGシステムではシステムプロンプト+検索結果コンテキストが共通するケースが多く、キャッシュヒット率が大幅に向上します。
vLLMとの使い分け
- SGLang向き: 長い共通プレフィックスがあるRAGシステム、JSON出力保証が必要なLLMアプリ、複数ステップのChain-of-Thoughtが必要なワークロード
- vLLM向き: 対応モデルの幅広さが必要な汎用サービング、シンプルなQ&Aで低レイテンシを最優先する場合
インストールと起動
pip install sglang[all]
python -m sglang.launch_server \
--model-path meta-llama/Llama-3.1-8B-Instruct \
--port 30000 \
--mem-fraction-static 0.80
まとめ
SGLangはRAGや構造化出力を多用するLLMアプリケーションで特に力を発揮するサービングフレームワークです。RadixAttentionによるキャッシュ効率とネイティブ構造化生成は、複雑なLLMワークロードの生産性を大幅に高めます。