- Ollama:最も簡単なセットアップ、初心者に最適
- MLX:Apple Silicon上で最速(15〜25%高速)
- llama.cpp:最多モデルフォーマット、クロスプラットフォーム
- ほとんどの場合:Ollamaから始め、速度が必要ならMLXへ
直接比較
| 機能 | Ollama | MLX | llama.cpp |
|---|---|---|---|
| セットアップ時間 | 2分 | 5分 | 10分 |
| Metal GPU | 自動 | ネイティブ | サポート済み |
| モデルフォーマット | GGUF | MLX形式 | GGUF |
| API | REST (localhost:11434) | Pythonネイティブ | CLI + HTTP |
| 速度(8B Q4) | 45〜50 tok/s | 55〜65 tok/s | 45〜55 tok/s |
| 速度(70B Q4) | 12〜16 tok/s | 18〜22 tok/s | 14〜18 tok/s |
| ファインチューニング | 非対応 | 対応(LoRA) | 非対応 |
| 最適な用途 | 初心者・API | ML開発者 | クロスプラットフォーム |
Apple Silicon上のOllama
- ワンコマンドインストール:`brew install ollama`
- Metal GPU自動——設定不要
- 統合用REST API(どの言語でも)
- モデル管理:`ollama pull`、`ollama list`、`ollama rm`
- 制限:ファインチューニング非対応、カスタム量子化非対応
- 制限:GGUFオーバーヘッドによりMLXよりわずかに遅い
- 最適な用途:初心者、APIユーザー、Whisper統合
Ollamaの対応モデル(100以上のキュレーション済み)
- Llama 3.1(1B、3B、8B、70B、405B)
- Mistral 7B、Mixtral 8x7B/22B
- Qwen2.5(0.5B〜72B)
- Phi-3、Phi-4
- Gemma 2(2B、9B、27B)
- DeepSeek Coder V2
- ビジョン:Llama 3.2 Vision、LLaVA
- 埋め込み:nomic-embed-text、mxbai-embed-large
MLX — Appleのネイティブフレームワーク
- Apple Siliconのために特別にAppleが開発
- NumPyライクなPython API:`import mlx.core as mx`
- 遅延評価 + ユニファイドメモリ = 最適利用率
- MLX-LM:LLM推論とファインチューニング専用パッケージ
- Apple Siliconで最速推論(Ollamaより10〜25%高速)
- ファインチューニング対応:Mac上でLoRAとQLoRA
- 制限:MLX形式のモデルのみ(ライブラリは成長中)
- 制限:macOSのみ——コードは移植不可
- 最適な用途:ML開発者、最大速度、ファインチューニング
MLXの対応モデル(HuggingFaceのmlx-community)
- 主要LLMすべて(Llama、Mistral、Qwen、Gemma、Phi)
- 量子化バージョン(Q3、Q4、Q5、Q6、Q8)
- ビジョンモデル:Llama 3.2 Vision、LLaVA、Qwen2-VL
- 注意:MLX形式への変換が必要(コミュニティが大半を変換済み)
Apple Silicon上のllama.cpp
- クロスプラットフォームC/C++——同じバイナリがMac・Linux・Windowsで動作
- ビルドフラグでMetalサポート:`make LLAMA_METAL=1`
- GGUFフォーマット:最大のモデルライブラリ
- サーバーモード:`./llama-server -m model.gguf` — REST API
- 同作者のWhisper.cpp — Metal STTサポート
- 制限:ソースからのビルドが必要(ワンクリックインストールなし)
- 制限:MLXより遅く、Ollamaと同程度
- 最適な用途:クロスプラットフォームプロジェクト、最多モデルフォーマットサポート
llama.cppの対応モデル(あらゆるGGUF)
- HuggingFaceのあらゆるGGUFが動作(10,000以上のモデル)
- ファインチューニング済みおよびカスタムモデルの最大エコシステム
- 独自/実験的なモデルは多くの場合ここに最初に登場
- Llama・Mistral・Qwenなどの主流モデルは3つのフレームワークすべてで対応。マイナーまたは実験的なモデルはエコシステムの大きさからllama.cppが優位。
セットアップ比較:Llama 3.1 8Bを動かす5行のコード
Ollama(2コマンド):
```bash
brew install ollama
ollama run llama3.1:8b "Hello, world"
```
MLX(Python 4行):
```python
from mlx_lm import load, generate
model, tokenizer = load("mlx-community/Llama-3.1-8B-Instruct-4bit")
response = generate(model, tokenizer, prompt="Hello, world", max_tokens=100)
print(response)
```
llama.cpp(5コマンド):
```bash
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make LLAMA_METAL=1
wget https://huggingface.co/ggml-org/models/resolve/main/llama-3.1-8b-q4.gguf
./main -m llama-3.1-8b-q4.gguf -p "Hello, world"
```
ベンチマーク:同一モデル、3フレームワーク、M5 Pro 64GB
| モデル | Ollama tok/s | MLX tok/s | llama.cpp tok/s |
|---|---|---|---|
| Llama 3.1 8B Q4 | 48 | 62 | 52 |
| Llama 3.1 8B Q8 | 38 | 48 | 40 |
| Llama 3.1 70B Q4 | 10 | 14 | 11 |
| Mistral 7B Q4 | 52 | 66 | 55 |
| Phi-4 Q4 | 58 | 72 | 60 |
MLXはネイティブMetal最適化により15〜25%高速。初期ベンチマーク——フレームワークの改善が見込まれる。
メモリ使用量:同一モデル、3フレームワーク(M5 Pro 64GB)
| モデル | Ollama RAM | MLX RAM | llama.cpp RAM |
|---|---|---|---|
| Llama 3.1 8B Q4 | 5.2 GB | 4.8 GB | 5.0 GB |
| Llama 3.1 70B Q4 | 43 GB | 41 GB | 42 GB |
| Mistral 7B Q4 | 4.6 GB | 4.3 GB | 4.4 GB |
MLXはユニファイドメモリ最適化により同じモデルでOllamaより5〜10%少ないメモリを使用。メモリが限られた環境(16GB、36GB)では、モデルが収まるかスワップに移行するかの分岐点になることがある。
意思決定マトリクス:いつどのフレームワークを使うか
- 1初めて使う場合
Why it matters: Ollama — 2分でセットアップ、即座に動作。 - 2Pythonアプリを開発する場合
Why it matters: MLX — ネイティブPython、最高速度。 - 3REST APIが必要な場合
Why it matters: Ollama — 内蔵APIサーバー付き。 - 4Mac上でファインチューニングする場合
Why it matters: MLX — LoRAサポートのある唯一の選択肢。 - 5クロスプラットフォームプロジェクトの場合
Why it matters: llama.cpp — Mac + Linux + Windowsで同じコード。 - 6
- 7最大速度が必要な場合
Why it matters: MLX — 代替より15〜25%高速。 - 8マイナーモデルの場合
Why it matters: llama.cpp — 最大のGGUFモデルライブラリ。
それぞれのフレームワークを使わない場合
Ollamaを使わない場合:
• ファインチューニングが必要(非対応)
• 最大速度が必要(MLXより15〜25%遅い)
• 完全カスタム量子化が必要(制御が限られる)
MLXを使わない場合:
• クロスプラットフォームデプロイが必要(macOSのみ)
• Pythonに不慣れ
• すぐに使えるREST APIが必要(ラッパーが必要)
• 本番環境でビジョンモデルが必要(選択肢が少ない)
llama.cppを使わない場合:
• ワンクリック体験が希望(ビルドが必要)
• ファインチューニングが必要(非対応)
• 自分でモデルダウンロードを管理したくない場合
複数のフレームワークを同時に使用できますか?
はい——競合しません。3つすべてインストール可能。一般的なパターン:日常的な使用はOllama、速度が重要なタスクはMLX、Ollama/MLXにないモデルにはllama.cpp。同じ基盤モデルを共有(フォーマットが異なる)。
どのフレームワークが最速ですか?
Apple Silicon上でMLXがOllamaより15〜25%高速。llama.cppはOllamaと同程度。速度の差は大型モデル(70B以上)でのみ重要;8Bはすべて十分な速度。
後でフレームワークを変更できますか?
はい。今日Ollamaをインストールし、明日MLXに切り替え可能。モデルは互換性あり(フォーマットが異なるだけ)。ロックインなし。
MLXはPythonのみですか?
MLXはPythonネイティブAPIを持ちますが、サブプロセスやHTTPサーバーラッパーを通じて他の言語からも呼び出せます。Pythonからの使用が最適。
OllamaにGUIはありますか?
Ollama自体はCLIのみ。チャットインターフェースにはOpen-WebUIなどのオープンソースフロントエンドを使用。
OllamaとMLXを同時に実行できますか?
はい。別のモデルディレクトリを使用し、競合しません。多くの開発者がAPIアクセス用にOllamaをバックグラウンドサービスとして実行し、PythonノートブックでMLXを使用。十分なユニファイドメモリがあれば、同じモデルを同時にメモリに保持することも可能。
MLXはIntel Macで動きますか?
いいえ。MLXはApple Silicon(M1以降)専用に設計。Intel MacユーザーはOllamaまたはllama.cppを使用してください。どちらもIntelで動作しますが、Metal GPU高速化なしで——Apple Siliconより大幅に低速。
ビジョンモデルのサポートが最も優れているフレームワークは?
Ollamaが`ollama run llama3.2-vision`で最もクリーンなビジョンモデル統合を提供。MLXはビジョンモデルをサポートしますが、より多くの設定が必要。llama.cppは別のllava実行ファイルでビジョンをサポート。マルチモーダルはOllamaから始めることを推奨。
フレームワークバージョン & 最新性
• Ollama:バージョン0.5.xでテスト(2026年5月時点の最新)
• MLX:mlx-lm 0.21でテスト
• llama.cpp:2026年5月のビルドでテスト
• 最終確認:2026-05-15
• フレームワークの性能は毎月改善——最新の数値は四半期ごとに再ベンチマーク推奨