Apple Machine Learning Research · 2026/10/15 08:00:00

Apple 发布 MLX 新版:支持 Mac Studio 集群 RDMA 分布式推理,本地运行近万亿参数模型

原标题:Local and Distributed Large LLM Inference with MLX and RDMA on Mac Studio
78AI 研判分
核心综述

Apple 发布最新版 MLX 框架,通过引入 Thunderbolt 5 上的 RDMA 技术,实现了多台 Mac Studio 的分布式大模型推理。该方案允许在本地私有环境中运行参数量接近一万亿(如 Muse Spark Open)的前沿模型,四机集群下生成速度超过 36 tokens/s,首字延迟较上一代降低至 4.6 倍以内。

报道全文原始报道全文

本文目录27 个章节

MLX 标志

在搭载 Apple silicon 的 Mac 上,MLX 让 AI 研究人员和开发者能够在私密环境中本地实验最新的模型与方法。这一开源数组框架利用了 Apple silicon 的统一内存架构,使任何人都能在自有硬件上运行新的推理和微调方法,并探索其他 AI 技术。在此前的文章中,我们重点介绍了 M5 架构及其 GPU Neural Accelerators(GPU 神经加速器)的优势。

在本文中,我们将展示如何使用今天发布的最新版 MLX,直接从你的桌面上运行最新的前沿级模型——拥有近一万亿参数的 Muse Spark Open。在由四台 Mac Studio 组成的集群上,Muse Spark Open 的生成速度超过每秒 36 个 token(参见 图 1),远高于人类平均阅读速度。

从单台 Mac Studio(最高配备 512GB 统一内存)开始,再通过 Thunderbolt 上的 RDMA 驱动扩展至多台 Mac,下文将概述你现在可以在 Mac Studio 上运行的各类模型范围。

Muse Spark Open 解码速度

上下文长度为 8,192 个 token

图 1:在配备 M5 Ultra 芯片的 Mac Studio 上,Muse Spark Open 在 8,192 个 token 上下文长度下的解码速度(单位:token/秒)。数值越高越好。我们报告了三种并行化方案的性能:跨两台 Mac Studio 计算机的流水线并行(2 M5 Pipeline),以及跨两台(2 M5 Tensor)和四台 Mac Studio 计算机的张量并行(4 M5 Tensor)。

使用 MLX 运行大语言模型

我们在 Mac Studio 上使用 MLX LM 包对几款流行的开放权重 LLM 进行了基准测试,具体方法如我们之前的文章所述。我们对比了两代 Mac Studio:最近发布的 M5 Ultra 和上一代的 M3 Ultra。M5 一代配备了 GPU Neural Accelerator,支持专用的矩阵乘法操作,这对于许多机器学习工作负载至关重要。

我们评估了三个前沿级模型(表 1),其参数规模跨度较大(以十亿参数,B 为单位):新发布的 Muse Spark Open(816 B)、Mistral Medium 3.5(128 B)以及 Qwen 3.8(27 B)。Muse Spark Open 是一个混合专家(MoE)模型,它在推理时仅激活部分专家——从而减少活跃参数数量并降低计算开销,并以 NVFP4 精度进行评估。Mistral Medium 3.5 和 Qwen 3.8 采用稠密架构,在推理时所有参数均处于激活状态,分别以其原生浮点精度(FP8 和 BF16)进行评估。

模型总参数量活跃参数量原生精度评估精度
Muse Spark Open816B42BBF16NVFP4
Mistral Medium 3.5128B128BFP8FP8
Qwen 3.827B27BBF16BF16

表 1:本文使用的语言模型。模型发布时采用不同的精度格式;我们对 Qwen 3.8 和 Mistral Medium 3.5 使用其原生精度进行评估,对 Muse Spark Open 则使用 4-bit(NVFP4)精度进行评估。

