Re Reference AI

インフラ

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

利点

  • RadixAttentionにより、共通接頭辞を持つ大量のリクエストでKVキャッシュを効率的に再利用できる
  • 構造化出力や複雑な生成プログラムの記述に対応し、エージェントや評価用途に強い
  • オープンソースで活発に開発が続いており、多様なオープンウェイトモデルに対応する

欠点

  • vLLMと並ぶ主要な選択肢であるため、用途によってはどちらを採用するか比較検討の手間がかかる
  • 最新モデルや機能への対応がコミュニティの開発速度に依存する

比較

  • vLLMいずれもオープンソースのLLM推論サービング基盤で、vLLMがPagedAttentionによるメモリ管理を特徴とするのに対し、SGLangはRadixAttentionによる接頭辞キャッシュの再利用を特徴とする

関連用語

vLLMKVキャッシュ推論Structured Output

よくある質問

SGLangとvLLMはどちらを選ぶべきか。

明確な優劣があるわけではない。似たプロンプトを大量に処理するエージェント系ワークロードやRadixAttentionの恩恵を受けやすい用途ではSGLang、実績や周辺エコシステムの広さを重視する場合はvLLMを選ぶ傾向がある。実際の性能差はモデルやワークロードに依存するため、双方を比較検証することが推奨される。

参考文献

関連Zenn記事