Ollama v0.19がApple MLXに移行 — Apple Siliconでの推論が最大2倍高速に

目次
注意事項
- 本記事の内容は試験的な実装であり、アイデアベースの検証です
- 実務での利用を保証するものではありません
- 実装についての責任は負いかねます。自己責任でご利用ください
- AIの出力結果は常に検証が必要です
2026年3月30日、OllamaがApple Silicon向けのバックエンドをllama.cppからApple MLXに切り替えたことを発表しました。v0.19のプレビューとして公開され、統合メモリアーキテクチャを最大限に活用した高速推論を実現しています。
MLXとは
MLX(Machine Learning eXplorer) はAppleが開発した機械学習フレームワークです。Apple Siliconの統合メモリアーキテクチャをネイティブに活用できるよう設計されており、CPUとGPUが同じメモリ空間を共有することでデータ転送のオーバーヘッドを排除します。
これまでOllamaはllama.cpp(Metal API経由)をバックエンドとして使用していましたが、v0.19からMLXに移行することで、Apple Siliconの性能をより直接的に引き出せるようになりました。
パフォーマンス比較
Qwen3.5-35B-A3B(NVFP4量子化)での測定結果(2026年3月29日時点):
| 指標 | Ollama 0.18(llama.cpp) | Ollama 0.19(MLX) | 改善率 |
|---|---|---|---|
| プリフィル(トークン処理) | 1,154 tok/s | 1,810 tok/s | +57% |
| デコード(トークン生成) | 58 tok/s | 112 tok/s | +93% |
さらにint4量子化では、プリフィル1,851 tok/s、デコード134 tok/sまで向上する見込みです。
デコード速度がほぼ2倍になっているのが特に注目ポイントです。体感としてもレスポンスの改善が明確にわかるレベルです。
主な技術的変更点
NVFP4量子化のサポート
MLX移行に伴い、NVFP4(4bit浮動小数点量子化) フォーマットがサポートされました。
- モデルの精度を維持しつつメモリ帯域とストレージを削減
- 他の推論プロバイダーと同等の品質(production parity)を実現
- 35Bパラメータクラスのモデルもローカルで実用的に動作
キャッシュの改善
KVキャッシュ周りも大幅に改善されています:
- 会話間キャッシュ再利用: 異なる会話でもキャッシュを共有し、メモリ使用量を削減
- スナップショット機能: プロンプト処理中に定期的なチェックポイントを作成し、処理時間を短縮
- プレフィックス保持の最適化: キャッシュ削除時のプレフィックス保持が改善
M5チップでの最適化
M5、M5 Pro、M5 MaxのGPU Neural Acceleratorを活用し、TTFT(Time to First Token)と生成速度の両方を高速化しています。
システム要件
| 項目 | 内容 |
|---|---|
| OS | macOS(Apple Silicon) |
| メモリ | 32GB以上の統合メモリを推奨 |
| Ollamaバージョン | v0.19以降 |
| ステータス | プレビュー版 |
インストール手順
1. Ollamaのインストール(初めての方)
Homebrew(推奨):
brew install ollama
公式サイトからダウンロード:
ollama.com/download からmacOS版をダウンロードしてインストールすることもできます。
2. 既存ユーザーはv0.19以降にアップデート
brew upgrade ollama
3. Ollamaサーバーの起動
ollama serve
Homebrew経由でインストールした場合、バックグラウンドサービスとして起動することもできます:
brew services start ollama
4. モデルのダウンロードと実行
# NVFP4量子化モデルをダウンロード&実行
ollama run qwen3.5:35b-a3b-coding-nvfp4
初回実行時にモデルが自動でダウンロードされます。32GB以上の統合メモリがあれば、35Bパラメータクラスのモデルが快適に動作します。
バージョンの確認
ollama --version
# ollama version is 0.19.x であることを確認
MLXバックエンドはv0.19以降のApple Silicon Mac上で自動的に有効になります。特別な設定は不要です。
使い方
コーディングエージェントとして起動
ollama launch claude --model qwen3.5:35b-a3b-coding-nvfp4
パフォーマンスの確認
# --verbose フラグでピークメモリ使用量とトークン速度を表示
ollama run --verbose qwen3.5:35b-a3b-coding-nvfp4
llama.cppとMLXの比較
| 項目 | llama.cpp(旧) | MLX(新) |
|---|---|---|
| GPU活用 | Metal API経由 | Apple MLXネイティブ |
| メモリ管理 | 汎用的 | 統合メモリ最適化 |
| 量子化 | GGUF(Q4_K_Mなど) | NVFP4 |
| キャッシュ | 基本的 | スナップショット・会話間共有 |
| Neural Engine | 未活用 | M5系で活用 |
| プラットフォーム | クロスプラットフォーム | Apple Silicon専用 |
注意点として、MLXバックエンドはApple Silicon専用です。Linux/WindowsやIntel Macでは引き続きllama.cppベースのバックエンドが使用されます。
まとめ
Ollama v0.19のMLX移行は、Apple Siliconユーザーにとって大きなアップデートです:
- デコード速度が約2倍に向上し、体感できるレベルの高速化
- NVFP4量子化で35Bモデルもローカルで実用的に動作
- キャッシュ改善でメモリ効率と応答速度が向上
- まだプレビュー版なので、今後さらなる最適化が期待できる
M4/M5世代のMacを使っている方は、ぜひアップデートして体感してみてください。