尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

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

4台Mac拼AI集群跑235B大模型:exo分布式推理实战

4台Mac拼AI集群跑235B大模型:exo分布式推理实战 4台Mac拼AI集群跑235B大模型exo分布式推理实战【免费下载链接】exoRun frontier AI locally.项目地址: https://gitcode.com/GitHub_Trending/exo8/exo最近折腾 exo 这个项目目的是做 AI 集群管理把几台 Apple Silicon 设备自动拼成一个推理集群让 235B 这种单机装不下的大模型能本地跑起来。这篇文章记录我实际跑通它的过程官方 benchmark 里4 台 M3 Ultra Mac Studio 跑 Qwen3-235B 做到 31.9 tokens/s而单台 llama.cpp 走 TCP 只有 20.4——多出来的机器不是白白吃掉通信开销而是真的让速度变快了。 四台 Mac Studio 如何变成一台超算先说痛点一台 Mac Studio 顶配 512GB 统一内存235B 模型 8-bit 量化后勉强塞得下但更大的模型671B根本放不下而传统的多机方案比如 llama.cpp 走 TCP 网络扩机器往往反而更慢通信开销吃掉了算力红利。exo 的思路是把每台设备当集群成员跑上 exo 的机器自动互相发现不用手动配任何网络参数。下面是 4 台机器的实际拓扑视图每台设备的内存占用、温度、功耗都实时可见但注意一个前提张量并行要求所有节点两两直连不是星型接一台交换机就行。这是后面 RDMA 部分所有麻烦的根源。下面是 exo 内置的集群管理 dashboard4 台 512GB 的机器同时挂着 DeepSeek v3.18-bit和 Kimi-K2-Thinking4-bit两个实例⚡ RDMA 在 macOS 恢复模式里怎么开exo 最激进的部分是对 RDMA over Thunderbolt 5 的支持macOS 26.2 起提供该能力。RDMA 让网卡直接读写对端内存绕过内核协议栈官方说法是设备间延迟降低 99%——这也是多机反而更快的那个数字的来源。开启方式有点绕关机 → 长按电源键 10 秒进恢复模式 → 打开终端执行rdma_ctl enable然后重启。但文档里列了几条硬性约束踩了任何一条集群都组不起来集群内每台设备必须与其他所有设备 TB5 直连全网格线缆必须是 TB5 规格Mac Studio 上网口旁边的那个 TB5 口不能用我第一台机器就是栽在这里所有设备的 macOS 版本必须逐字符一致连 beta 版本号都要一样版本不一致时 RDMA 端口互相发现不了。如果你只是从源码跑还要再执行tmp/set_rdma_network_config.sh它会关掉 Thunderbolt Bridge 并给每个 RDMA 口配 DHCP。嫌麻烦的话可以用 macOS 桌面应用brew install --cask exo它会自动装网络配置 profile代价是系统会弹权限请求。 拓扑感知自动并行切法怎么选RDMA 解决传得快另一个问题是怎么切。手动分片老方案里你得自己决定哪层放哪台机器exo 的放置逻辑是拓扑感知的——它基于实时采集的设备资源和每条链路的延迟/带宽在管道并行按层切开各机各跑一段和张量并行每层切开并行算之间选一个/instance/previews接口会列出所有合法切法及每种切法在各节点上的内存增量让你先预览再创建。官方给的张量并行收益2 台设备约 1.8 倍加速4 台约 3.2 倍。下面是 Jeff Geerling 在 4×M3 Ultra 上测的 Qwen3-235B蓝色是 llama.cpp 走 TCP黄色是 exo 走 RDMA这张图比 56% 那个数字更说明问题单节点时两者接近20.4 vs 19.5但节点一多TCP 方案不升反降4 节点掉到 15.2exo 则一路升到 31.9。通信开销是不是瓶颈扩节点这件事会直接替你回答。不确定自己集群上哪种切法好时仓库里带了bench/exo_bench.py可以对同一模型在 pipeline/tensor 两种 sharding 下分别测 prefill 和生成吞吐数字是服务端计时默认冷缓存方便对比。 从 clone 到第一次 chat completion跑通的最小路径很短。macOS 上先装 Xcode提供 Metal 工具链、uv、node、Rust nightly然后git clone https://gitcode.com/GitHub_Trending/exo8/exo cd exo/dashboard npm install npm run build cd .. uv run exo起来之后 dashboard 和 API 都在http://localhost:52415。用 API 走一遍完整流程先 GET/instance/previews?model_id...看切法挑一个 placement POST 到/instance创建实例注意创建是异步的要对着/instance/await的 SSE 流等到ready才能发推理请求然后 POST/v1/chat/completions开聊。对已有工具链最友好的一点是它同时兼容 OpenAI Chat Completions、Claude Messages、OpenAI Responses 和 Ollama 四套接口格式意味着你现有的客户端改个 base_url 就能指向集群。集群状态、事件流也可以直接查类型定义在 src/exo/master/api.py事件日志和/events接口是排障时用得最多的两个入口。 适用边界什么时候别选它说实话exo 目前的舒适区很明确Apple Silicon TB5 内网小集群。几个硬限制Linux 上目前只跑 CPUGPU 支持还在路线图上CUDA 在 Tier 1 计划里想在 Linux 生产环境用还不现实RDMA 要求 TB5 硬件M4 Pro/Max、M3 Ultra 这一批 macOS 26.2老机器只能退回普通网络多机加速的故事就不成立了全网格直连意味着 4 台机器要 6 根 TB5 线规模再往上拓扑成本是平方级涨的它本质是个你自己机房里的信任集群没有多租户、鉴权这些能力EXO_LIBP2P_NAMESPACE只是用来在同网段隔离多个集群的。所以如果你的需求是一台机器装不下、但 2~4 台 TB5 设备能装得下的推理负载exo 目前是这个形态里完成度最高的开源方案之一。留个问题给你如果你手上有 4 台 M3 Ultra你会直接上张量并行博那 3.2 倍还是先保守用管道并行把 671B 铺起来或者更实际的做法——两种切法都跑一遍 exo-bench让[master/placement.py](https://link.gitcode.com/i/e6ca959eec1e0c43ba5ac979fda60d38)的预览结果和你自己的数据吵一架。【免费下载链接】exoRun frontier AI locally.项目地址: https://gitcode.com/GitHub_Trending/exo8/exo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表