我们的评估在不同上下文长度下测量三项指标:首 Token 生成时间(TTFT,单位为秒)、生成吞吐量(单位为 tokens/秒)以及峰值功耗(单位为瓦特)。本文中所有性能数据均通过 mlx_lm.benchmark 获取。例如,运行 Qwen 3.8 模型,设置 8,192 token 的上下文长度并生成 128 个 token,可使用以下命令行执行:

文本
mlx_lm.benchmark --model Qwen/Qwen3.8-27B -p 8192 -g 128 -b 1

在 Mac Studio 上本地运行 LLM 的一个常见用途是在私有环境中执行智能体(agentic)任务,包括通常需要大上下文的智能体编码应用。因此,我们报告了 8,192 和 65,536 两种上下文长度下的性能表现。

原始的 TTFT 和解码吞吐量分别列于 表 2 和 表 3。

单台 Mac Studio 上的推理性能

Qwen 3.8 27B 和 Mistral Medium 3.5 128B 可以舒适地运行在配备 512GB 内存的单台 Mac Studio 上,在大上下文长度(65,536 tokens)设置下,分别占用最高 68GB 和 158GB 的 RAM。在 Figure 2 中,我们比较了它们在配备 512GB RAM 的单台 Mac Studio 上的推理性能,涵盖 M3 Ultra 和 M5 Ultra 两种配置。

首 token 生成时间(TTFT)本质上受计算能力限制,而这正是 M5 Ultra GPU 中的 Neural Accelerators(神经加速器)大显身手的地方:GPU Neural Accelerator 对快速矩阵乘法提供的专用硬件支持,直接转化为 TTFT 的显著加速,相比 M3 Ultra 最高快 4.6 倍(参见 Figure 2)。这使得配备 M5 Ultra 的 Mac Studio 成为处理涉及超大上下文任务的首选桌面设备。

生成速度(每秒 token 数)受内存带宽限制。M5 Ultra 芯片提供 1.2 TB/s 的统一内存带宽,高于 M3 Ultra 的 819 GB/s。同样,这直接转化为生成速度的提升(参见 Figure 3),配备 M5 Ultra 的 Mac Studio 报告其 tokens/s 速度快了 1.6 倍。

TTFT 加速比

单台 Mac Studio,M5 Ultra 相对于 M3 Ultra 基线(1.0×)

Figure 2: M5 Ultra 相对于 M3 Ultra 基线的首 token 生成时间(TTFT)加速比,针对 Qwen 3.8 和 Mistral Medium 3.5,上下文长度为 8,192 和 65,536 tokens。M5 Ultra GPU 的 Neural Accelerator 在计算密集型工作负载上表现卓越。

解码加速比

单台 Mac Studio,M5 Ultra 相对于 M3 Ultra 基线(1.0×)

Figure 3: M5 Ultra 相对于 M3 Ultra 基线的解码加速比,针对 Qwen 3.8 和 Mistral Medium 3.5,上下文长度为 8,192 和 65,536 tokens。解码过程受内存带宽限制,M5 Ultra 的 1.2 TB/s 统一内存带宽(对比 M3 Ultra 的 819 GB/s)是关键优势。

Mac Studio 在 LLM 推理方面也非常节能(参见 Figure 4):配备 M3 Ultra 的 Mac Studio 峰值功耗约为 200W,而配备 M5 Ultra 的 Mac Studio 为 300W——仅相当于普通烤面包机功耗的一小部分。更重要的是,这种适度的功耗意味着 Mac Studio 可以在任何家庭或办公环境中部署用于 AI 工作。

峰值功耗

65,536 token 的上下文长度

图 4:在配备 M3 Ultra 和 M5 Ultra 芯片的 Mac Studio 上,针对 Qwen 3.8 和 Mistral Medium 3.5 模型进行推理时,在 65,536 token 上下文长度下的峰值功耗(单位:瓦特)。

虽然 Qwen 和 Mistral 模型均可容纳在一台配备 512GB 内存的 Mac Studio 中,但 Muse Spark Open 仅其模型参数就需要超过 1.6TB 的内存(以原生 BF16 精度存储)。若采用 4-bit 量化格式(NVFP4),模型的内存占用可降至约 493GB。再加上推理过程中中间计算所需的内存,该模型无法在单台机器上运行,必须跨多台 Mac Studio 计算机进行并行化处理。

