news 2026/8/31 7:51:17

4台Mac跑671B大模型:exo 分布式AI集群本地推理指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
4台Mac跑671B大模型:exo 分布式AI集群本地推理指南

4台Mac跑671B大模型:exo 分布式AI集群本地推理指南

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

exo 是一个本地大模型分布式推理框架:在多台 Apple Silicon 或 Linux 机器上各跑一条命令,设备就会自动发现彼此、组成集群,把单机装不下的大模型切开并行运行。Mac 用户也可以直接brew install --cask exo装菜单栏应用,省去源码构建。

一句话看懂它

  • 组网零配置:每台机器装好就上线,自动互相发现并展示实时拓扑,不用手动填地址
  • 跑更大的模型:把模型分片到多台设备的内存里,总容量决定你能跑多大的本地大模型
  • 加机器真的会更快:张量并行官方数据是 2 台最高 1.8 倍、4 台最高 3.2 倍
  • 换机器不换代价:OpenAI、Claude、Ollama 等 API 格式全兼容,现有客户端改个 base_url 就能用

最短路径跑通

第 1 步:拉代码并构建仪表盘

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

会看到:构建完成,产物生成在dashboard/build,这是后面网页控制界面的来源(macOS 源码运行还需 Xcode、uv、node、rust nightly,按 README 准备即可)。

第 2 步:在第一台机器上启动

cd exo uv run exo

会看到:本机集群服务和仪表盘启动在http://localhost:52415,页面里出现当前这台节点。

第 3 步:在第二台机器上执行同样两条命令

uv run exo

会看到:两台设备自动发现并组网成功,仪表盘拓扑图和聊天界面里都能同时看到两个节点,点 LAUNCH INSTANCE 就能分配第一个模型实例。

按设备组合选玩法

旧设备凑算力(异构集群)

新旧配置差异大的机器可以直接混编,调度器会按各设备的内存和链路带宽决定每个模型分片放哪台。内存有限但网络好的机器还能只当"协调员",不参与推理:

uv run exo --no-worker

分片决策逻辑在 placement.py,它对每条设备链路实时评估延迟与带宽后再给出放置方案。

多台机器分摊大模型(RDMA 高速直连)

4 台 512GB 的 M3 Ultra Mac Studio 通过 Thunderbolt 5 全互联,把 DeepSeek v3.1 671B(8-bit,约 671GB,远超单台容量)切开后跑起来。开启 RDMA 需要 macOS 26.2+:关机后长按电源 10 秒进恢复模式,在终端执行rdma_ctl enable,重启后 exo 会自动接管。

断网环境跑本地推理

模型放在外置硬盘或共享存储里,关掉联网即可完全离线:

EXO_OFFLINE=true EXO_MODELS_DIRS=/Volumes/SSD/exo-models uv run exo

多集群共用一个局域网时,再用EXO_LIBP2P_NAMESPACE=名字给各自集群划分隔离空间,避免误连。

实测表现

结论:只要内存加得够、链路够快,前沿规模模型可以在消费级 Mac 集群上本地推理,且加机器有实测加速。以下数据来自 Jeff Geerling 的公开测试(4 × M3 Ultra Mac Studio,张量并行 + RDMA over Thunderbolt 5):

  • 集群总内存:4 × 512GB = 2TB
  • 成功运行的模型:DeepSeek v3.1 671B(8-bit)、Qwen3-235B(8-bit)、Kimi K2 Thinking(4-bit)
  • 扩展速度:张量并行下 2 台最高 1.8x、4 台最高 3.2x(官方 README 口径)
  • 设备间通信延迟:RDMA over TB5 相比普通网络降低约 99%

常见坑速查

现象:两台机器在同一局域网,但始终发现不了彼此原因:不在同一子网、防火墙拦了局域网流量,或两边的EXO_LIBP2P_NAMESPACE不一致解法:确认同子网、放行本地网络权限,统一命名空间后重启 exo,必要时看~/.cache/exo/exo_log/下的日志

现象:RDMA 没生效或直连不稳定原因:两边 macOS 版本必须精确一致(含 beta 版本号),线缆非 TB5 规格,或在 Mac Studio 上用了紧邻以太网口的那个 TB5 口解法:对齐系统版本、换正规 TB5 线缆、避开以太网口旁边的端口

现象:Linux 节点推理速度远低于预期原因:exo 在 Linux 上目前只跑 CPU,没有 GPU 加速解法:推理负载交给 Apple Silicon 机器,Linux 机用--no-worker只做协调

接入现有工具链

exo 对外同时提供 OpenAI Chat Completions、Claude Messages、OpenAI Responses 和 Ollama 四套 API 端点,意味着 LangChain、OpenWebUI 这类现成工具改个base_url就能指向你的集群;自定义 HuggingFace 模型也能通过/models/add端点加载,完整端点清单见 docs/api.md。最小可用示例:

import openai client = openai.OpenAI(base_url="http://localhost:52415/v1", api_key="not-needed") r = client.chat.completions.create( model="mlx-community/Llama-3.2-1B-Instruct-4bit", messages=[{"role": "user", "content": "你好"}], )

到这里集群已经能服务真实流量了。建议的下一步:

  • 先用 1B 小模型在两台设备上跑通,观察仪表盘里的自动并行方案
  • /instance/previews预览不同放置策略,再决定用流水线还是张量并行
  • 有 TB5 的机器按上文开启 RDMA,用bench/exo_bench.py量化加机器前后的吞吐差异

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/31 7:45:44

途虎养车数据分析岗笔试题解析:从SQL到业务案例的考察逻辑

途虎养车2023秋招数据分析岗的笔试试卷B,最近在圈子里讨论度不低。这份卷子不是那种背背八股文就能过的题,它把业务理解和分析功底揉得很紧,更像是在模拟你入职之后每天要面对的真实工作场景。我拿到题目之后完整过了一遍,又跟几个…

作者头像 李华
网站建设 2026/8/31 7:44:39

用友2018秋招Java笔试题复盘:基础、集合、JVM与多线程要点解析

最近整理面试题库的时候,把用友2018秋招Java笔试题(一)完整做了一遍。所谓秋招八股文,网上总结很多,但真到笔试场景里,很多java基础题还是会因为“平时太熟”而翻车。这套题整体不偏不怪,几乎没…

作者头像 李华
网站建设 2026/8/31 7:42:32

C语言零基础入门:掌握printf和scanf的四个关键点

刚开始学C语言,最绕不开的就是printf和scanf这两个函数。几乎所有零基础教程第一课都会讲它们,很多初学者卡住也不是因为后面指针、结构体太难,而是从一开始就没有把“输出一个结果”和“输入一个数据”这两个最基本动作搞明白。这篇文章就围…

作者头像 李华
网站建设 2026/8/31 7:42:01

双星不同轨卫星目标探测Matlab仿真源码详解

简介:本资源面向航天工程、遥感探测及卫星导航方向的本科生与研究生,聚焦双星异轨协同探测场景下的轨道建模与目标检测仿真问题。通过Matlab实现从开普勒轨道参数生成、地心坐标系转换(ECEF/LLH)、卫星姿态与轨道动态更新&#xf…

作者头像 李华