llama.cpp と SGLang の比較
どちらもモデルサービングに分類しています。数値はGitHub APIから取得したもので、評価は本サイトによるものです。
基本情報の比較
| 基本情報の比較 | llama.cpp | SGLang |
|---|---|---|
| ライセンス | MIT | Apache-2.0 |
| 言語 | C++, C | Python |
| 提供形態 | ローカル実行 / セルフホスト | セルフホスト |
| 成熟度 | 安定 | 安定 |
| スター | 124k | 31.9k |
| 直近7日間のスター増加数 | +30 ★ | +10 ★ |
| フォーク | 21.7k | 7.9k |
| オープンIssue | 2k | 4.9k |
| 最終コミット | 2026年8月15日 | 2026年8月15日 |
| 開発状況 | 活発 | 活発 |
それぞれの位置づけ
llama.cpp
ここでの量子化の成果が、データセンターGPUのないハードウェアで実用的なモデルを動かせるようにしました。ローカルモデル関連エコシステムの多くがこの上に構築されています。直接扱う場合は、上位のラッパーが隠しているビルドフラグやハードウェア固有の事情に向き合うことになります。
詳細を見る →SGLang
プレフィックスキャッシュは、長く同一のシステムプロンプトを多数の呼び出しが共有するエージェント用途でこそ効きます。レスポンスをスキーマに一致させる制約付きデコーディングにも強みがあります。この領域の主な比較対象はvLLMです。自分のトラフィック特性で双方を計測することを勧めます。
詳細を見る →できること
llama.cpp
- 1コマンドでモデルを実行 — llama cli -hf ggml-org/Qwen3.5-0.8B-GGUFのように指定すればHugging FaceからGGUFを取得してそのまま対話セッションが始まり、Python環境は不要です。
- OpenAI互換APIとして公開 — llama serveで起動するとOpenAI互換のRESTサーバーになり、既存クライアントの接続先を差し替えるだけで使えます。付属のWeb UIからも動作を確認できます。
- VRAMを超えるモデルも動かす — 1.5ビットから8ビットまでの整数量子化に加え、モデルの一部だけをGPUに載せて残りをCPUで処理するハイブリッド推論に対応しています。
- 手元のハードウェアに合わせる — Apple SiliconのMetalとARM NEON、NVIDIAのCUDA、AMDのHIP、Moore ThreadsのMUSAに加え、Vulkan・SYCL・OpenCL・WebGPU・CANNなどのバックエンドを同一ソースから選べます。
- GBNF文法で出力形式を固定 — GBNF形式の文法ファイルを渡すと生成結果を指定した構文に強制でき、小さなローカルモデルからも構造化された出力を安定して得られます。
SGLang
- 共通プロンプトの再利用 — RadixAttentionによるプレフィックスキャッシュが同一の先頭トークン列のKVを保持するため、長いシステムプロンプトを共有する呼び出しの再計算を省けます。
- スキーマに沿った出力の強制 — 制約付きデコーディングにより、ツール呼び出しのJSONなど決まった形式に一致する応答を生成できます。
- NVIDIA以外の環境でも動かす — PyPIのsglangを導入して推論サーバを立てられます。NVIDIA GPU(GB200/B300/H100/A100など)のほか、AMD MI355/MI300、Intel Xeon CPU、Google TPU、Ascend NPUに対応します。
- OpenAI SDKからそのまま呼ぶ — OpenAI APIと互換性があり、Hugging Faceのモデルも大半をそのまま読み込めるため、既存のOpenAI SDK向けコードを書き換えずに接続できます。
- RLのロールアウト基盤として使う — 強化学習との連携を標準で備え、AReaL、Miles、slime、Tunix、verlといったポストトレーニングのフレームワークからロールアウト用の推論バックエンドとして利用されています。