☰
把 4 台 Mac Studio 拼成 2TB 内存的大模型集群:exo 分布式AI推理从零跑通
2026/10/14 5:24:31 网站建设 项目流程

把 4 台 Mac Studio 拼成 2TB 内存的大模型集群:exo 分布式AI推理从零跑通

【免费下载链接】exoRun frontier AI locally.项目地址: https://gitcode.com/GitHub_Trending/exo8/exo

exo 是本地大模型集群工具:它自动发现同一网络下的几台 Mac,拼成一台能跑 235B 大模型的分布式推理机器。单台装不下的模型,四台一起装、一起算,还能比单台更快。

你的设备差在哪:单台装不下的 235B 大模型

你大概试过:一台笔记本想跑 235B 的模型,结果内存直接爆,连模型文件都装不下。问题不在你机器烂,而在单台物理上就放不下——家里那几台吃灰的设备,加起来才是你的家庭算力。

exo 一句话定位:把家里几台 Mac 拼成一台大模型电脑。

它和常见方案的差别,说白了就三点:

  • 不用你手填 IP、手分角色,节点互相自动发现,起进程就算入网
  • 加机器是真的更快——普通网络加机器常常更慢,exo 靠 RDMA over Thunderbolt 把这点翻了过来
  • 直接兼容 OpenAI / Claude / Ollama 那套 API,你现有的客户端指过来就能用

exo 凭什么能跑起来:自动组队 + 按内存切模型

你可以把它理解为一个会自动组队、还会自己分活儿的调度器。

第一,自动组队。新机器一启动 exo,就像新员工发群公告报到一样,靠广播互相发现,不需要谁去配谁。发现之后,exo 把能互通的节点连成一张图,挑出一条最顺的"环"来跑模型——内存大的、网络快的,自然排在更核心的位置。

第二,按内存比例切模型。就像把一桌菜分到几个灶台同时炒:内存大的机器多扛几层,内存小的少扛几层,切多少层是按各自可用内存占比算出来的,不是硬平均。另一种是张量并行,每台都持有全部层、只是每层切小片,机器越多越划算。这套切分逻辑在 src/exo/master/ 里。

第三块、也是"能 work"的关键,是网络。普通网络传数据像大家互相传话,中间来回确认;RDMA over Thunderbolt 则像把纸条直接塞进对手机器的内存,延迟据说能降 99%。这也是"加机器反而更快"的真正原因。

从零到跑通:4 步搭起本地大模型集群

下面按 Mac(Apple Silicon)讲,这是 exo 满血跑的场景。如果你只想先看效果,做到第 3 步就够了——两台 Mac 各起一个 exo,dashboard 里互相能看见、能随便聊。第 4 步和后面是进阶。

第 1 步:装好环境

brew install uv node rustup toolchain install nightly

这步跑完,uv --version应该能正常输出版本号。macOS 还需要 Xcode 提供 Metal 编译链,提前装好。

第 2 步:克隆仓库并构建 dashboard

git clone https://gitcode.com/GitHub_Trending/exo8/exo cd exo/dashboard && npm install && npm run build && cd ..

这步跑完,dashboard 目录里应该多出构建产物,说明前端打好了。

第 3 步:每台 Mac 各起一个节点

uv run exo

这步跑完,终端会停在http://localhost:52415。在另一台 Mac 上再跑一遍,回到 dashboard,你应该能同时看到两台设备。

第 4 步:发消息,看模型吐字

curl -N -X POST http://localhost:52415/v1/chat/completions \ -H 'Content-Type: application/json' \ -d '{"model":"mlx-community/Llama-3.2-1B-Instruct-4bit","messages":[{"role":"user","content":"你好"}],"stream":true}'

这步跑完,终端应该开始一行行流式吐出模型的回复。想看还有哪些 API 端点,见 docs/api.md。

跑起来之后:分布式AI推理实测数据与进阶玩法

先看数据。下面是 Qwen3 235B 在 4 台 M3 Ultra Mac Studio(每台 512GB,共 2TB)上的实测,对比走普通网络(TCP)和走 exo 的 RDMA:

节点数普通网络 TCPexo + RDMA
1 台20.4 t/s19.5 t/s
2 台17.2 t/s26.2 t/s
4 台15.2 t/s31.9 t/s

也就是说,走普通网络时机器越多反而越慢(4 台只剩 15.2 t/s,不如单台);换成 exo 的 RDMA 之后,从 19.5 一路涨到 31.9 t/s,4 台比 1 台快了约 64%。瓶颈从来不在算得慢,而在网络慢。

几个超出预期的用法:

  • 4 台 512GB Mac Studio(共 2TB 内存):装得下单台根本放不下的 DeepSeek V3.1 671B 和 Kimi K2(1T 参数),Kimi K2 在 4 台上能跑到 28.3 t/s。
  • 2 台 Mac + 现成聊天前端:exo 兼容 Ollama API,把 OpenWebUI 之类指到localhost:52415直接用,不用改一行代码。
  • 1 台 Mac + 1 台 Linux 盒子:Linux 上目前是 CPU 推理,适合当只做调度、不跑推理的节点;要满血速度,主力还是放 Mac。

调优方向就两个,点到为止:在 dashboard 的 Instance Type 里切MLX Ring / MLX RDMA(Ring 走邻居互联,RDMA 要吃满 TB5);用/instance/previews先预览模型怎么摆,再挑内存放得下的方案。

我踩过的坑:节点连不上、RDMA 不生效怎么办

两台机器死活发现不到对方。先确认 namespace 一致——不同 namespace 的节点互不连接;macOS 上还要放行防火墙和"本地网络"权限。

RDMA 没生效,速度没涨。它只在 macOS 26.2+ 且带 Thunderbolt 5 的机器上可用;要先进恢复模式执行rdma_ctl enable再重启,线缆也得支持 TB5,Mac Studio 别用网口旁边那个 TB5 口。

模型加载失败,提示内存不够。别硬上,先打开/instance/previews看每种摆放方案的 error 是否为空,挑内存放得下的;要跑更大的模型就去 src/exo/worker/engines/ 看看引擎支持情况。

Linux 上跑起来但感觉很慢。目前 exo 在 Linux 上还是 CPU 推理,GPU 支持还在开发中;想榨干性能,主节点优先选 Apple Silicon。

单台装不下的模型,现在四台一起装还更快——这件事确实值得你花一个周末试一把,尤其你家里本就堆着吃灰的 Mac。要是以后芯片再快一代,把整套东西塞进一台桌面机、还能跨设备继续扩展,那画面就更不一样了。

【免费下载链接】exoRun frontier AI locally.项目地址: https://gitcode.com/GitHub_Trending/exo8/exo

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询