ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

用exo搭建本地分布式AI集群:4步跑通

用exo搭建本地分布式AI集群:4步跑通 用exo搭建本地分布式AI集群4步跑通【免费下载链接】exoRun frontier AI locally.项目地址: https://gitcode.com/GitHub_Trending/exo8/exo如果你手上有几台Mac想组一个exo分布式AI集群跑单机装不下的大模型这篇文章会带你从第一台机器装好到多机组网、再开满性能。适合家里有两台以上Mac的AI爱好者和开发者不需要任何集群经验。exo的思路很直接每台跑exo的机器会自动发现彼此不用手动配地址每台都在本机提供API和仪表盘端口52415任何一台都可以作为集群入口。为什么加机器4台机跑到31.9 tokens/s多数分布式方案只解决单机装不下把大模型拆到多机上加机器只是多了通信开销。exo不同它自带 Thunderbolt 5 上的 RDMA远程直接内存访问一台机器的CPU绕过系统网络栈直接读写另一台的内存设备间延迟降低99%让张量并行的加速真正兑现——2台机实测1.8倍4台机3.2倍。这是4台M3 Ultra Mac Studio上Qwen3-235B8-bit的对比单机时exo (RDMA) 19.5 tokens/s略低于llama.cpp (TCP) 的20.42台起反超26.2 对 17.24台时exo达到31.9llama.cpp反而掉到15.2——机器越多前者越快后者越慢。第一台机器装好exo先说要求macOS Tahoe 26.2走GPU加速或Linux目前只在CPU上跑GPU支持开发中。macOS用户还需要Xcode提供编译MLX用的Metal工具链以及uv和node可以用brew install uv node一次装好Rust用rustup安装并补一个nightly工具链。克隆仓库git clone https://gitcode.com/GitHub_Trending/exo8/exo构建仪表盘并启动cd exo/dashboard npm install npm run build cd .. uv run exo首次启动会同步Python依赖并编译Rust绑定稍等一会儿。终端显示监听52415端口后浏览器打开同一地址就能看到集群仪表盘。macOS上也可以跳过源码路线用brew install --cask exo直接装应用版装完就在后台跑。多机接入exo集群的自动发现加机器不需要配置任何地址在另一台Mac上重复上节的克隆、构建、启动exo节点会自动互相发现。仪表盘里的拓扑图能看到每台节点的实时状态。这是4台Mac Studio集群的拓扑视图每台512GB内存、当前占用172GB34%温度35~38°C、功耗13~15W。节点之间的虚线就是通信链路exo靠这张实时视图决定把模型怎么切。同一个网络里有多套集群时给每套设不同的EXO_LIBP2P_NAMESPACE值就能互相隔离。开启Thunderbolt上RDMA的6步 ⚡RDMA是macOS 26.2的新能力支持所有Thunderbolt 5机型M4 Pro Mac Mini、M4 Max Mac Studio、M4 Max MacBook Pro、M3 Ultra Mac Studio。开启要走一次恢复模式关机长按电源键10秒直到出现启动菜单选选项进入恢复模式从实用工具菜单打开终端执行rdma_ctl enable重启三个坑提前记住RDMA集群里的机器必须两两直连4台就是6根线线缆要支持TB5Mac Studio上紧挨以太网口的那个Thunderbolt 5口不能用。从源码运行时用仓库里的tmp/set_rdma_network_config.sh脚本关闭Thunderbolt Bridge并给每个RDMA口配DHCP。用仪表盘或API与模型对话仪表盘是最快的上手方式打开52415端口右侧INSTANCE面板点LAUNCH INSTANCE下拉选模型选分片策略Pipeline或Tensor、通信方式MLX Ring或MLX RDMA和最少节点数启动即可。图中4 × 512GB的M3 Ultra集群同时跑着DeepSeek v3.18-bit和Kimi-K2-Thinking4-bit右侧列表能看到每个实例用的策略Tensor MLX RDMA和它落在哪几台机器上。想接进现有工具链exo兼容OpenAI Chat Completions、Claude Messages、OpenAI Responses和Ollama四套API把base URL指向集群即可。最小的聊天请求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: What is AI?}], stream: true}创建/删除实例、从HuggingFace加载自定义模型都有对应端点完整清单见docs/api.md。模型太大塞不进系统盘时启动前加环境变量EXO_MODELS_DIRS/Volumes/ExternalSSD/exo-models uv run exo下载就会落到外置SSD盘满自动回退默认目录。三个高频问题的排查顺序 遇到问题先按这三条排查能解决大半情况集群发现不了彼此exo靠局域网广播发现先确认机器在同一局域网同网多集群则检查namespace是否撞了。RDMA端口互不可见先确认所有机器的macOS版本完全一致连beta编号都要一样再查线是否支持TB5、是否误用了以太网口旁边那个口。Linux上速度不及预期目前Linux只跑CPUGPU支持还在开发中要榨性能现阶段建议用Mac。macOS应用想彻底卸载走菜单栏图标→Advanced→Uninstall应用已删的话运行仓库里的app/EXO/uninstall-exo.sh清理网络配置和日志。现在就克隆仓库在两台机器上各起一个exo亲眼看看token吐出来的速度差多少。【免费下载链接】exoRun frontier AI locally.项目地址: https://gitcode.com/GitHub_Trending/exo8/exo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表