AI News HubLIVE
站内改写2 分钟阅读

Ollama在Apple Silicon上通过MLX实现最高性能

Ollama的MLX引擎更新后,在Apple Silicon上实现了最高性能。通过更充分利用苹果统一内存和Metal支持的MLX框架,模型输出质量更高,响应更快,内存占用更低。新支持NVFP4格式,输出速度提升高达20%,并引入快照系统优化代理工作流。

Ollama于2026年6月11日宣布,其MLX引擎经过更新,在Apple Silicon上实现了迄今最高的性能。这次更新更加深入地利用了苹果的统一内存和基于Metal的MLX框架,使得模型输出质量更高,响应速度更快,同时内存占用更少。

(视频标签:在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大致将质量损失减半,同时保持了性能。

(困惑度图表:Gemma 4 12B——越低越好。NVFP4将4位量化的质量损失大致减半,相比未量化的BF16。)

更快的输出性能

得益于新的优化措施,Ollama的MLX引擎输出速度提升高达20%。多项操作通过MLX的即时编译功能融合为单个Metal内核,同时Ollama对GPU采样的实现进行了重构,使其运行更高效。

(输出速度图表:token/s——越高越好。在更新后的引擎上,NVFP4比q4_K_M快约20%。数据基于提供8300个token输入提示时的10次运行平均输出速度。)

代理工作流响应更迅速

代理工作负载主要由提示处理构成。每次工具调用都是一个新请求,每次请求都会重新发送整个对话历史:系统提示、工具定义以及之前读取的每个文件。在一个单一任务中,模型最终会多次处理相同的上下文。前缀缓存可以避免重复工作,只要每个请求从上一个请求停止的地方继续。

然而,在真实的代理会话中,这种情况并不会持续太久。Ollama的新快照系统在对话的关键点保存模型状态,采用了与Ollama云端处理代理工作负载相同的方法:

  • 多代理:代理将任务交给子代理并稍后重新接管,或同时运行两个会话。每个会话从其自己的保存状态恢复,它们共同的部分(通常是数万个token的系统提示、工具定义和摄入文件)只处理一次。
  • 思考模型:推理token生成后从对话历史中丢弃,因此下一个请求永远无法匹配引擎刚刚构建的状态。每次轮次通常需要重新处理整个对话。在响应开始前立即拍摄的快照为下一次轮次提供了可恢复的位置。
  • 分支和重试:不同的后续问题或重新生成的响应会从缓存对话中分叉而不是扩展。由于快照存在于对话分叉的位置,只有新方向需要处理。

大多数新模型使这变得更困难。滑动窗口注意力和循环层携带无法回退的状态。一旦模型经过对话中的某个点,除非当时保存了状态,否则无法恢复该点。Ollama在对话可能返回的点保存状态:分叉处、长提示的间隔处,以及每个响应之前。保持快照的选择性和增量性为模型留出了更多内存。

开始使用

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

ollama run gemma4:12b-mlx

在编码代理中使用时,请调用ollama launch:

ollama launch pi --model gemma4:12b-mlx