SGLangとは
sgl-project
RadixAttentionによる接頭辞キャッシュの再利用を特徴とする、オープンソースのLLM推論サービング基盤
ひとことで言うと
LLMを高速に動かすためのオープンソースの実行基盤。似たようなプロンプトを大量にさばく場面に強く、vLLMと並ぶ定番になっている。
概要
SGLangとは、LLMの推論サービングを高速化するオープンソースの実行フレームワークを指す。 プロンプトの共通接頭辞のKVキャッシュを基数木で管理して再利用するRadixAttentionを特徴とし、少しずつ異なるプロンプトを大量に処理するエージェントや評価のワークロードで性能を発揮する。 構造化出力の高速なデコーディングや、複数の生成呼び出しを組み合わせるプログラムの記述にも対応する。 vLLMと並ぶ主要な推論サービング基盤として、オープンウェイトモデルの本番運用で採用が広がっている。
歴史
2024年にLMSYSのメンバーを中心とするチームがオープンソースとして公開した。
コード例
推論サーバーの起動
python -m sglang.launch_server --model-path meta-llama/Llama-3.1-8B-Instruct --port 30000利点
欠点
- vLLMと並ぶ主要な選択肢であるため、用途によってはどちらを採用するか比較検討の手間がかかる
- 最新モデルや機能への対応がコミュニティの開発速度に依存する
比較
- vLLM — いずれもオープンソースのLLM推論サービング基盤で、vLLMがPagedAttentionによるメモリ管理を特徴とするのに対し、SGLangはRadixAttentionによる接頭辞キャッシュの再利用を特徴とする
関連用語
よくある質問
参考文献
- GitHubsgl-project/sglang