跨两台 Mac Studio 计算机的流水线推理

像 Muse Spark Open 这样超大规模的前沿级模型无法在单台机器上运行。不过,我们可以将模型的一半存储在上一台 Mac Studio 中,另一半存储在另一台上。随后,我们可以通过两台计算机对模型推理进行流水线处理:第一台 Mac Studio 执行模型前半部分的层,然后将输出发送给第二台 Mac Studio,由其执行后半部分。这种并行化方案称为流水线并行(pipeline parallelization)(参见 图 5),实现起来极其简单,只需最少的代码修改即可。

将大型模型拆分到多台计算机

图 5:MLX 支持两种将大型模型拆分到多台计算机的方法。流水线并行按深度拆分模型,而张量并行则按宽度拆分模型。

MLX 支持多种并行化方案,如 MLX 分布式文档所述。这些方案依赖于高速的机器间通信:macOS 26.2 引入了基于 Thunderbolt 5 的低延迟 RDMA 驱动,而 MLX(v0.30.1 及更高版本)在此基础上构建了新的通信集合操作原语(jaccl,发音为 “jackal”),以支持不同的并行化方案。在我们的配置中,两台 Mac Studio 通过两根 Thunderbolt 线缆连接(以加倍链路带宽),从而提供了 jaccl 所使用的基于 Thunderbolt 的 RDMA 链路。主机设置完成后,MLX 提供了 mlx.launch 这一辅助命令,用于跨多个节点启动任务:

文本
mlx.launch --hostfile hostfile.json --backend jaccl --env MLX_METAL_FAST_SYNCH=1 -- \
mlx_lm.benchmark --model mistralai/Mistral-Medium-3.5-128B -p 8192 -g 128 -b 1 --prefill-step-size 8192 --pipeline

在该命令中,--backend jaccl 指定了基于 RDMA Thunderbolt 驱动的 backend。--env MLX_METAL_FAST_SYNCH=1 标志启用了 MLX 的一项实验性功能,以实现快速的 CPU-GPU 同步,从而降低发起 Thunderbolt 通信的 CPU 与执行计算的 GPU 之间的通信开销。

总体而言,采用流水线并行(pipeline parallelization)时的解码推理速度(参见 图 7)与单机情况非常接近,因为各层仍然是顺序评估的。通信开销也极低,因为只需交换两组层之间的中间输出。

然而值得注意的是,对于非常大的上下文长度(在我们的基准测试中为 65,536 个 token),在预填充(prefill)阶段,流水线并行最终比单节点更快——最高可达约 1.8 倍加速(参见 图 6)。这是因为 MLX 将大上下文分割成较小的块(此处由 --prefill-step-size 8192 设置为 8,192 个 token),并在多台机器之间对预填充过程进行流水线化处理:当第二台机器计算第 kkk 块的后续层时,第一台机器同时计算第 k+1k+1k+1 块的前置层,从而使连续块在时间上重叠。为了获得更优的计算并行性,接下来我们将转向张量并行(tensor parallelization)。

TTFT 加速

两台 Mac Studio 采用流水线并行,相对于单台 M5 Ultra 基线(1.0×)

图 6:在上下文长度为 8,192 和 65,536 tokens 时,针对 Qwen 3.8 和 Mistral Medium 3.5,两台配备流水线并行的 M5 Ultra 相对于单台 M5 Ultra 基线的首 token 生成时间(TTFT)加速比。将上下文拆分(此处拆分为 8,192-token 的块)使 MLX 能够在两台机器之间重叠计算——因此在 65,536 tokens 时出现加速,而在 8,192 tokens 时没有。

解码加速

两台 Mac Studio 采用流水线并行,相对于单台 M5 Ultra 基线(1.0×)

