SGLang(エスジーラング)
UC Berkeley発の高速LLM推論フレームワーク。RadixAttentionによるKVキャッシュ共有とStructured Generation最適化を特長とし、構造化出力においてvLLMを大幅に上回るスループットを実現する。
SGLangとは
SGLang(Structured Generation Language、エスジーラング)は2024年1月にUC Berkeleyの研究チーム(Lianmin Zheng、Liangsheng Yin ら)が発表した高性能LLM推論フレームワークです。vLLMの共同開発者チームが設計した次世代システムとして、特に構造化生成(Structured Generation)の高速化に特化しています。
2026年5月現在GitHub Stars 12,000超・PyPI月間ダウンロード100万件以上に成長しており、2025〜2026年のLLM推論ベンチマークでvLLMを多くの指標で上回る性能を示しています。
RadixAttentionの仕組み
SGLangの核心技術はRadixAttention(基数木注意機構)です。従来のPagedAttentionが個別シーケンスのKVキャッシュを独立管理するのに対し、RadixAttentionはシーケンス間で共有されるプレフィックス(接頭辞)のKVキャッシュを基数木(Radix Tree)データ構造で効率的に管理・再利用します。
適用が特に効果的なケース:
-
Few-Shotプロンプト: 同じ例示(System prompt + N個のexamples)を多数のリクエストで共有する場合、例示部分のKVキャッシュを一度だけ計算して全リクエストで再利用。例示が2,000トークンある場合、100件のリクエストで合計200,000トークン分の計算をスキップ可能
-
マルチターン会話: 会話履歴をRadix Treeに保持し、各ターンで共通部分のKVを再計算せず増分処理のみで対応
-
ドキュメント解析タスク: 同じ長文ドキュメントに対して複数の質問を投げる場合、ドキュメント部分のKVを共有
Few-Shotプロンプトを用いるシナリオではvLLM比でスループットが最大5.6倍向上するケースが報告されています。
構造化生成の高速化
SGLangのもう一つの特長はStructured Generation(構造化生成)の効率化です。
JSON Schema強制出力: LLMの出力をJSONスキーマに従って制約することで、後処理パースエラーをゼロにし、APIレスポンスの信頼性を高めます。SGLangはJSONスキーマ検証をCPU側で非同期処理することでGPU推論のボトルネック化を防ぎます。
正規表現マッチング: 出力トークンを正規表現パターンでフィルタリングし、有効なトークンのみをサンプリング対象とするConstrained Decodingを高効率化。
主な機能・スペック
| 機能 | 詳細 |
|---|---|
| 対応モデル | Llama 3/3.1/3.2、Mistral、Qwen 2/2.5、DeepSeek V2/V3/R1、Gemma 2/3、Phi-3/4 など主要OSS |
| RadixAttention | 共有プレフィックスKVキャッシュ自動管理 |
| 構造化生成 | JSON Schema、正規表現、EBNF文法による制約デコード |
| テンソル並列化 | マルチGPU対応(--tp-size指定) |
| APIサーバー | OpenAI互換 + ネイティブSGLang API |
| 量子化 | AWQ、GPTQ、FP8対応 |
| Speculative Decoding | EAGLE統合サポート |
| ライセンス | Apache 2.0 |
ベンチマーク比較(2025年、DeepSeek V3 MoEモデル)
| フレームワーク | 出力トークン/秒 | JSON出力スループット | Few-Shot効率 |
|---|---|---|---|
| SGLang 0.4.x | 195 tok/s | 高(RadixAttention) | 5.6x |
| vLLM 0.6.x | 148 tok/s | 標準 | 1x |
| TGI 2.x | 120 tok/s | 標準 | 1x |
インストール・クイックスタート
# インストール
pip install sglang[all]
# サーバー起動(OpenAI互換API)
python3 -m sglang.launch_server --model-path meta-llama/Llama-3.1-8B-Instruct --port 30000
自作PCでの活用
RTX 4090(24GB): DeepSeek R1-Distill-Qwen-14B(AWQ量子化、約10GB VRAM)をSGLangでサービングすると約180 tok/s。Few-Shotプロンプト多用の分類・抽出タスクでvLLMより高効率。
RTX 4080(16GB): Qwen2.5-7B-Instruct(BF16、約15GB)をSGLangで起動し、Function Calling(ツール呼び出し)ワークフローに活用。JSON出力の安定性がvLLM比で改善する。
vLLMとの使い分け
| ユースケース | 推奨フレームワーク | 理由 |
|---|---|---|
| JSON/構造化出力が多い | SGLang | RadixAttention + Structured Generationが効く |
| Few-Shot・RAGシステム | SGLang | 共有プレフィックスKVキャッシュ再利用が効果的 |
| 汎用APIサーバー | vLLM | 対応モデルが多く生態系が成熟 |
| モデル多様性が必要 | vLLM | 100+モデルのサポート範囲が広い |
よくある質問(FAQ)
Q1: SGLangとvLLMはどちらを選ぶべきですか? A: Function Calling・JSON Schema強制出力・RAGシステムなど構造化生成が多い場合はSGLang。汎用的なチャットAPI・対応モデル数を重視する場合はvLLM。どちらもOpenAI互換APIなのでA/Bテストで実測するのが確実です。
Q2: RadixAttentionはどんな場合に効果がありますか? A: 複数リクエストが同じ長いプレフィックス(System Prompt + Few-Shot Examples)を共有する場合に最も効果的です。プレフィックスが1,000トークン以上かつリクエスト数が多い場合、スループットが2〜5倍向上するケースがあります。
Q3: SGLangはDeepSeekモデルに最適化されていますか? A: はい、特にDeepSeek V3やR1などのMoE(Mixture-of-Experts)モデルでの高速化が実証されています。2025年にはDeepSeekが推奨するサービングフレームワークとしてSGLangを公式に言及し、注目度が急上昇しました。
まとめ
- RadixAttentionで共有プレフィックスのKVキャッシュを木構造管理し、Few-Shotシナリオで最大5.6xのスループット向上
- JSON Schema・正規表現による構造化生成高速化が特長
- DeepSeek V3/R1などMoEモデルのサービングで特に高い性能を発揮
- 2025〜2026年のベンチマークでvLLMを多くの指標で上回り急成長中