Mac 上还有比 Ollama 更快的本地推理引擎

我桌面上一直跑着 Ollama——它简单、跨平台、模型仓库完善,是本地模型的事实入口。但用了几年,心里一直有个小疙瘩:在 Apple Silicon 上,它总感觉差那么一口气。打开活动监视器看,CPU 占用不高,但第一个 token 出来要等一两秒,长一点的回答肉眼能看出”一段一段蹦”。

前段时间翻 GitHub 翻到一个项目叫 Rapid-MLX。作者 Raullen Chai 把它定位成”Apple Silicon 上最快的本地 AI 引擎”,仓库描述直接写”4.2x faster than Ollama”。先看几个硬指标:3.4k stars(最近一周 +125),1,269 个 commits,185 个 tags,Apache 2.0 协议。这个月进了 Homebrew core,最近一次提交就在今天。活跃度和体量都够得上”可以认真看”。

github

我比较感兴趣的是它的实现思路。Ollama 和 llama.cpp 本质上是 C/C++ 写的通用引擎,到了 Apple Silicon 走一层 Metal 适配。Rapid-MLX 反过来——直接用 Apple 官方的 MLX 框架,pure MLX kernels,没有 llama.cpp fallback,也没有 Metal shim。对统一内存架构的 Mac 来说,少一层抽象意味着少一次内存拷贝和格式转换,这是它”快”的物理基础。

装它很简单。Homebrew 已经收录:

brew install rapid-mlx

不喜欢 brew 的,官方还有 curl -fsSL https://rapidmlx.com/install.sh | bash 的一键脚本,自动建 venv 在 ~/.rapid-mlx/、检测内存选起步模型,连 sudo 都不需要。整个安装包不到 500MB。

装完直接 serve:

rapid-mlx serve qwen3.5-4b-4bit

第一次启动会下载模型权重(4B 的 4bit 大约 2.5GB),进度条跑完就起来了。监听 http://localhost:8000,OpenAI 兼容协议,curl、Python 客户端、各种 UI 工具随便接。

homepage

体感差异是明确的。同样的 4B 模型,Ollama 之前在我这台机器跑大概 50 多 tok/s,Rapid-MLX 干到 130+ tok/s,差了一倍多。官方的对比图我放下面——这是 M3 Ultra 256GB 上的数据,我手里这台 16GB 跑不到那么高,但同档对比的相对关系是一致的:

benchmark

Phi-4 Mini 14B 在 M3 Ultra 上是 3.2x,Qwen3.5-9B 是 2.6x,Gemma 4 12B 是 1.5x。平均下来”2 到 4 倍更快”这个说法站得住。

有几个工程细节让”Ollama 偶尔让我皱眉的地方”被逐个处理了:

  • tool calling 真的稳了:内置 17 种 parser,量化模型输出格式飘了会自动恢复成结构化。本地跑 agent 最怕的就是工具调用格式坏掉、整个流程重来一遍,这点对工程体验改善很大。
  • prompt cache 是双层的:radix 树前缀去重 + DeltaNet RNN 状态快照。Qwen3.5 这种混合架构(部分层是 RNN)也能命中缓存,缓存命中后首 token 延迟 0.08 秒。多轮对话复用同一个 system prompt 时体感差异明显。
  • 量化 KV 缓存:TurboQuant K8V4(K 用 8bit,V 用 4bit),连续批处理时进一步省内存。多用户并发场景下吞吐能撑住。

生态接得很宽。191 个模型别名、15 个家族,视觉、音频(TTS + STT)、embedding 都有,视频生成(LTX-2.3)也上线了。11 个 agent CLI 和 3 个 Python 框架官方维护”线缆兼容”——定期跑真实权重的端到端验证。我用本地几个 OpenAI 协议的客户端接过去,零修改直接用,没有一个出现协议不兼容的问题。

但有件事得说清楚:16GB 内存就是 16GB 的天花板

我日常常用的那个 35B 级 MoE 模型,Rapid-MLX 官方建议是 48GB 起步,我根本装不上去。要在这种内存下跑那种规模的模型,还得回到 llama.cpp 路线,靠 1.58bit、2-bit 这种极端量化把模型压进 16GB,付出明显的速度损失。这是物理限制,不是引擎的问题。

models

官方那张”哪个 Mac 跑哪个模型”的对照表很实在:16GB → 4B → 147 tok/s,24GB → 9B → 101 tok/s,48GB → 35B-A3B 8bit → 80 tok/s,96GB → 122B → 43 tok/s。梯度拉得很开,每一档都有合适的模型。

所以现在我桌面是两个进程并存:写代码、临时问问题丢给 Rapid-MLX 的 4B 模型,秒回;碰到需要复杂推理、长上下文,临时起一个 llama-server 跑量化后的 35B,各取所长。两者接的都是 OpenAI 协议,切换客户端配置一行的事。

这不是 Ollama 的替代品,是 Apple Silicon 上专门的一把快刀。Ollama 在跨平台、通用生态上还是事实标准;如果你的主战场是 Mac、又嫌 Ollama 差口气,brew install 一句就装上了,损失不了什么。真不满意,rm -rf ~/.rapid-mlx/ 就清理干净,不在系统上留任何痕迹。

发表评论