博客 · AI
EXO Labs 的 exo:把多台 Mac 连接成 AI 集群
Exo 如何汇集多台 Apple 芯片 Mac 的内存,运行单机装不下的模型:安装、控制面板与 API、基于 Thunderbolt 5 的 RDMA,以及集群规划。

Exo 是 EXO Labs 推出的开源软件,可以把多台 Mac 连接成一个 AI 集群,让你运行单台机器装不下的大模型。本文介绍 exo 在 Apple 芯片上的工作方式、安装方法,以及如何用云端 Mac 规划 exo 集群。
Exo 是什么
用项目自己的话说,exo「把你所有的设备连接成一个 AI 集群」。它能运行超出单台设备内存的模型,并且随着设备增加,模型可以跑得更快。Exo 以 Apache-2.0 许可开源,在 GitHub 上公开开发,背后的公司是 EXO Labs。
在 Mac 上,exo 使用 GPU,推理后端是 Apple 的 MLX,机器之间的通信使用 MLX distributed。模型来自 Hugging Face。如果你在单台 Mac 上用过 mlx-lm,exo 就是把这些工作分摊到多台机器上的下一步。
exo 如何把多台 Mac 变成一个 AI 集群
- 自动发现。运行 exo 的设备会自动发现彼此,无需手动配置。要在同一网络中区分不同集群,可设置环境变量
EXO_LIBP2P_NAMESPACE。 - 拓扑感知的分配。Exo 会参考每台设备的资源以及各条链路的延迟和带宽,再决定如何把模型拆分到集群中。
- 张量并行。Exo 可以把模型分片到多台设备上。项目给出的数据是 2 台设备最高约 1.8 倍、4 台约 3.2 倍加速;实际效果取决于模型、Mac 和它们之间的连接。
- 基于 Thunderbolt 5 的 RDMA。在 macOS 26.2 或更高版本上,Exo 支持通过 Thunderbolt 5 连接的 Mac 之间使用 RDMA,项目称设备间延迟可降低 99%。
最直接的好处是内存。集群会汇集每台 Mac 的统一内存,例如 4 台各 96GB 的 Mac 合计约 384GB 可用于放置模型权重(需扣除 macOS 和各进程的占用)。
运行要求
- Apple 芯片 Mac。Exo 的 macOS 应用需要 macOS Tahoe 26.2 或更高版本。
- 各台 Mac 必须能在网络上互相访问。使用 RDMA 时,集群中每台 Mac 都必须用 Thunderbolt 5 线缆与其他每台 Mac 直连。
- 软件版本一致。使用 RDMA 时,所有 Mac 的 macOS 版本必须完全一致(包括测试版版本号)。各台机器最好也运行同一个 Exo 版本。
- Linux 可通过源码运行,但在撰写本文时 exo 在 Linux 上使用 CPU,Linux 的 GPU 支持仍在开发中。
在 Mac 上安装 exo
最快的方法是使用 macOS 应用。从 Exo 的 README 下载 EXO-latest.dmg,或用 Homebrew 安装:
brew install --cask exo
首次启动时,应用会请求修改系统设置并安装网络描述文件。请在集群中的每台 Mac 上安装。
如果要从源码运行,先安装 Xcode(MLX 需要其中的 Metal 工具链)、Homebrew、uv、Node.js 和 nightly 版 Rust,然后构建控制面板并启动 exo:
brew install uv node
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup toolchain install nightly
git clone https://github.com/exo-explore/exo
cd exo/dashboard && npm install && npm run build && cd ..
uv run exo
复制命令前请先查看 README:构建步骤会随版本变化,某些环境还需要额外工具(例如指定版本的 macmon)。
使用控制面板和 API
Exo 在 52415 端口提供控制面板和 API,地址为 http://localhost:52415/。控制面板会显示集群中的设备,并可直接与模型对话。API 兼容 OpenAI Chat Completions API、Claude Messages API、OpenAI Responses API 和 Ollama API,因此大多数现有客户端和智能体只需指向 exo 即可使用:
curl http://localhost:52415/v1/chat/completions \
-H 'Content-Type: application/json' \
-d '{"model": "MODEL_ID", "messages": [{"role": "user", "content": "Hello"}]}'
把 MODEL_ID 换成你在控制面板中启动的模型。出于安全考虑,需要 trust_remote_code 的自定义模型默认关闭,必须手动开启。
开启基于 Thunderbolt 5 的 RDMA
RDMA 是可选的,但 Exo 的多机加速主要来自它。根据 README,在每台 Mac 上:
- 关机,然后按住电源键 10 秒,直到出现启动菜单。
- 选择「选项」进入恢复模式,从「实用工具」菜单打开终端。
- 运行
rdma_ctl enable,然后重启。
项目还列出了几点注意事项:线缆必须支持 Thunderbolt 5,每台 Mac 都要与其他每台 Mac 相连;在 Mac Studio 上不能使用以太网口旁边的那个 Thunderbolt 5 接口。如果从源码运行,README 提供了一个脚本,用于关闭 Thunderbolt 网桥并在每个 RDMA 端口上启用 DHCP。
基准测试说明了什么
Exo 的 README 展示了一个由 4 台 Mac Studio(M3 Ultra,各 512GB)组成、启用 RDMA 的集群,运行 8-bit 的 DeepSeek V3.1 和 4-bit 的 Kimi K2 Thinking。EXO Labs 在博客中还把一台 NVIDIA DGX Spark 和一台 M3 Ultra Mac Studio 通过 10 GbE 连接:Spark 负责处理提示,Mac 负责生成,在 Llama 3.1 8B 上端到端比单台 Mac Studio 快 2.8 倍。这些都是项目在其自有硬件上测得的结果。
用云端 Mac 规划 exo 集群
想试用 exo,不必先买 4 台 Mac Studio。在 Hatmac,你可以租用多台独享 Mac,自己把它们连接起来:
- 按内存规划。粗略估算,4-bit 模型每十亿参数约需 0.5–0.7GB 内存,另需为上下文预留空间。把各节点的统一内存加起来,并给每台留出余量。
- 混合机型。Hatmac 的集群配置器可选择 4 至 10 个节点,每个节点可选不同的 Mac,共用一张发票和同一个续费日期。
- 先沟通网络。exo 需要各台 Mac 能互相访问,RDMA 还需要每两台之间用 Thunderbolt 5 直连。下单时请告诉我们你计划运行 exo,或先联系我们,以便讨论 Mac 的放置和连接方式。
- 从小规模开始。两台 Mac 就足以了解 exo 如何拆分模型。可参考如何搭建 Mac mini 集群以及本地大模型需要多少内存。
Mac mini M5 Pro
24GB · 512GB SSD
Pro 级 CPU 与 GPU,适合重度构建和小型模型。
低至 $399/月
- 6 个月$429/月
- 12 个月$399/月
Mac Studio M5 Max
36GB · 512GB SSD
高 GPU 吞吐量,适合机器学习、渲染和并行 CI。
低至 $599/月
- 6 个月$699/月
- 12 个月$599/月
Mac Studio M5 Ultra
AI 首选96GB · 1TB SSD
96GB 统一内存,适合大型本地大模型与微调。
低至 $1,299/月
- 6 个月$1,399/月
- 12 个月$1,299/月
价格为每台机器起始配置的美元月费。需要更多内存、存储或多台机器?联系我们。
常见问题
Exo 免费吗?
免费。Exo 以 Apache-2.0 许可开源。
使用 exo 必须有 Thunderbolt 5 吗?
不必。没有它,设备也能在网络上互相发现。Thunderbolt 5 加 RDMA 是项目取得最快多机成绩时使用的方式。
需要哪个 macOS 版本?
exo 的 macOS 应用需要 macOS Tahoe 26.2 或更高版本,RDMA 也是 macOS 26.2 新增的能力。
现有工具能连接 exo 吗?
通常可以。Exo 的 API 在 52415 端口提供,兼容 OpenAI Chat Completions 和 Responses API、Claude Messages API 以及 Ollama API。