exo:把多块设备组成本地AI集群的完整指南,4台Mac跑通671B参数分布式推理 exo:把多块设备组成本地AI集群的完整指南,4台Mac跑通671B参数分布式推理【免费下载链接】exoRun frontier AI locally.项目地址: https://gitcode.com/GitHub_Trending/exo8/exoexo 是一个开源的本地 AI 集群项目它能把多台 Mac、Linux 服务器组建成一个分布式推理集群让单台设备装不下的大模型被自动切分到多台机器上运行。基于 MLX 推理后端与拓扑感知的自动并行策略exo 在 4 台 M3 Ultra Mac Studio 上跑通了 Qwen3-235B、DeepSeek 671B 等前沿大模型的本地推理并提供了 OpenAI / Claude / Ollama 多套兼容 API让你用现有工具即可直接调用。一、项目定位它解决什么问题大模型本地推理长期面临一个死结模型越大单机内存越不够。买一台顶配机器是暴力解成本高且扩展性差。exo 给出的思路是把家里、实验室里闲置的算力拧成一股绳自动发现任何运行 exo 的设备会自动发现彼此无需手动配置网络拓扑越加越快得益于 Thunderbolt 5 上的 RDMA 支持延迟降低 99%增加设备不只是扩大容量而是真正提升推理速度零迁移成本兼容 OpenAI Chat Completions、Claude Messages、OpenAI Responses 和 Ollama 四套 API现有客户端和工具链可以直接指向 exo 使用。适合人群拥有多台 Apple Silicon 设备或 Linux 服务器的个人开发者、AI 爱好者以及想在私有环境里免费运行超大参数模型的团队。二、核心机制拆解大模型如何被切到多台机器理解 exo 不需要懂分布式系统抓住四个概念即可。1. 每个节点 四合一的角色每台设备运行同一个 exo 进程内部并行四个组件见 src/exo/main.py 与 AGENTS.md组件职责源码位置Router基于 zenoh 的 P2P 消息路由src/exo/routing/router.pyWorker下载模型、管理推理子进程src/exo/worker/Master集群状态协调、实例放置决策src/exo/master/main.pyElectionBully 选举算法选出唯一 Mastersrc/exo/shared/election.py组件之间不直接互调而是通过类型化的 pub/sub 主题通信src/exo/routing/topics.py底层网络由 Rust 实现提供rust/networking/Python 侧通过 PyO3 绑定rust/exo_rs/调用。2. 拓扑感知的自动放置这是 exo 区别于简单把模型分块的关键。Master 会实时掌握整个集群的设备拓扑图——每台机器的内存、每两条链路之间的带宽与延迟然后计算最优的切分方案放置算法在 src/exo/master/placement.py 中实现支持Pipeline 并行与Tensor 并行两种切分方式拓扑建模见 src/exo/shared/topology.pyMLX 引擎的自动并行策略在 src/exo/worker/engines/mlx/auto_parallel.py。3. 事件溯源管理集群状态集群状态采用事件溯源event sourcing模式状态本身是不可变对象src/exo/shared/types/state.py所有变化都以事件形式广播Master 负责索引并下发各节点用纯函数apply()把事件回放成一致状态src/exo/shared/apply.py。这带来一个实用收益任何节点重启后都能快速恢复出完整的集群视图而不是各存各的。三、性能与效果证明4 台 Mac Studio 的实测数据官方在 4 × 512GB M3 Ultra Mac Studio 集群上做了多模型实测RDMA over Thunderbolt 5 全互联基准截图收录在 docs/benchmarks/ 目录。Qwen3-235B8-bit在 4 台 M3 Ultra Mac Studio 上的 Tensor Parallel RDMA 实测数据来源Jeff GeerlingDeepSeek v3.1 671B8-bit同集群实测——单台设备完全无法承载的模型规模几个关键数字指标数据说明2 设备 Tensor 并行加速最高1.8x加一台机器推理提速近一倍4 设备 Tensor 并行加速最高3.2x扩展性接近线性RDMA over Thunderbolt 延迟降低99%macOS 26.2 新能力TB5 设备适用最大模型规模671B 参数DeepSeek v3.18-bit在 4 节点集群跑通也就是说在这套集群上加设备不仅扩容还在加速——这是 RDMA 低延迟互联带来的直接红利。四、从 0 到 1 上手两种部署路径路径 AmacOS 桌面应用最省心面向普通用户要求 macOS Tahoe 26.2 或更高版本brew install --cask exo安装后应用常驻菜单栏首次启动需授权安装一个网络配置 profile用于节点间组网。应用内置集群状态监控、节点健康检查app/EXO/EXO/Services/与 Thunderbolt Bridge 检测。路径 B源码运行macOS / Linux前置工具uvPython 依赖管理、node构建仪表盘、rustnightly构建 Rust 绑定。macOS 上还需要 Xcode 提供 Metal 工具链。# 1. 克隆仓库 git clone https://gitcode.com/GitHub_Trending/exo8/exo cd exo # 2. 构建仪表盘必须先做否则界面无页面 cd dashboard npm install npm run build cd .. # 3. 启动 uv run exo启动后仪表盘与 API 同时运行在http://localhost:52415。Linux 用户额外注意当前 Linux 仅跑 CPU 后端GPU 支持在开发中详见 PLATFORMS.md。最小可用配置单台设备也能跑uv run exo后在仪表盘选一个小模型如mlx-community/Llama-3.2-1B-Instruct-4bit即可对话集群能力是渐进叠加的两台设备分别启动 exo自动发现组网后即可把大模型切成 Pipeline 两段RDMA 加速可选需 TB5 设备 macOS 26.2关机 → 长按电源键 10 秒进恢复模式 → Terminal 执行rdma_ctl enable→ 重启。之后 exo 自动接管。五、周边生态与扩展1. 四套 API 即插即用API 适配层位于 src/exo/api/adapters/完整端点文档见 docs/api.mdOpenAI Chat Completions/v1/chat/completions任何 OpenAI SDK 改个 base_url 即可Claude Messages/v1/messages兼容 Anthropic 工具调用格式OpenAI Responses/v1/responsesOllama API/ollama/api/chat、/ollama/api/tagsOpenWebUI 等现成前端直接接入。2. 模型下载与 HuggingFace 集成模型下载由专用协调器管理src/exo/download/coordinator.py支持分片下载、断点续传与校验。自定义模型通过一个端点即可注册curl -X POST http://localhost:52415/models/add \ -H Content-Type: application/json \ -d {model_id: mlx-community/my-custom-model}3. 自带基准测试工具仓库内置exo-benchbench/exo_bench.py可测量不同放置方案下 prefill 与 token 生成的速度uv run bench/exo_bench.py --model Llama-3.2-1B-Instruct-4bit --pp 128,512 --tg 1284. 能力矩阵能力状态文本生成多后端已支持图像模型FLUX / Qwen-Image实验性EXO_ENABLE_IMAGE_MODELStrue开启见 src/exo/worker/engines/image/Prefill/Decode 分离已支持见 src/exo/worker/disaggregated/分布式链路追踪EXO_TRACING_ENABLEDtrue开启仪表盘可看 trace六、避坑与调优常见问题清单这些坑官方文档都踩过提前知道能省大量时间RDMA 必须全互联集群内每台设备都要用TB5 线缆直连其他所有设备星形/链式接法不行Mac Studio 端口限制以太网口旁边的 TB5 口不能用于 RDMA系统版本必须逐字一致所有设备的 macOS 版本含 beta 编号必须完全相同否则 RDMA 端口互相发现失败Linux 目前只有 CPU想跑 GPU 请等 Linux CUDA 支持Nvidia DGX Spark 在 Tier 1 路线图中仪表盘必须先构建跳过npm run build直接启动页面会空白模型放外置硬盘默认目录可能装不下超大模型用环境变量指定多个目录按剩余空间自动选择EXO_MODELS_DIRS/Volumes/ExternalSSD/exo-models uv run exo同网段多集群互相串扰设置EXO_LIBP2P_NAMESPACEmy-dev-cluster隔离集群性能调优技巧改完放置方案后用exo-bench --sharding tensor --repeat 3 --warmup 1对比 pipeline 与 tensor 两种切分取generation_tps高者内存吃紧时优先选 4-bit 量化版本需要深度分析时打开EXO_TRACING_ENABLEDtrue查看分布式 trace。七、实战场景与未来方向适合的场景私有化大模型推理数据不出内网4 台 Mac Studio 即可承载 671B 级模型开发调试用 OpenAI/Claude 兼容 API 无缝替换云端端点本地免费刷 token多模态实验开启图像模型后在同一集群里做文生图任务集群科研预填充/解码分离disaggregation让研究者可以对比不同通信方案的效率。演进方向来自 PLATFORMS.md 路线图Linux CUDANvidia DGX Spark 等被列为 Tier 1 目标——Apple Silicon 之外生态的最大增量WindowsCUDA / CPU与 Linux Vulkan 在更远期规划中推理侧的图像模型、预填充/解码分离等高级特性仍在快速迭代。如果你手里正躺着几台吃灰的 Mac现在把它们插上线、uv run exo一下可能就是距离免费跑前沿大模型最近的一次。【免费下载链接】exoRun frontier AI locally.项目地址: https://gitcode.com/GitHub_Trending/exo8/exo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考