图 7:在上下文长度为 8,192 和 65,536 tokens 时,针对 Qwen 3.8 和 Mistral Medium 3.5,两台配备流水线并行的 M5 Ultra 相对于单台 M5 Ultra 基线的解码加速比。流水线并行对解码速度几乎没有影响。

用于加速推理的张量并行

张量并行(参见图 5)将 LLM 的宽度分布到多台计算机上,这与将模型沿深度方向分布的流水线并行形成对比。现在每台机器持有模型每一层的一部分,从而实现了每层计算的并行化。当高效实现时,张量并行能提升推理速度。然而,张量并行的实现比流水线并行更复杂:必须对每一层进行并行化,这增加了代码复杂度。该方案还涉及大量小型通信操作:对于每个输入 token 和每一层,都需要广播输入并聚合输出。因此,像 MLX jaccl 支持的 Thunderbolt RDMA 这样极低延迟的通信技术,对于该方法产生任何加速效果至关重要。

借助 MLX 的高级 mlx.launch 辅助工具,可以轻松切换到张量并行。Mac Studio 计算机通过 Thunderbolt 网状网络连接,每对机器之间通过两根 Thunderbolt 线缆进行点对点链接。假设主机已配置好,我们只需使用以下命令在多台机器上启动基准测试:

文本
mlx.launch --hostfile hostfile.json --backend jaccl --env MLX_METAL_FAST_SYNCH=1 -- \
mlx_lm.benchmark --model meta-models/Muse-Spark-Open-816B-A42B-NVFP4 -p 8192 -g 128 -b 1

图 8 和 图 9 展示了使用两台或四台搭载 M5 Ultra 芯片的 Mac Studio 计算机,相对于单机基线(对于 Muse Spark Open,则是流水线并行化基线)所获得的加速比。值得注意的是,稠密架构在多机扩展方面表现更佳。

在机器数量较少时,张量并行化的通信开销可能会抵消其在超大上下文长度下带来的部分计算收益,但这仅影响预填充(prefill)阶段。这一点在 Muse Spark Open 上尤为明显:由于专家输出的独立归一化增加了预填充阶段的通信量,导致在极大上下文(65,536 tokens)下,双机张量并行的性能落后于双机流水线并行。然而,随着机器数量的增加,该方法的优势逐渐显现,这在四台 M5 Ultra 的配置中得到了验证。解码(decode)阶段不受影响:即使在较大上下文下,Muse Spark Open 在张量并行化下仍能保持显著的解码加速,其表现可与 Qwen 3.8 和 Mistral Medium 3.5 等稠密模型相媲美。

双线缆网格拓扑在预填充阶段同样能带来收益,此时额外的链路带宽优势得以体现。对于在四台 M5 Ultra 上运行、上下文长度为 65,536 tokens 的 Muse Spark Open,每链路使用两根线缆可将首 token 时间(TTFT)从约 50.5 秒(单根线缆)降低至 40.6 秒——表 2 中报告的是双线缆数值,而单线缆结果来自一项补充实验。

TTFT 加速比

两台或四台 Mac Studio 采用张量并行化,相对于单台 M5 Ultra 基线(1.0×;Muse Spark Open:双机流水线)

图 8:Qwen 3.8、Mistral Medium 3.5 和 Muse Spark Open 在 8,192 和 65,536 tokens 上下文长度下,两台或四台 M5 Ultra 采用张量并行化相对于单台 M5 Ultra 基线的首 token 时间(TTFT)加速比。由于 Muse Spark Open 无法在单台机器上运行,因此其基线为两台 M5 Ultra 的流水线配置。

解码加速比

两台或四台 Mac Studio 采用张量并行化,相对于单台 M5 Ultra 基线(1.0×;Muse Spark Open:双机流水线)

图 9:在上下文长度为 8,192 和 65,536 tokens 时,针对 Qwen 3.8、Mistral Medium 3.5 和 Muse Spark Open,使用张量并行(tensor parallelization)的两台或四台 M5 Ultra 相对于单台 M5 Ultra 基线的解码速度提升倍数。由于 Muse Spark Open 无法在单台机器上运行,因此其基线为两台 M5 Ultra 的流水线并行配置。

