llama.cpp と vLLM の比較
どちらもモデルサービングに分類しています。数値はGitHub APIから取得したもので、評価は本サイトによるものです。
基本情報の比較
| 基本情報の比較 | llama.cpp | vLLM |
|---|---|---|
| ライセンス | MIT | Apache-2.0 |
| 言語 | C++, C | Python, CUDA |
| 提供形態 | ローカル実行 / セルフホスト | セルフホスト / ローカル実行 |
| 成熟度 | 安定 | 安定 |
| スター | 124k | 89.1k |
| 直近7日間のスター増加数 | +30 ★ | +23 ★ |
| フォーク | 21.7k | 20.7k |
| オープンIssue | 2k | 6.7k |
| 最終コミット | 2026年8月15日 | 2026年8月15日 |
| 開発状況 | 活発 | 活発 |
それぞれの位置づけ
llama.cpp
ここでの量子化の成果が、データセンターGPUのないハードウェアで実用的なモデルを動かせるようにしました。ローカルモデル関連エコシステムの多くがこの上に構築されています。直接扱う場合は、上位のラッパーが隠しているビルドフラグやハードウェア固有の事情に向き合うことになります。
詳細を見る →vLLM
PagedAttentionと継続バッチングにより、素朴な実装よりはるかに多くの同時リクエストを1枚のGPUで捌けます。エージェントは呼び出し回数が多くなりがちなため、この差が効いてきます。OpenAI互換エンドポイントを備えており、多くのエージェントフレームワークはベースURLの変更だけで接続できます。一方でGPUメモリの見積もりやモデルのロード時間など、運用面の作業は相応に発生します。
詳細を見る →できること
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形式の文法ファイルを渡すと生成結果を指定した構文に強制でき、小さなローカルモデルからも構造化された出力を安定して得られます。
vLLM
- GPU1枚あたりの同時処理数 — PagedAttentionと継続バッチングにより、素朴な逐次処理よりはるかに多くのリクエストを1枚のGPUで同時に捌けます。
- 既存クライアントをそのまま接続 — OpenAI互換のAPIサーバを備えるため、多くのエージェントフレームワークはベースURLの変更だけで接続先を切り替えられます。Anthropic Messages APIとgRPCにも対応します。
- 手持ちのハードウェアで動かす — uv pip install vllmで導入でき、NVIDIA・AMD・IntelのGPUに加えてx86/ARM/PowerPCのCPUでも動作します。Google TPU、Intel Gaudi、Huawei Ascend、Apple Siliconなどはハードウェアプラグインとして提供されます。
- 量子化してカードに載せる — FP8、MXFP8/MXFP4、NVFP4、INT8、INT4、GPTQ/AWQ、GGUF、compressed-tensorsといった量子化形式のまま配信できるため、扱えるモデルの上限がカードのメモリ容量だけで決まるわけではありません。
- 出力形式の固定とツール呼び出し — 構造化出力の生成にはxgrammarとguidanceを利用でき、ツール呼び出しや推論過程を切り出すパーサも同梱されています。