3台闲置机器跑起235B大模型:exo家庭AI集群实测记录
【免费下载链接】exoRun frontier AI locally.项目地址: https://gitcode.com/GitHub_Trending/exo8/exo
客厅一台Mac Studio、书房一台MacBook Pro、阳台还有一台落灰的mini PC——这些设备的内存和算力加在一起,远超单台能塞下的模型体积,但平时各自吃灰。exo 要解决的就是这个问题:把网络里的这些设备自动组成一个家庭AI集群,做分布式推理,按每台机器的内存和网络带宽自动分模型分片,设备越多,推理还越快。
最短跑通路径
装好uv、node和 Rust nightly(macOS 还需要 Xcode 提供 Metal 工具链)后,两条命令就能把第一台节点拉起来:
git clone https://gitcode.com/GitHub_Trending/exo8/exo cd exo/dashboard && npm install && npm run build然后:
uv run exo浏览器打开http://localhost:52415,能看到内置 dashboard 和 API 就说明这台节点活了。其他设备各自跑一遍同样的操作,它们会在同一网络里互相发现,不需要任何手动配对——这点比想象中省事。🔌
它凭什么能工作
先跑通再看原理会清晰很多。每个节点启动时,硬件信息采集模块 会上报自己的可用内存、芯片型号、网卡,以及是否通过雷电桥接相连——这就是集群对"地形"的全部认知。
模型下载完成后,master 端先从拓扑里圈出一组节点:它们内存加起来装得下整个模型的权重,且彼此连通成环。接着进入分片环节,placement_utils 里的allocate_layers_proportionally按各节点可用内存占比分配模型层数,用的是"最大余数法"——先把每家的份额取整,剩余层按小数部分从大到小补发,并且保证每台机器至少分到 1 层。类比一下:按房间面积分家务,60% 面积的主卧承担六成活儿,取整剩下的零头谁余量大谁补上。
分完之后走张量并行。官方数据是 2 台设备提速约 1.8 倍、4 台提速约 3.2 倍;如果设备间有 Thunderbolt 5,还能启用 RDMA,设备间延迟降低 99%。
跑起来之后你看到什么
dashboard 里能看到集群里每台节点的实时状态:内存占用、模型加载进度、聊天窗口直接试问。加载 DeepSeek 3.1(8-bit)和 Kimi K2 Thinking(4-bit)这种级别模型时,界面就是下面这样——4 台 512GB 的 Mac Studio 并列挂着各自的状态条。📊
节点上下线不用你管:拓扑每有变化,调度器就重新算一次分片方案。
三个最常见的坑
节点互相看不见。现象:每台都活着,集群里只有自己。原因通常是两台机器不在同一网络段,或者命名空间不一致(EXO_LIBP2P_NAMESPACE)。解法:接同一个 WiFi / 有线网,把两边命名空间设成一样。
Apple M5 机器上监控崩溃。现象:硬件指标读不到甚至报错。原因是 Homebrew 的 macmon 0.6.1 在 M5 上有 bug。解法:按 README 用 cargo 装仓库指定的 pinned fork 版本。
Linux 上跑得特别慢。现象:同样的模型,Linux 节点吞吐低得离谱。原因是 exo 目前在 Linux 上还只走 CPU 推理,GPU 支持在开发中。解法:想要性能就优先用 Apple Silicon 设备。
谁适合用,谁不适合
适合:手里有一堆 Apple Silicon 设备(Mac Studio / MacBook / Mac mini 均可),想在本地跑下单台装不下的开源大模型,且能接受"下载一次模型、全家桶共享"的模式。也适合想拿现成工具对接 OpenAI、Claude、Ollama 兼容 API 的开发者——exo 的 API 这几种都兼容。
不适合:需要毫秒级低延迟的线上服务(集群调度和本地网络都留了余量,但别指望它当生产网关),以及指望 Windows 机器立刻入伙的人——Windows 支持还在长期规划里,目前没有稳定预期。
【免费下载链接】exoRun frontier AI locally.项目地址: https://gitcode.com/GitHub_Trending/exo8/exo
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考