Ikeraq

sgl-project/sglang

同じ前置きを何度も計算し直すのをやめて、LLMの応答が返るまでを縮める

Apache-2.0 · 商用可 Python ★ 37,283 (今日 +27) 今日 更新
GitHub で見る sgl-project/sglang
GitHub の説明(原文)
SGLang is a high-performance serving framework for large language models and multimodal models.

どういうものか

大規模言語モデルを動かして配る側のためのサーバーです。担当するのは推論のほうで、GPU1枚の構成から大規模な分散クラスタまでを想定して作られています。ただし学習の外にいるわけではありません。README は「強化学習と事後学習の土台」という項目を立てて、多くの最前線モデルの学習で、文章を生成する担当(ロールアウト)として使われていると書いています。AReaL、slime、verl といった事後学習の枠組みから呼ばれる形です。非営利のオープンソース団体 LMSYS のもとで公開されているもので、README には40万を超える GPU で稼働していると書かれています。開発は特定の1社の持ち物ではなく、コミュニティで進んでいます(README に並んでいる企業名は、開発への参加ではなく導入の一覧です)。

速さの中心にあるのが RadixAttention です。README での説明は「前置きの使い回しのための仕組み」の一行だけですが(木構造の話は開発元 LMSYS の解説に出てきます)、要点は次のところにあります。実際のリクエストは、先頭が同じことが多くあります。同じシステムプロンプトが毎回付く、同じ会話の続きが何度も送られてくる、同じ文書について質問が並ぶ——このとき、共通している部分の計算は毎回まったく同じものになります。SGLang は計算済みの状態を木の形で持っておき、枝分かれした先だけを計算します。 前置きが長いほど、削れる量が増えます。

残りは、詰まりやすい場所を1つずつ潰す作りです。リクエストをまとめる処理から CPU 側の待ちを取り除く、入力を読む段階と、答えを1語ずつ生成する段階を、別々の計算機に分ける、次に来る語をまとめて先読みする、長い入力を分割して流す、といったものが並びます。動く先も広く、NVIDIA の GPU のほか、AMD の GPU(MI355/MI300)、Intel Xeon の CPU、Google の TPU、Ascend の NPU が挙がっています。

同じ前置きは、一度だけ計算する 共通の前置き 質問A 質問B 質問C 計算するのは この先だけ 届いたリクエスト (先頭がそろっている) RadixAttention (計算済みの状態を木で持つ) 〜 前置きが長いほど、捨てられる計算が増える 〜
速いモデルに替える話ではありません。同じ答えを出すのに、同じ計算を何度もしていた——そこを削っているので、モデルを変えずに待ち時間が縮みます。

どんなときに使うか

長いシステムプロンプトを毎回付けているとき

社内ルールや口調の指定を毎回先頭に積んでいると、その部分の計算が呼び出しの回数だけ発生します。前置きが共通なら、そこが丸ごと使い回されます。プロンプトを短くする工夫をする前に、配る側で消せる無駄です。

同じ資料に何度も質問するとき

長い文書を読ませて質問を重ねる使い方では、文書の部分が毎回同じです。会話の続きも同様で、往復が増えるほど共通部分が伸びていきます。

注意点

自分でサーバーを用意して運用する人向けの道具です。 モデルの重みを持ち、サーバーを立て、面倒を見る立場になって初めて効きます。外部の API を呼ぶだけの使い方もできますが、そのときはここで書いた速さの話は効きません。

速さの数字は環境しだいです。 削れるのは前置きが共通している部分なので、毎回まったく違う短い入力ばかりが来る用途では、効きが小さくなります。自分のリクエストがどれくらい似ているかが、そのまま効果の上限になります。

対応ハードウェアの幅と、実際の熟れ具合は別です。 NVIDIA 以外の環境も並んでいますが、どこまで検証されているかは README の一覧だけでは分かりません。手元の構成で試すのが確実です。

ライセンスは Apache-2.0 で、商用利用の妨げになる条項はありません。特許条項が付いている点も、企業で使うときはむしろ安心材料になります。

開発の様子

2.8 年
公開してからの期間。2024-01-08 が最初のコミットです
59 回
リリースの回数です
1,840 人
開発に参加した人数です
0 日前
最後のコミットです
5,915 件
未解決の Issue とプルリクエストの合計です(GitHub はこの2つを同じ数に含めます)

ほかの候補

harry0703/MoneyPrinterTurbo
テーマを一言入れると、台本から音声まで揃った短い動画が出てくる
JuliusBrussee/caveman
エージェントの言葉を短くして、トークン代の削りしろを作る
paperless-ngx/paperless-ngx
紙の書類を自宅のサーバーに取り込み、全文検索できる書庫に変える
X で共有 この記事がよかったら

この記事の更新日は 2026-09-13 です。 内容は公開されている README と GitHub のデータに基づいています。 数値は GitHub から取得したもの、警告は判定の基準にある条件での自動判定です。事実誤認を見つけた場合はお知らせください。