如何把多台设备拼成一台本地 AI 超算:exo 分布式集群实战指南

发布时间:2026/8/31 19:32:26
如何把多台设备拼成一台本地 AI 超算:exo 分布式集群实战指南 如何把多台设备拼成一台本地 AI 超算exo 分布式集群实战指南【免费下载链接】exoRun frontier AI locally.项目地址: https://gitcode.com/GitHub_Trending/exo8/exo想跑一个参数量超过单台机器内存的大模型与其把量化精度压到失真不如换个思路用 exo 把几台设备连成一套分布式 AI 集群让模型被自动拆到多台机器上并行推理。exo 是一个主打本地运行前沿 AI的分布式计算框架设备启动后自动互相发现走 Thunderbolt 上的 RDMA 组网支持张量并行Tensor Parallelism与 Pipeline 两种拆法同时提供 OpenAI、Claude、Ollama 多套兼容 API 单机装不下大模型时该找什么工具先把 exo 能带来的几个关键数字摆出来方便你判断它值不值得折腾延迟通过 Thunderbolt 5 上的 RDMA设备间通信延迟降低 99%吞吐张量并行下2 台设备最高提速 1.8 倍4 台设备最高提速 3.2 倍拆分根据设备拓扑的实时视图各节点资源 每条链路的延迟/带宽自动决定模型怎么切不用手动规划后端推理基于 Apple 的 MLX分布式通信走 MLX distributed接口一套服务同时兼容 OpenAI Chat Completions、Claude Messages、OpenAI Responses 和 Ollama API现有客户端基本不用改配置。换句话说内存不够就横向加机器速度不够就再加机器——加机器这件事本身是变快而不是变慢这正是 RDMA 带来的区别。先让一台设备跑起来装好 exo 并启动集群节点exo 目前支持 macOSApple Silicon和 Linux。macOS 需要 Tahoe 26.2 才能用上 RDMA并且建议装好 Xcode提供 Metal ToolChain编译 MLX 用Linux 侧目前跑在 CPU 上GPU 支持还在路上。准备依赖两个平台都需要uv、node构建内置 dashboardLinux 要求 node 18和 Rust nightly构建 Rust 绑定。macOS 上一般用 Homebrew 一条命令装齐uv node另外装一个macmonApple Silicon 硬件监控用。一条命令启动依赖就绪后把仓库拉下来、构建 dashboard、启动节点就是下面这三行git clone https://gitcode.com/GitHub_Trending/exo8/exo cd exo/dashboard npm install npm run build cd .. uv run exo启动后这台设备会在http://localhost:52415同时提供 dashboard 和 API之后所有交互都从这里进入。macOS 用户也可以不碰命令行官方提供了一个常驻后台的菜单栏 App要求 macOS Tahoe 26.2通过 Homebrew 的exocask 或官网 dmg 安装首次运行会请求修改系统设置并安装一个网络配置 profile属于正常行为。接入多台设备自动发现如何组网 第二台、第三台设备上重复上面三步即可不需要任何手动配对跑着 exo 的设备会自动发现彼此并加入同一集群。任意一台的 dashboard 都可以作为整个集群的控制台。打开 dashboard 后中央就是集群拓扑视图图中是 4 台 Mac Studio 组成的集群每台标注了内存占用约 172GB/512GB34%、CPU 占用、温度35~38°C和功耗13~15W虚线代表节点间的通信链路。拓扑是实时的模型加载到哪个节点、占了多少内存一目了然。两个实用细节同一网络里想跑多个互不干扰的集群可以设置EXO_LIBP2P_NAMESPACE做命名空间隔离避免设备误加入别人的集群某台机器没有 GPU 资源但网络条件好时用uv run exo --no-worker以纯协调节点身份加入只负责组网和调度不参与推理。Thunderbolt 5 RDMA把集群速度拉满⚡ RDMARemote Direct Memory Access是 macOS 26.2 新加入的能力支持它的机型包括 M4 Pro Mac mini、M4 Max Mac Studio / MacBook Pro、M3 Ultra Mac Studio。启用流程只需进一次恢复模式关机后长按电源键 10 秒直到启动菜单出现选选项进入恢复模式从实用工具菜单打开终端输入rdma_ctl enable回车重启之后 exo 会自动接管剩余配置。这张图是 4 台 M3 Ultra Mac Studio 跑 Qwen3-235B8-bit的实测对比单节点时 exo 与 llama.cppTCP接近19.5 对 20.4 t/s到 2 节点exo 反超到 26.2 t/s而 llama.cpp 掉到 17.24 节点时 exo 达到 31.9 t/sllama.cpp 只剩 15.2——普通 TCP 方案加机器反而更慢RDMA 方案加机器持续变快这就是前面那组提速数据1.8x / 3.2x的来源。RDMA 有几条硬约束不满足就退化回普通网络通信集群内设备必须两两直连全互联不能用交换机中转线缆必须支持 TB5Mac Studio 上以太网口旁边那个 Thunderbolt 5 口不能用所有设备的 macOS 版本必须完全一致连 beta 版本号都要一样否则 RDMA 端口可能互相发现不了从源码运行时用仓库里tmp/set_rdma_network_config.sh脚本关掉 Thunderbolt Bridge 并给各 RDMA 口配好 DHCP。从 Dashboard 到 API装载模型开始对话在 dashboard 上启动实例打开http://localhost:52415右侧 INSTANCE 面板点 LAUNCH INSTANCE然后做四个选择模型、ShardingPipeline 或 Tensor、Instance TypeMLX Ring 或 MLX RDMA、最小节点数点启动即可界面左侧是聊天区中间是集群拓扑各节点内存、温度、功耗实时刷新右侧 INSTANCES 面板列出了已加载的模型图中 4×512GB M3 Ultra Mac Studio 同时跑着 DeepSeek v3.1 8-bit 与 Kimi-K2-Thinking 4-bit以及 LAUNCH INSTANCE 配置项。加载完成后直接在左侧聊天框提问就行。用 API 管理实例与请求不想点界面就走 API。推荐顺序是先用/instance/previews?model_id...预览模型的所有合法放置方案返回每种拆分下各节点占多少内存挑一个后 POST 到/instance创建创建是异步的用/instance/await挂住 SSE 流收到type: ready再发推理请求。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}用完后curl -X DELETE http://localhost:52415/instance/id释放内存。同一套服务还暴露/v1/messagesClaude 格式、/v1/responsesOpenAI Responses 格式和/ollama/api/chatOllama 格式可直接接 OpenWebUI 这类客户端想跑 HuggingFace 上的自有模型POST/models/add并传model_id即可完整字段与响应见 API 文档。避坑指南新手最容易问的六个问题 按踩坑频率从高到低列一下Linux 为什么慢当前 Linux 上 exo 跑在 CPUGPUCUDA支持在开发中Linux 集群目前更适合验证组网和流程性能预期要放低。模型文件放哪默认在~/.exo/modelsmacOS或~/.local/share/exo/modelsLinux。想放到高速外置盘启动时加EXO_MODELS_DIRS/Volumes/ExternalSSD/exo-models uv run exo多台机器共享同一份模型可以用EXO_MODELS_READ_ONLY_DIRS指向 NFS 挂载那里的模型只读不可删。断网能用吗可以EXO_OFFLINEtrue只加载本地已有模型不访问网络。RDMA 组网失败九成是版本或连接问题OS 版本不一致、没全互联、用了不支持 TB5 的线、或误用了 Mac Studio 网口旁的那个 TB5 口逐一排查即可。自定义模型加载报错需要trust_remote_code的模型默认会被拒绝出于安全考虑该开关默认关闭确认信任该模型的远程代码后再显式打开。怎么验证拆分方案快不快仓库自带 bench/exo_bench.py节点保持uv run exo运行指定模型、prompt 长度和生成长度它会输出每种放置下的 prompt tps、generation tps 和峰值内存帮你选最优拆分而不是靠猜。六台设备、两根 TB5 线、一条uv run exo——这就是把分散的机器变成一台本地 AI 超算的全部成本。剩下的事情交给自动发现和拓扑感知的并行策略你只需要盯着 dashboard 上那个越来越满的内存条。【免费下载链接】exoRun frontier AI locally.项目地址: https://gitcode.com/GitHub_Trending/exo8/exo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考