首 Token 生成时间(秒)

数值越低越好

模型M3 UltraM5 Ultra2 M5 流水线并行2 M5 张量并行4 M5 张量并行
Muse Spark Open——8.48.24.8
Mistral Medium 3.595.924.624.514.47.5
Qwen 3.818.24.14.13.11.7

表 2:Qwen 3.8、Mistral Medium 3.5 和 Muse Spark Open 在上下文长度为 8,192 和 65,536 tokens 时的首 Token 生成时间(TTFT),单位为秒。数值越低越好。我们报告了单台 M3 Ultra、单台 M5 Ultra、两台 M5 Ultra(流水线并行和张量并行)以及四台 M5 Ultra(张量并行)的结果。

解码速度(tokens/秒)

数值越高越好

模型M3 UltraM5 Ultra2 M5 流水线并行2 M5 张量并行4 M5 张量并行
Muse Spark Open——15.7424.9936.73
Mistral Medium 3.54.957.707.7013.6923.37
Qwen 3.812.4619.6919.4433.2750.89

表 3:Qwen 3.8、Mistral Medium 3.5 和 Muse Spark Open 在上下文长度为 8,192 和 65,536 tokens 时的解码速度,单位为 tokens/秒。数值越高越好。我们报告了单台 M3 Ultra、单台 M5 Ultra、两台 M5 Ultra(流水线并行和张量并行)以及四台 M5 Ultra(张量并行)的结果。解码速度是在上下文之后生成 128 个 tokens 的过程中测得的。

Mac 上的本地 Agentic AI

最近,Mac 上的 agentic AI 获得了广泛关注,agentic 编码工具在开发者中得到了广泛采用。借助 MLX,在本地运行这些工具非常简单,只需启动一个带有 mlx_lm.server 工具的服务器即可。例如,在端口 8080 上运行 Muse Spark Open 的服务器可以通过以下命令启动:

文本
mlx.launch --hostfile hostfile.json --backend jaccl --env MLX_METAL_FAST_SYNCH=1 -- \
mlx_lm.server --model meta-models/Muse-Spark-Open-816B-A42B-NVFP4 --port 8080

与 mlx_lm.benchmark 类似,mlx_lm.server 辅助工具可以通过添加 mlx.launch 前缀来在多台 Mac Studio 之间并行化计算。在此基础上,可以借助 OpenCode 等工具启用代理式 AI(agentic AI),该工具可轻松配置为使用本地 LLM 服务器:

文本
{
  "$schema": "https://opencode.ai/config.json",
  "model": "meta-models/Muse-Spark-Open-816B-A42B-NVFP4",
  "provider": {
    "mlx": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Local MLX",
      "options": {
        "baseURL": "http://127.0.0.1:8080/v1"
      },
      "models": {
        "meta-models/Muse-Spark-Open-816B-A42B-NVFP4": {
          "name": "Muse Spark Open 816B (MLX)"
        }
      }
    }
  }
}

通过类似的方法,还可以实现许多其他本地代理式 AI 体验。

结论

在过去一年中,我们在 MLX 上开展了几项关键创新,旨在让在最新的 Apple 芯片上本地运行最先进的大语言模型(LLM)变得更加容易和高效。这些创新包括对 M5 系列芯片 GPU 中神经加速器(Neural Accelerators)的软件支持、利用 Thunderbolt 上的 RDMA 实现跨多台 Mac 的低延迟通信,以及针对混合专家(MoE)等近期流行架构的高效实现。每一项创新单独来看都大有裨益,但将它们与最新的 Apple 芯片相结合——即搭载 M5 Ultra 的 Mac Studio、M5 Ultra GPU 中的神经加速器、512GB 统一内存以及 Thunderbolt 5 上的 RDMA——使我们现在能够本地运行参数量超过 8000 亿的 Muse Spark Open 模型,其启动速度(首 Token 生成时间,time-to-first-token)最高可达上一代 Mac Studio 的 4.6 倍。