exo:多台设备组AI集群,RDMA让大模型跑得更快
【免费下载链接】exoRun frontier AI locally.项目地址: https://gitcode.com/GitHub_Trending/exo8/exo
exo 是一个开源的本地 AI 集群工具:把它装上 MacBook、Mac Studio 甚至 Linux 服务器,设备之间自动发现、自动切分模型,让单机装不下的超大模型在你的桌面上跑起来。
🚀 项目亮点速览
4 台 512GB M3 Ultra Mac Studio 同时加载 DeepSeek v3.1(8-bit)与 Kimi K2 Thinking(4-bit)
- 自动发现,零配置组网:所有装了 exo 的设备开机即互相发现,不用手动填 IP 或开端口
- 加机器就变快:支持张量并行,2 台设备最高1.8 倍加速,4 台最高3.2 倍(README 特性数据)
- RDMA over Thunderbolt 5:设备间延迟降低99%,这是"加设备反而更快"的关键
这些能力背后是几条清晰的代码主线,拆开看并不复杂。
🔧 架构与核心模块
- master 协调节点:感知设备拓扑、决定模型怎么切分、对外提供 API,代码在 src/exo/master/
- worker 推理节点:执行真正的推理,苹果设备上由 MLX 引擎 承担,支持自动并行切分
- routing 消息层:节点间基于 pub/sub 的事件路由,模型下载、推理状态实时同步,见 src/exo/routing/
- 内置 Web 仪表盘:每台设备都自带,管理集群、聊天、看拓扑,源码在 dashboard/
📊 性能实测:4 节点集群的数据
Qwen3 235B A22B(8-bit)解码速度对比,数据来自仓库内基准测试图
测试条件:4 台 M3 Ultra Mac Studio 通过 Thunderbolt 5 全互联,张量并行:
- 4 节点 RDMA:解码31.9 t/s;同配置走 TCP(llama.cpp)只有 15.2 t/s,exo 约为其 2 倍
- 单节点基线:exo RDMA 19.5 t/s,llama.cpp TCP 20.4 t/s,两者基本打平——节点越多,RDMA 优势越大
单节点跑平、多节点拉开差距,说明这套架构的瓶颈确实压在设备间通信上。
快速上手:三步跑起你的第一个节点
从一台 MacBook 开始即可,不必先凑齐集群:
git clone https://gitcode.com/GitHub_Trending/exo8/exo cd exo/dashboard && npm install && npm run build uv run exo装好uv、node、rust后按上面三行操作,浏览器打开http://localhost:52415就能聊天、看集群状态。macOS 用户更省事:brew install --cask exo安装菜单栏应用(需 macOS 26.2+),它会在后台常驻并自动处理网络配置。
进阶玩法与调优技巧
- 开 RDMA:macOS 26.2 进恢复模式执行
rdma_ctl enable,设备间用 TB5 线全互联(Mac Studio 避开网口旁的 TB5 口),这是提速的前提 - 纯协调节点:
uv run exo --no-worker让配置弱的机器只负责组网和调度,不跑推理 - 模型放外置盘:设置
EXO_MODELS_DIRS=/Volumes/ExternalSSD,把模型缓存指到大容量 SSD - 隔离集群:设置
EXO_LIBP2P_NAMESPACE=dev,同一网络下多套集群互不串台 - 量化对比分片方案:用 bench/exo_bench.py 跑不同 placement 的 prefill/decode 速度,挑最优方案
适用场景与生态集成
- 单机装不下的大模型:671B 级别的 MoE 模型切到 4 台机器上推理,本地跑通
- 现有工具直接接入:提供 OpenAI Chat Completions、Claude Messages、Ollama 等兼容 API,OpenWebUI 这类前端可以直接指向它,接口细节见 docs/api.md
- 评测与调优:仓库自带 bench/ 基准与评测脚本,换模型、换分片方式都能量化对比
写在最后
exo 把"分布式推理"从论文拉回了日常:先在一台机器上把uv run exo跑通,等第二台设备开机时,你会直观看到它被自动发现、模型被重新切分。
【免费下载链接】exoRun frontier AI locally.项目地址: https://gitcode.com/GitHub_Trending/exo8/exo
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考