关键要点
- Ollama:安装最简单,适合初学者
- MLX:Apple Silicon上最快(快15–25%)
- llama.cpp:支持最多模型格式,跨平台
- 大多数用户:从Ollama开始,需要速度时切换到MLX
📍 简单一句话
Ollama最简单(自动Metal、REST API、2分钟配置);MLX快15–25%,支持Python和微调;llama.cpp跨平台性最强,GGUF模型格式支持最广——大多数Mac用户从Ollama开始,需要速度时切换到MLX。
💬 简单来说
这三个开源程序让你的Mac在本地运行AI模型。"Metal"表示它们使用Mac的GPU(图形芯片)进行快速AI处理。GGUF是可下载AI模型最常见的文件格式。LoRA微调让你在不从头重新训练的情况下,用自己的数据训练模型。
直接对比
| 功能 | 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开发者 | 跨平台 |
Ollama on Apple Silicon
- 单命令安装:`brew install ollama`
- Metal GPU自动启用——无需配置
- REST API用于集成(任何语言)
- 模型管理:`ollama pull`、`ollama list`、`ollama rm`
- 限制:不支持微调,不支持自定义量化
- 限制:因GGUF开销略慢于MLX
- 最适合:初学者、API用户、Whisper集成
Ollama支持的模型(100+精选)
- Llama 3.3(1B、3B、8B、70B、405B)
- Mistral Small、Mixtral 8x22B/22B
- Qwen3(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专为Apple Silicon开发
- 类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格式(社区已转换大多数模型)
llama.cpp on Apple Silicon
- 跨平台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),三个框架均可胜任。对于冷门或实验性模型,llama.cpp凭借生态系统规模占优。
安装对比:5行代码运行Llama 3.3 8B
Ollama(2条命令):
```bash
brew install ollama
ollama run llama3.3:8b "Hello, world"
```
MLX(4行Python):
```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"
```
基准测试:相同模型,三个框架,M5 Pro 64GB
| 模型 | Ollama tok/s | MLX tok/s | llama.cpp tok/s |
|---|---|---|---|
| Llama 3.3 8B Q4 | 48 | 62 | 52 |
| Llama 3.3 8B Q8 | 38 | 48 | 40 |
| Llama 3.3 70B Q4 | 10 | 14 | 11 |
| Mistral Small Q4 | 52 | 66 | 55 |
| Phi-4 Q4 | 58 | 72 | 60 |
MLX因原生Metal优化快15–25%。为初步基准数据——预计框架持续改进。
内存使用:相同模型,三个框架(M5 Pro 64GB)
| 模型 | Ollama RAM | MLX RAM | llama.cpp RAM |
|---|---|---|---|
| Llama 3.3 8B Q4 | 5.2 GB | 4.8 GB | 5.0 GB |
| Llama 3.3 70B Q4 | 43 GB | 41 GB | 42 GB |
| Mistral Small Q4 | 4.6 GB | 4.3 GB | 4.4 GB |
MLX通过统一内存优化比Ollama少用5–10%内存。在内存紧张的配置(16GB、36GB)中,这可能是模型能否放入内存或需要换页的关键差异。
决策矩阵:何时使用哪个框架
- 1刚开始使用
Why it matters: Ollama — 2分钟完成安装,立即可用。 - 2开发Python应用
Why it matters: MLX — Python原生,最高速度。 - 3需要REST API
Why it matters: Ollama — 内置API服务器。 - 4在Mac上微调
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,如果:
• 想要一键体验(需要编译)
• 需要微调(不支持)
• 不想自己管理模型下载
可以同时使用多个框架吗?
可以——它们不会冲突。三个都安装。常见模式:日常使用Ollama,速度关键任务用MLX,Ollama/MLX中没有的模型用llama.cpp。它们共享相同的底层模型(格式不同)。
哪个框架最快?
MLX在Apple Silicon上比Ollama快15–25%。llama.cpp与Ollama相当。速度差异仅在大型模型(70B+)上明显;对于8B,三者速度均足够快。
以后可以切换框架吗?
可以。今天安装Ollama,明天换成MLX。模型兼容(只是格式不同)。无厂商锁定。
MLX只能用Python吗?
MLX有Python原生API,但也可以通过子进程或HTTP服务器封装从其他语言调用。最好从Python使用。
Ollama有图形界面吗?
Ollama本身仅支持命令行。使用Open-WebUI等开源前端获得聊天界面。
可以同时运行Ollama和MLX吗?
可以。它们使用独立的模型目录,不会冲突。很多开发者将Ollama作为API访问的后台服务,同时用MLX进行Python Notebook实验。如果统一内存足够,甚至可以同时将同一模型加载到内存中。
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.7.x版本测试(2026年6月最新)
• MLX:使用mlx-lm 0.22测试
• llama.cpp:使用2026年5月的构建版本测试
• 最后验证:2026-05-15
• 框架性能每月都在提升——建议每季度重新进行基准测试获取最新数据
台灣與香港Mac用戶:MLX vs Ollama實測與Apple Silicon本地優勢
台灣是Apple Silicon最密集的市場之一,原因顯而易見:台積電(TSMC)製造M系列晶片,本地消費者對Apple生態系的認同度極高。GSC數據顯示ZH路徑在apple-silicon相關文章的CTR達7.35%,說明繁體中文用戶對這類內容有強烈需求。
MLX框架由Apple Research開發,對M1至M4晶片有最深度的硬體優化。台灣開發者在PTT、Dcard及巴哈姆特的分享顯示,16GB統一記憶體的MacBook Pro M2已成為本地LLM的主流開發機型。
- TSMC與Apple Silicon的台灣視角: 台灣開發者普遍對M系列晶片有高度認同感。MLX作為Apple Research的開源框架,在台灣技術社群中被視為「蘋果官方支持的選擇」,接受度高於第三方替代方案。
- 繁體中文模型在MLX上的表現: Qwen3-7B透過MLX運行時,繁體中文輸出質量明顯優於量化後的Ollama格式(Q4_K_M)。建議使用`mlx-community/Qwen3-7B-Instruct-4bit`官方MLX轉換版本,已由社群驗證繁體字處理正確。
- Homebrew vs MacPorts(台灣用戶): 台灣開發社群以Homebrew為主流(`brew install ollama`)。部分BSD/學術背景的開發者偏好MacPorts,但Ollama官方文件以Homebrew為優先,建議使用。MLX需Python環境,推薦`pyenv`管理Python版本。
- 香港用戶注意事項: 香港與台灣使用相同的ZH翻譯,兩地的App Store及Homebrew訪問均無限制。粵語輸出目前沒有本地LLM完整支援——書面繁體中文是最實用的選項,在提示詞中指定「使用書面繁體中文」即可。
- 社群資源: PTT的AI_TECH板、Dcard科技版有MLX和Ollama的中文使用心得。GitHub上`mlx-community`組織提供台灣開發者轉換的繁體中文優化模型,是獲取最新量化版本的優先來源。