
5 步搭起分布式 AI 集群exo 新手完整实战教程【免费下载链接】exoRun frontier AI locally.项目地址: https://gitcode.com/GitHub_Trending/exo8/exo你下载了一个几百 B 参数的大模型单机内存直接爆掉想着多开几台机器分担一下结果普通网络一拉节点越多越慢还不如不折腾。这就是 exo 这个分布式 AI 集群框架要解决的问题它把你手里的多台 Mac 自动连成一个集群不仅能让单台机器塞不下的大模型跑起来还靠着 Thunderbolt 上的 RDMA做到加机器真的会更快。 一句话说清 exo 是什么exoRun frontier AI locally是一个把多台设备变成一个 AI 集群的开源推理框架。它用 MLX 做推理后端用 zenoh 做设备间的 P2P 组网自动发现、自动选主、自动决定模型怎么切分到每台设备上。最戳人的一个点它兼容 OpenAI、Claude、Ollama 等多种 API 格式你现有的客户端工具包括 OpenWebUI基本不用换换个地址就能指向这个集群。上图为 exo 内置仪表盘4 × 512GB 的 M3 Ultra Mac Studio 集群同时跑着 DeepSeek v3.18-bit和 Kimi-K2-Thinking4-bit聊天区、集群拓扑、实例管理都在一个页面里。它是怎么跑起来的一次请求的完整旅程理解了数据怎么流动你就明白 exo 为什么不用手动配置了。每台运行 exo 的设备其实同时跑着几个角色一个基于 zenoh 的 Router 负责 P2P 消息节点靠它互相发现、靠 bully 算法选出 Master、一个 Worker 负责真正干活下载模型、跑推理、一个 Master 负责全局调度以及一个 FastAPI 服务对外提供 API 和仪表盘。节点之间走的是事件溯源模式——Master 把事件排序后广播给所有 Worker大家用同一个纯函数把事件应用到不可变状态上于是整个集群对现在有几台机器、各占了多少内存、实例部署在哪永远有一份一致的看法。现在你在仪表盘里点Launch Instance会发生这样一串事集群根据实时拓扑视图计算所有合法的分片方案用几台机器、Pipeline 还是 Tensor 并行、走 MLX Ring 还是 RDMA 通信并预估每种方案占用的内存选定方案后各节点按需分片下载模型模型卡片和分片信息通过集群共享模型加载完成后实例就绪你的聊天请求被 Master 路由到承载该实例的节点Token 流式返回给你的客户端——如果你用的是多节点张量并行每个 token 是各节点算完部分结果再经高速链路聚合出来的。关键就在第 1 步和第 4 步之间那条链路普通 TCP 下机器越多、同步开销越大而 exo 在 Thunderbolt 5 上支持 RDMAmacOS 26.2 的新能力设备间延迟据官方说法可降低 99%于是张量并行的扩展效率才立得住。最快跑通从零到第一次对话的 5 步macOS 和 Linux 路径相同先装好三样依赖uv管 Python 依赖、node构建仪表盘、rust构建 Rust 绑定目前需要 nightly。macOS 还需要 Xcode 提供 Metal 工具链。第 1 步克隆仓库git clone https://gitcode.com/GitHub_Trending/exo8/exo把 exo 源码拉到本地。第 2 步构建仪表盘cd exo/dashboard npm install npm run build cd ..仪表盘是 Svelte 5 前端这一步只是把它编译出来之后由 API 服务直接托管不用单独起服务。第 3 步启动 exo 节点uv run exo一条命令同时拉起 Router、Worker、Master 和 API仪表盘和 API 都开在http://localhost:52415。第 4 步在仪表盘里启动实例打开浏览器访问http://localhost:52415在右侧 INSTANCE 面板点 LAUNCH INSTANCE选一个模型、挑好分片策略和通信方式点启动等模型下载加载完成即可。第 5 步可选加入第二台机器。在另一台设备上重复第 1–3 步无需任何手动配置——新节点会自动被发现并并入集群仪表盘里的拓扑图会自己长出新节点。 ⚡如果你只想在 Mac 上装个 App 就完事exo 也提供了 macOS 菜单栏应用需要 macOS Tahoe 26.2brew install --cask exo即可启动后长这样App 首次运行会请求修改系统设置并安装一个 Network profile用于 RDMA 相关的网络配置。进阶调教把集群性能拉满跑通只是开始下面是真正拉开性能差距的几件事。开启 RDMAThunderbolt 5 设备专属RDMA 是 exo 多设备加速的关键只工作在带 Thunderbolt 5 的 Mac 上M3 Ultra Mac Studio、M4 Pro Mac mini、M4 Max Mac Studio/MacBook Pro 等。开启方式有点仪式感关机长按电源键 10 秒进入启动菜单选选项进恢复模式从实用工具打开终端输入rdma_ctl enable回车然后重启。之后 exo 会自己接管剩下的事。注意三条硬性要求集群内每台设备要两两直连、线缆必须支持 TB5、Mac Studio 上不要用以太网口旁边那个 TB5 口容易插错。4 台 M3 Ultra 跑 Qwen3-235B8-bit张量并行的实测对比很能说明问题——节点越多exo (RDMA) 与 llama.cpp (TCP) 的差距越大4 节点时 exo 达到 31.9 tokens/s而 TCP 方案反而比单节点更慢让集群看得见拓扑RDMA 全互联的 4 节点集群在仪表盘里的样子每台机器的内存、温度、功耗实时可见节点间的虚线就是通信链路拓扑不是画着好看的——它直接决定分片决策。选策略时可以记两条经验张量并行Tensor算得开的场景用它官方数据是 2 台设备最高 1.8 倍、4 台最高 3.2 倍的加速适合计算密集型管道并行Pipeline把模型的层铺到不同设备适合单设备显存/内存吃紧、想摊薄权重的场景。仪表盘启动实例时这两种都能选也可以直接调/instance/previews接口预览一个模型在当前拓扑下的所有合法部署方案每种方案都带memory_delta_by_node预估先看清再下手。关键环境变量速查变量干什么用的EXO_MODELS_DIRS把模型下载目录指到高速外置 SSD多盘时用冒号分隔、按顺序找空间够的EXO_MODELS_READ_ONLY_DIRS指向 NFS/共享盘里已下载好的模型集群共享一份权重、不重复下载EXO_OFFLINE置true后只认本地模型断网也能用EXO_ENABLE_IMAGE_MODELS开启图像模型exo 除了 LLM 也支持生图类模型EXO_LIBP2P_NAMESPACE自定义命名空间同一个网络里隔离出互不干扰的多个集群EXO_TRACING_ENABLED开启分布式 tracing做性能分析时用比如把模型仓放到外置 SSDEXO_MODELS_DIRS/Volumes/ExternalSSD/exo-models uv run exo。动手量一量你的集群仓库自带exo-bench压测工具会对不同 placement 组合量出 prompt 处理速度和 token 生成速度prompt_tps / generation_tps以及峰值内存。前提是集群节点已经在跑uv run bench/exo_bench.py --model Llama-3.2-1B-Instruct-4bit --pp 128,512 --tg 128一句话它帮你回答我这个模型铺到 1 台快还是 2 台快、走 Pipeline 还是 Tensor。参数细节见 bench/exo_bench.py。能拿来干什么三个真实场景场景一本地跑旗舰大模型数据不出门。4 台 512GB 的 Mac Studio 拼出约 2TB 统一内存DeepSeek v3.1 671B8-bit这种体量单机根本不可能exo 直接跑通官方基准见下图适合隐私敏感的研究、法律/医疗文本分析或者就是想在本地拥有旗舰级体验。场景二给现有工具链换个更近的 OpenAI。因为同时兼容 OpenAI Chat Completions、OpenAI Responses、Claude Messages 和 Ollama 四套 API你只需把 base URL 指到http://你的节点:52415OpenAI SDK、Claude 客户端、OpenWebUI 都能直接对接。团队里各写各的客户端代码背后共享同一个本地集群。场景三异构机器拼集群。仪表盘里 MacBook、Mac mini、Mac Studio 混编完全没问题——拓扑感知调度会按每台机器的实际资源和链路带宽分配任务小机器也能加入分一杯羹。另外 exo 还支持从 HuggingFace 拉取自定义模型POST /models/add并能在仪表盘里配置 prefill/decode 分离的实例链接把算 prompt和吐 token交给不同实例。容易踩的坑一次说清坑 1RDMA 端口互相发现不了。原因不同版本的 macOS连 beta 版本号之间 RDMA 端口可能不兼容。 解法所有设备系统版本精确一致再组网。坑 2插错 Thunderbolt 口。原因Mac Studio 上以太网口旁边那个 TB5 口不用于这种直连组网。 解法换到其余 TB5 口从源码运行时还要跑一下仓库提供的tmp/set_rdma_network_config.sh它会关掉 Thunderbolt Bridge 并在每个 RDMA 端口上配置 DHCP。坑 3Linux 上期望 GPU 加速结果很慢。原因exo 目前在 Linux 上只跑 CPUGPU 支持还在开发中macOS 上走 GPU。 解法想要加速就把主力节点放在 Apple Silicon 上Linux 节点可以用uv run exo --no-worker只跑协调角色不当推理主力。坑 4模型下载下完才发现本机磁盘满了。原因默认目录在~/.local/share/exo/modelsLinux或~/.exo/modelsmacOS。 解法提前用EXO_MODELS_DIRS指向大容量磁盘已有共享模型仓的话用EXO_MODELS_READ_ONLY_DIRS直接复用。坑 5同一网络里别人的 exo 节点串进来了。原因P2P 发现默认不隔离。 解法所有节点统一设置EXO_LIBP2P_NAMESPACE给集群起个独立命名空间开发与生产互不干扰。下一步现在就可以做集群跑起来之后建议按这个顺序把剩下的能力摸一遍打开 docs/api.md挑/instance/previews和/v1/chat/completions两个端点各 curl 一次感受预览部署 → 启动实例 → 流式推理的完整闭环在第二台设备上再跑一次uv run exo盯着仪表盘拓扑图看新节点自动并入、分片方案实时重算有空的话跑一次 bench/exo_bench.py用数据回答再加一台机器到底值不值。exo 把多设备大模型从折腾网络配置的玄学变成了装依赖、跑命令、开浏览器三步的事。剩下的事就交给你的集群了。【免费下载链接】exoRun frontier AI locally.项目地址: https://gitcode.com/GitHub_Trending/exo8/exo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考