要点(結論先出し)
- 選定は2つの問いで決まる:「同時に何件捌くか(単機 or 多人数)」と「どのハードか(NVIDIA GPU / Apple Silicon / CPU主体)」。
- 目安(要最新確認):手軽に単機=Ollama、細かく制御・CPU混在=llama.cpp直、GUIでモデル探し=LM Studio、同時多人数・GPU専有=vLLM/TGI。
- 体験層(Ollama/LM Studio)とエンジン層(llama.cpp/MLX/vLLM)は別の軸。手軽さとハード対応で体験層、性能と同時数でエンジン層を見る。
意思決定表(要最新確認)
flowchart TD
Q1{"同時に多人数で使うか"} -->|"いいえ・単機"| Q2{"手軽さ重視か制御重視か"}
Q1 -->|"はい・多人数"| VLLM["vLLM・TGI(GPU専有)"]
Q2 -->|"手軽さ"| OLL["Ollama または LM Studio"]
Q2 -->|"制御・CPU混在"| LCPP["llama.cpp 直叩き"]
| 状況 | 推奨(要最新確認) | 理由 |
|---|---|---|
| とにかく動かしたい | Ollama | pull/run が最短 |
| GUIでモデルを探したい | LM Studio | 量子化推奨つきブラウザ |
-ngl などを細かく詰めたい | llama.cpp | 層分割・設定を直接制御 |
| Apple Silicon で最速 | MLX 系(Ollam経由含む) | M系に最適化 |
| 同時多人数・本番常駐 | vLLM / TGI | 連続バッチングで高スループット |
仕組み ── 2軸で位置づける
- 同時数の軸:1人なら単機エンジン、多人数なら連続バッチング系。
- ハードの軸:NVIDIAなら選択肢広い、Apple Silicon は MLX/llama.cpp+Metal、CPU主体は llama.cpp の量子化+オフロード。
迷ったらOllamaで始めて、要求が見えてから降りる/移るのが安全。形式(GGUF)が共通なら重みは使い回せます。
運用の勘所
- プロトタイプはOllama、運用要件が固まったら最適化(llama.cpp直 or vLLM)。
- 「速くない」と感じたら、エンジンを変える前に量子化と
-ngl・コンテキスト長を見直す → オフロードと量子化でメモリに収める - ベンチ比較は環境依存が激しい。自分のハード・自分の負荷で測る。
なぜそうするか
エンジンは目的特化で設計が分かれています。用途とハードに合わないエンジンを選ぶと、速くならないか、設定だけ増える。先に「単機か多人数か」「どのハードか」を確定すれば、選択肢はほぼ一意に絞れます。
⚠️ よくある落とし穴
- 流行で選ぶ:vLLMが話題でも単機対話には過剰。要求から逆算する。
- 体験層とエンジン層を混同:Ollama vs llama.cpp は半分が包む/包まれるの関係 → ローカルLLMのエコシステム地図
- 移行コストを過大評価:GGUF互換なら重みは共通。エンジン差し替えは思うより軽い。
対応lab
関連
- 基盤 → llama.cpp/手軽 → Ollama/多人数 → vLLMとTGI
- ハード別の勘所 → GPU・CPU・Apple Silicon
- 章の入口へ → 第3章 推論エンジン 目次