重要なポイント
- llama.cpp: シングルトークンレイテンシが最低。インタラクティブなチャットに最適。依存関係が最少。
- Ollama: 最も簡単な操作性。で1コマンド、モデルは自動ダウンロード。トレードオフ:llama.cppよりスループットが5−10%低下。
- vLLM: バッチリクエストで最高スループット。本番環境のAPIサーバーに最適。学習コストは高め。
- シングルユーザーチャット:llama.cppまたはOllama(速度はほぼ同等)。
- マルチユーザー API:vLLM(3−5倍高いスループット)。
- カジュアルな利用:Ollama(シンプルさが最大の利点)。
- 3つとも同一のモデル出力を生成—速度とスループットのみ異なります。
- 3つとも同じマシンで同時実行可能(異なるポート)。競合しません。
速度ベンチマーク
llama.cppがシングルリクエストで38トークン/秒でリード;vLLMがバッチで250+トークン/秒で圧倒。 RTX 4090 24GB、Llama 3.3 70B Q4_K_M、シングルリクエスト、2026年4月計測:
| バックエンド | トークン/秒 | ms/トークン | VRAM使用量 | バッチスループット |
|---|---|---|---|---|
| llama.cpp | 38 | 26 | 39 GB | N/A(バッチなし) |
| Ollama | 36 | 28 | 39 GB | N/A(シングルバッチ) |
| vLLM | 34 | 29 | 41 GB | 250+ tok/s(連続) |
RTX 3060 12GB — Llama 3.2 8B Q4_K_M
RTX 3060 12GB、Llama 3.2 8B Q4_K_M、シングルリクエスト、2026年4月計測:
| バックエンド | トークン/秒 | ms/トークン | VRAM使用量 | バッチスループット |
|---|---|---|---|---|
| llama.cpp | 52 | 19 | 5.2 GB | N/A |
| Ollama | 48 | 21 | 5.4 GB | N/A |
| vLLM | 45 | 22 | 6.1 GB | 180 tok/s(batch=8) |
機能比較表
3つすべてOpenAI互換APIに対応;バッチ処理ではvLLMが優位;Ollamaはセットアップが最も簡単。
| 機能 | llama.cpp | Ollama | vLLM |
|---|---|---|---|
| セットアップ時間 | 30分(コンパイル) | 5分(単一コマンド) | 15分(pip install) |
| OpenAI互換API | ✅(llama-server経由) | ✅(ネイティブ) | ✅(ネイティブ) |
| モデル形式 | GGUF | GGUF | SafeTensors / HF |
| GPUサポート | CUDA、ROCm、Metal | CUDA、ROCm、Metal | CUDAのみ |
| バッチ処理 | ❌ | ❌ | ✅ 連続 |
| マルチGPU | ❌ | ❌ | ✅ テンソル並列 |
| Apple Silicon | ✅ Metal | ✅ Metal | ❌ |
| チャットUI | ❌(サーバーのみ) | ❌(Open WebUI必要) | ❌(APIのみ) |
| ライセンス | MIT | MIT | Apache 2.0 |
バッチ処理とスループット
vLLMは32+リクエストを並列処理;llama.cppとOllamaは1件ずつ処理。 vLLMが優位な理由:
- llama.cpp: ネイティブバッチなし、1リクエストずつ処理。レイテンシ:27ms/トークン。スループット:36トークン/秒。
- Ollama: シングルバッチのみ。2+リクエストの並列処理不可。スループットはllama.cppと同等。
- vLLM: ネイティブ継続バッチ(同時リクエストを動的処理)。32リクエストを並列処理。スループット:同一RTX 4090で250+トークン/秒。
- vLLMの優位性は同時ユーザー数に比例して拡大、0+ユーザーのAPIサーバーにはvLLM必須。
セットアップの複雑さ
Ollamaが最もシンプル(5分);vLLMはPython必要!15分);llama.cppはコンパイル必要!30分)。
llama.cpp: ソースからコンパイルまたはバイナリをDL。モデルファイルは手動管理。絀30分。
Ollama: `brew install ollama`またはインストーラーDL。`ollama run llama3.2`。約5分。
vLLM: `pip install vllm`、次に`python -m vllm.entrypoints.openai.api_server --model meta-llama/Llama-3.3-8B-Instruct`。絀15分(Python + 依存関係)。
シンプルさの勝者:Ollama。
API互换性
3つとも現在OpenAI互换APIをサポート;OllamaとvLLMが最も簡単。
llama.cpp: OpenAI互换API(`llama-server`経由、2024年末追加)。IDE拡張機能で動作。
Ollama: OpenAI互换API(`ollama serve` + クライアントライブラリ経由)。ほとんどのIDE拡張機能で動作。
vLLM: OpenAI互换API(ネイティブ `/v1/chat/completions`)。最高の互换性。
IDE連携(VS Code、Cursor)にはOllamaまたはvLLMを使用。llama.cppはスキップ可能。
使い分けガイド
llama.cpp: 最小依存関係、純粋な速度重視。カスタム推論エンジン構築に最適。MacではMetal加速で最高性能。
Ollama: オールインワンのシンプルさ。チャットUIと個人利用に最適。Mac、Linux、Windows対応。
vLLM: 本番環境のAPIサーバー。マルチユーザーデプロイと高スループット要件に最適。NVIDIA CUDA必須 — Apple Silicon(M1/M2/M3/M4)では動作しません。
推論バックエンド選択でよくある誤解
- 誤解:llama.cppが常に最速。 シングルトークンレイテンシのみ真。バッチリクエストのスループットではvLLMが7倍高速(10+同時ユーザー時)。
- 誤解:Ollamaが遅い。 Ollamaはllama.cppより5−10%遅いのみ — インタラクティブチャットでは34トークン/秒は即座に感じられるため無視できる差。
- 誤解:1つのバックエンドを選ばなければならない。 異なるポートで。3つ同時実行可能。個人チャットにOllama、APIサーバーにvLLMを使い分け可能。
- 誤解:シングルユーザーチャットにvLLMを使う。 vLLMの優位性はバッチ処理にあります。シングルユーザーのインタラクティブチャットにはOllamaのシンプルなセットアップが優れています。
地域コンテキスト & データレジデンシー
日本(METI AIガバナンス): 経济産業省(METI)の「AI原則実践のためのガバナンスガイドラインVer.1.1」(2024年)は、機密性の高い業務データの処理において、オンプレミス推論による完全なデータ管理を推奨しています。vLLMはバッチドキュメント処理に活用する日本企業の本番環境でも使われています。llama.cppとOllamaはAPPI(個人情報保護法)対応の機密データ推論に適しています。
東アジア・アジア太平洋(データレジデンシー): 日本のAPPI、韓国のPIPA、台湾のPDPAはいずれもローカル推論でオンプレミス処理要件を満たせます。中国のデータセキュリティ法(2021年)対応にはllama.cppまたはOllamaをQwen2.5モデルと一緒に利用する企業が多数あります。
グローバル(EU GDPR対応): 3つのバックエンドはすべてオンプレミスで動作します。データがインフラ外に出ないため、GDPR第28条に基づくDPA(データ処理契約)が不要です。
FAQ
初心者にはどのバックエンドが向いていますか?
Ollamaです、1コマンド、モデルは自動DL、シンプルなインターフェイス。
最も速いのはどれですか?
シングルリクエスト:llama.cpp(Ollamaより約3%高速)。10同時リクエスト:vLLM(約7倍高速)。
llama.cppをOllamaの代わりに使えますか?
使えますがセットアップがより複雑。速度向上は3−5%でほとんどのユーザーには無視できる差です。
vLLMは本番環境で利用できますか?
はい。実際の本番環境で利用されています。学習コストは高いですが、高スループットには最適。
再学習なしにバックエンドを切り替えられますか?
llama.cppとOllamaはGGUF形式(直接交換可能)。vLLMはSafeTensorsを使用しモデル変換が必要。
最も安定しているのはどれですか?
Ollama(シンプルな構造、バグが少ない)。llama.cppも安定。vLLMは頻繁に更新(新機能多い一方、Breaking Changesあり)。
vLLMはMacで動作しますか?
いいえ。vLLMはNVIDIA CUDA必須。MacではMetal加速のllama.cppまたはOllamaを使用してください。
関連記事
- Ollama vs LM Studio: どちらを選ぶ? — 最も人気のローカルLLMインターフェイス2つの並列比較
- ユースケース別ベストローカルLLMスタック(2026) — チャット、コーディング、APIサービング向け推奨構成
- Text Generation WebUI vs vLLM vs llama.cpp — AUTOMATIC1111系フロントエンドを含む詳細比較
- ベストローカルLLMフロントエンド(2026) — OpenWebUI、Chatbot UIなざ8その他の選択肢ランキング
- Ollamaのインストール方法 — macOS、Windows & Linux向、2分セットアップガイド
- ローカルLLM OpenAI互换APIガイド — ローカルモデルによるOpenAI APIのドロップイン代替