← 文章 / AI技术
Ollama 博客 3小时前 · 2026-08-31 13:10:57 · 0 阅读

Ollama MLX 引擎更新:Apple Silicon 性能再创新高

Ollama 的 MLX 引擎已完成更新,在 Apple Silicon 上的性能达到了新高。通过更充分地利用 Apple 的统一内存以及基于 Metal 的 MLX 框架,模型现在能输出更高质量的回答,响应速度更快,内存占用也更少。

Your browser does not support the video tag.
在 MacBook Pro M5 Max 上使用 Gemma 4 12B 运行一个编码智能体。Ollama 改进后的 MLX 引擎带来了更高质量的结果、更快的输出速度以及更短的首 token 延迟,同时支持思考模式与多个子智能体的协作。

借助 NVFP4 提升回答质量

Ollama 的 MLX 引擎已更新,支持 NVIDIA 面向模型优化的 NVFP4 格式。相比其他 4 位量化格式,它能在保持业界领先性能的同时输出更高质量的结果。另一个额外的好处是,原本针对数据中心部署而优化的模型,现在可以通过 Ollama 的 MLX 引擎导入并运行,从而实现数据中心与桌面端之间的无缝迁移。

NVFP4 能够更精细地跟踪模型权重的局部动态范围,从而降低量化带来的精度损失。我们对比了 Gemma 4 12B 模型在 q4_K_M(Ollama 常用的 4 位量化格式)、NVFP4 以及未量化的 bf16 权重之间的困惑度差异。结果显示,经过模型优化的 NVFP4 在保持性能的同时,将量化造成的质量损失近乎减半:

Perplexity Gemma 4 12B – lower is better
相对于未量化的 BF16,NVFP4 大约将 4 位量化的质量损失减半。

更快的输出性能

经过一系列新的优化,Ollama 的 MLX 引擎输出速度最高提升了 20%:通过 MLX 的即时编译特性,多个算子被融合到单一的 Metal 内核中;同时 Ollama 基于 GPU 的采样逻辑也经过了重构,运行效率更高。

Output speed tokens/s · higher is better
在更新后的引擎上,NVFP4 的生成速度比 q4_K_M 快约 20%。
输入提示词为 8,300 个 token 时,10 次运行的平均输出速度。

智能体工作流响应更灵敏

Agent 类工作负载主要消耗在 prompt 处理上。每次工具调用都是一个新请求,而每个请求都要重发整段会话内容:系统提示、工具定义、以及迄今为止读过的所有文件。完成一个任务的过程中,同一份上下文会被反复处理几十次。前缀缓存能省掉这些重复计算,前提是每个请求都接着上一次的处理结果往下走。

但真实的 agent 会话很快就不是这样了。Ollama 新的快照系统会在会话的各个关键节点保存模型状态,所采用的方法和 Ollama 云端为 agent 工作负载服务时用的方案一致:

  • 多个 agent:agent 把任务交接给子 agent,之后再回来继续,或者两个会话同时跑。它们各自从自己保存的状态恢复,而它们之间共有的部分——通常是好几万 token 的系统提示、工具定义和已读文件——只处理一次。

  • 推理类模型:模型先生成推理 token,再把它们从会话历史里丢掉,于是下一个请求根本无法命中引擎刚刚构建好的状态。每轮本来都要重新处理整段会话。而在响应开始前抓一个快照,下一轮就有个可以接上的状态。

  • 分支与重试:换一种追问方式,或者重新生成回复,会让会话偏离已缓存的路径,而不是延伸下去。因为在会话分叉的地方保存了快照,只有新方向上的内容需要处理。

大多数新模型让这件事变得比听上去更难。滑动窗口注意力和循环层会携带无法回退的状态,模型一旦越过会话中的某个节点,除非当时存了状态,否则那个节点就找不回来了。Ollama 会在会话很可能返回的位置保存状态:分叉处、长 prompt 的间隔位置、以及每次响应刚生成之前。把快照做得有选择且增量更新,就能给模型腾出更多内存。

开始使用

要用 Ollama 的 MLX 引擎运行模型,请下载最新版本的 Ollama,然后运行一个模型:

ollama run gemma4:12b-mlx

如果用在编程 agent 里,用 ollama launch

ollama launch pi --model gemma4:12b-mlx
原始来源: Ollama 博客

评论 (0)