大型语言模型的本地执行 (LLM)通常与庞大的机器、极其昂贵的显卡和高能耗联系在一起。然而,近几个月来,一种替代方案出现并引起了广泛关注: Exo是一款可以将多个家用设备变成人工智能集群的软件 无需依赖云技术即可运行要求极高的模型。
与 Exo 一起, 其理念是汇集计算机的算力。 手提手机和其他联网设备 因此,通过整合资源,他们可以运行通常只有在专业数据中心才能看到的LLM(生命周期管理)。这为在家中搭建一种“迷你数据中心”打开了大门,非常适合像Home Assistant这样的本地助手项目、希望在不花费巨资的情况下尝试人工智能的中小企业,以及想要超越传统云测试的开发者。
Exo是什么?它旨在解决什么问题?
Exo 是一款开源实验软件由 Exo Labs 维护,其主要目标是让您能够构建自己的 集群 人工智能 在家里 使用日常设备。Exo 不依赖于单个配备大量显存的 GPU,而是将模型分布在连接到同一网络的多个设备上。
Exo 的理念很简单,但却非常强大。你常用的设备——一台MacBook,一台 iPhoneiPad、Linux PC,甚至某些单板计算机 (SBC) 都可以协同运行大型 AI 模型。每台设备都贡献内存和计算能力,软件则协调所有设备,使其像一台更大的机器一样运行。
Exo的诞生是为了应对一个非常普遍的限制。并非每个人都能用得起高端GPU,比如 NVIDIA公司 一块配备 24GB 显存和数十GB 内存的 RTX 3090 显卡。要运行像 Llama 3.1 70B 这样“入门级”的程序并获得不错的本地性能,所需的硬件配置超出了许多开发者、创客或小型企业的预算。
与其强迫你投资购买笨重的设备或完全依赖云服务, Exo 提出将几个容量较小的设备的可用内存合并起来。 这样,整个模型就能与集群整体相契合。这极大地提高了先进人工智能实验的普及度,对初创企业和中小企业来说尤其具有吸引力。

Exo 的技术工作原理
Exo 的核心在于其分发 LLM 模型的能力。 Exo 可以将整个模型部署到家庭或办公网络中所有可用设备上。它不会将整个模型加载到单台机器上,而是将其分解并分发,从而充分利用每个节点的内存和计算能力。
为了做到这一点, Exo采用分布式共享内存方法通过根据可用内存(RAM,以及在 macOS 系统中的 GPU 显存)的大小调整模型在每个设备上运行的部分,从而实现这一点。因此,通常需要非常强大的 GPU 才能运行的模型,只要集群内存总量足够,就可以在笔记本电脑、台式机甚至其他设备上运行。
该过程首先在兼容设备上安装 Exo。在许多情况下,这需要拥有 Python 3.12 或更高版本,以及其他工具,例如依赖管理器和编译器。服务运行后,运行 Exo 的设备 它们会自动发现彼此 在同一网络内,无需手动配置 IP 地址或端口。
节点间的内部通信基于连接。 对等网络这种架构有利于每台机器贡献自身能力,而无需依赖单一的、僵化的中央服务器。基于这种拓扑结构,Exo 会进行资源和延迟分析,以确定如何划分模型以及将每个片段放置在何处。
关键要素之一是模型的动态划分Exo能够实时获取集群拓扑结构、各设备资源(内存、CPU、GPU)以及网络链路质量(延迟、节点间带宽)等信息。基于这些信息,它能够自动决定如何划分模型,从而均衡负载并最大限度地减少瓶颈。
Exo的主要技术特点
Exo 项目融合了多种旨在充分发挥其性能的功能。 现有硬件的改进使用户的生活更加便捷。其中最值得关注的是:
自动设备发现运行 Exo 的设备无需您修改网络配置即可相互发现。这避免了处理静态 IP 地址、手动端口或自定义脚本等常见难题,从而实现节点间的互联互通。
支持通过 Thunderbolt 进行 RDMA最引人注目的一点是,Exo 伴随着 首发即兼容 Thunderbolt 5 上的 RDMA(远程直接内存访问)与更传统的通信方法相比,这种方法可以将设备之间的延迟降低高达 99%,这在将同一模型的各个部分分布到多台机器上时至关重要。
张量并行性Exo 采用了以下技术 张量并行换句话说,它将模型的张量分布在多个设备上。因此,在某些配置下,与在相同资源下于单个设备运行模型相比,使用两个设备可实现高达 1,8 倍的速度提升,使用四个设备可实现高达 3,2 倍的速度提升。
意识拓扑和自并行化该系统会自动计算出划分模型并将其分布到集群中的最佳方式,同时考虑每个节点的性能以及节点间连接的质量。这一特性 “拓扑感知自动并行” 它减少了用户手动调整所有设置的需求。
macOS 上的 MLX 集成和 GPU 支持在 macOS 上,Exo 使用 MLX 作为推理后端 以及用于分布式通信的 MLX Distributed。这使其能够利用集成到 Apple Silicon 芯片中的 GPU,这在诸如以下设备中尤其有趣: Mac Studio 或最新一代 MacBook Pro。
在Mac上的实际应用案例和性能
Exo 已在极其严苛的场景下进行了测试。 通过组合多台高端 Mac,利用 Thunderbolt 5 的张量并行性和 RDMA,我们得以运行通常只有在数据中心环境中才能看到的庞大模型。
社区讨论的一个例子是使用 四台配备 M3 Ultra 芯片的 Mac Studio 它们通过 Thunderbolt 5 和 RDMA 连接。两者加起来可提供约 15 TB 的有效显存,足以容纳极其庞大的模型。
在此类设置中已实施的模型中,以下几种模型尤为突出: 8 位 Qwen3-235B, DeepSeek v3.1 671B 也量化为 8 位 Øincluso Kimi K2 以原生 4 位方式思考在所有这些情况下,每个 Mac 都承载着模型的一部分,节点之间的通信通过 RDMA 进行优化。
这些实验已被杰夫·吉尔林等创作者记录下来。这表明,可以构建一个拥有大量有效显存的家庭配置。在这种情况下,Exo 作为编排层,使模型即使分布在多台机器上也能协同运行。
除了这些极端配置之外, 同样的原理也适用于规模较小的用途。例如,为大型语言模型提供训练数据,该模型可作为高级家庭自动化系统、私人对话助手或小型企业内部文本分析工具的大脑。
将 Exo 与 Home Assistant 和高级家庭自动化结合使用
Home Assistant 社区已经在讨论 Exo 了。 作为一种在本地运行大型逻辑逻辑模型(LLM)的选项,这些模型可用作家庭自动化的推理引擎。尽管许多人尚未直接尝试过,但该项目已引起关注,因为它有望实现…… 在配置相对较低的硬件上运行非常复杂的模型前提是分组的队伍数量足够多。
其理念是, 而不是依赖强大的GPU或云即使多台计算机没有独立显卡,您也可以搭建一个集群。Exo 会负责将模型分布到所有计算机上,从而使 Home Assistant 可以咨询本地的 LLM(逻辑逻辑模型)来做出更复杂的决策或提供更自然的响应。
这种方法对那些重视隐私的人来说尤其有吸引力。由于家庭数据不需要离开本地网络,所有推理和自然语言处理都在您设置的集群内执行,无需依赖外部服务器。
该项目已在 CNX Software 等技术博客上引起关注, 值得一提的是,Exo 甚至可以在计算机集群、智能手机或开发板上运行。然而,实际上,目前 macOS 和 Linux 上的支持最为完善,但仍存在一些限制。 iOS.
对于许多家庭自动化爱好者来说, Exo + Home Assistant 的组合 这可能是实现先进、始终在线且完全本地化的对话式助手所缺失的关键一环,无需支付云令牌费用或依赖第三方。
兼容的AI模型以及与专有模型的局限性
Exo 与许多流行的 AI 模型兼容。尤其是那些属于开放生态系统、可以下载并在本地运行的程序。其中包括 LLaMA、Mistral、LLaVA、Qwen 和 DeepSeek 等系列程序。
在具体情况下 Meta 的 Llama 3Exo 与这些架构的兼容性尤为出色,它可以根据集群资源创建不同规模的变体。这使得个人实验者和小型企业都能更轻松地使用现代语言模型,而无需承担许可费用或依赖第三方 API。
另一个有趣的优势是可以公开一个与以下系统兼容的 API: ChatGPT经过一些调整,Exo 允许集群上运行的模型以类似于 API 的格式接受请求。 OpenAI这大大简化了与已采用该标准的应用程序的集成。
然而, 当我们谈到像 GPT-4 这样的专有模型时,存在一个明显的局限性。GPT-4 是一个封闭模型,托管在 OpenAI 的基础设施上,无法下载。这意味着,根据定义,它无法在 Exo 或 OpenAI 之外的任何其他本地环境中运行。
因此,在使用Exo时 您必须坚持使用开源模型或可供本地使用的模型。对于大多数实际应用(聊天机器人、助手、文本分析、基本和高级推理),已经存在足够强大的开源模型目录,特别是随着 Llama 3.x、Qwen 或 DeepSeek 等模型的最新发展。
使用Exo集群的主要优势
Exo最大的优势在于它可以大幅减少硬件投资。与其购买配备强大GPU的工作站,不如重新利用家中或办公室现有的电脑和设备。许多用户只需利用他们的Mac电脑、旧PC和其他闲置设备,就能轻松搭建集群。
这种方法 使更多人能够获得先进的人工智能这使得预算紧张的初创公司和中小企业也能参与到以往只有资源雄厚的大公司才能参与的竞争中。并非所有项目都值得租用昂贵的云端GPU,而本地集群在这种情况下就显得非常合理。
另外, Exo在设备类型方面非常灵活。虽然目前最成熟的支持平台是 macOS(使用 GPU)和 Linux(目前使用 CPU),但该项目旨在集成其他类型的硬件,并逐步提升兼容性。这种混合使用不同机器配置的能力,让您可以根据自身特定需求来设计集群。
另一个关键优势是,由于其分布式架构, 该集群可以相对容易地进行扩展。如果任何时候需要提升性能,只需添加另一台运行 Exo 的设备即可。每个新节点都会被自动检测,其资源也会添加到总资源中,无需您从头开始重新设计系统。
最后, 动态分区和拓扑感知 他们保证,即使是硬件配置一般的设备也能做出有用的贡献。虽然老旧的笔记本电脑无法独立运行整个系统,但它可以处理部分工作负载或执行一些计算,从而提升整体性能。
当前局限性和需要考虑的事项
并非所有事物都完美无缺,Exo 显然仍是一款实验性软件。这意味着系统配置和运行方式仍可能出现错误、不稳定行为或频繁变更。它并非成熟商业产品级别的“一劳永逸”的解决方案。
在 iOS 设备(例如 iPhone 和 iPad)上, 支持仍然有限 而且,它还需要进一步开发才能真正供大众使用。虽然该项目也设想利用这些设备,但目前流畅的使用体验主要还是在电脑上实现的。
另一个关键因素是 集群的整体效率将很大程度上取决于家庭网络。如果您的 Wi-Fi 网络拥堵、路由器老旧或连接速度慢,将大型模型分布在多个节点上可能会成为严重的瓶颈。在严苛的环境中,几乎肯定会使用高质量的有线连接,或者,对于 Mac 电脑来说,使用支持 RDMA 的 Thunderbolt 5 接口。
此外,虽然许多小型设备的总和可以达到令人印象深刻的内存容量, 它们在原始性能上并不总是能与一组高端 GPU 相媲美。协调成本、网络延迟和有效计算能力之间存在着微妙的平衡,必须加以考虑。
一切, Exo的价值主张仍然非常有趣。:将现有设备改造为集群,几乎无需任何硬件成本,即可运行直到最近似乎只有专业数据中心才能运行的模型。
Exo安装、要求和执行方法
要在 macOS 上启动并运行 Exo 通常情况下,会使用 Homebrew 等工具进行软件包管理,使用 uv 进行 Python 依赖管理,使用 macmon 监控 Apple Silicon 芯片上的硬件,使用 Node.js 构建 Web 控制面板,以及使用 Rust(目前为 nightly 版本)编译某些绑定。
macOS 中的典型工作流程如下: 克隆官方 GitHub 仓库安装依赖项并运行相应的命令来启动 Exo。这将启动 API 和一个位于以下地址的本地可访问 Web 控制面板。 http://localhost:52415从那里可以看到集群、模型、实例等的状态。
除了执行之外 终端, Exo 提供原生 macOS 应用 此应用在后台运行。它需要 macOS Tahoe 26.2 或更高版本,并以 .dmg 文件格式分发(例如,文件名为 EXO-latest.dmg)。安装过程中,它可能会请求修改某些系统设置并添加网络配置文件的权限,这对于启用 RDMA 等高级功能是必要的。
在 Linux 环境中,安装通常需要使用系统的软件包管理器。 (例如在 Debian/Ubuntu 上使用 apt)或者如果您愿意,也可以通过 Linux 上的 Homebrew 安装。请注意,某些实用程序(例如 macmon)是 macOS 特有的,在 Linux 上无法使用。
目前, 在Linux系统中,Exo运行在CPU上。目前,GPU加速器尚未得到全面支持。开发团队正在努力扩展对不同硬件平台的兼容性,因此,如果您想了解您的特定设备未来是否会得到支持,建议您查看GitHub上的问题和功能请求。
在 macOS 上配置 Thunderbolt 上的 RDMA
macOS 最新版本最引人注目的新功能之一 新增的 RDMA 支持,尤其是在 Thunderbolt 5 端口上,对于最大限度地减少物理连接的 Mac 之间的延迟至关重要,这在分发 LLM 模型时非常有价值。
从 macOS 26.2 开始,RDMA 可用; 它适用于配备 Thunderbolt 5 接口的设备。 例如 M4 Pro Mac mini、M4 Max Mac Studio、M4 Max MacBook Pro 或 M3 Ultra Mac Studio。但是,就 Mac Studio 而言,您应该避免使用位于以太网端口旁边的 Thunderbolt 5 端口,因为它在 RDMA 方面存在一些限制。
要激活 RDMA, 必须在恢复模式下执行某个步骤。基本步骤包括关闭 Mac,然后按住电源按钮约 10 秒钟,直到出现菜单,即可开机。 引导选择“选项”进入恢复环境,然后从“实用工具”菜单打开终端。
在该恢复终端内, 执行Exo文档中指示的命令。 在系统级别启用 RDMA。按下 Enter 键并重启 Mac 后,该功能将被激活,Exo 可以使用它在通过 Thunderbolt 5 连接的不同 Mac 之间建立超低延迟的连接。
从那里 Exo负责处理复杂部分。利用 RDMA 技术最大限度地减少节点间的数据传输延迟。当处理包含数千亿个参数且分布在多台机器上的模型时,这种内部通信的改进尤为重要。
通过 API 和 Web 面板与 Exo 进行交互
除了位于 http://localhost:52415 的图形化仪表板之外Exo 公开了一个 REST API,允许您管理模型的几乎整个生命周期:选择放置模型的位置、创建实例、发起聊天请求以及在不再需要时释放资源。
典型的流程可能从查询端点开始。 /实例/预览当您发送要部署的模型的参数时,此服务会返回结果。 该模型在集群中的所有有效部署位置它类似于根据当前拓扑结构和资源列出的可能的“部署计划”列表。
根据那次预览的反馈来看, 您可以选择最适合您的布局。 (例如,列表中的第一个,您可以使用 jq 等工具从终端选择它),并使用它向端点发送 POST 请求。 /实例此请求的有效负载必须符合 CreateInstanceParams 中定义的类型,包括模型、硬件配置和分配的节点等参数。
实例创建完成后, 您可以使用与 OpenAI API 兼容的端点与其交互。, 例如 /v1/聊天/完成JSON 请求的结构与 ChatGPT API 所使用的结构几乎相同,因此可以非常轻松地调整现有应用程序,使其指向您的 Exo 集群而不是云。
当您不再需要特定型号时, 您可以通过发送带有实例 ID 的 DELETE 请求来释放它。您可以通过查询诸如以下端点来找到它们: /状态 o /实例另一方面,手边备有一些快速信号也很有用,例如: /模型,其中列出了所有本地可用的模型,或者 /state 命令本身,其中详细说明了当前的部署状态。
项目状态和发展社区
Exo托管在GitHub上,仓库名为exo-explore/exo。 它采用开源开发模式,Exo Labs 核心团队和社区成员都做出了贡献。CONTRIBUTING.md 文件概述了贡献、提交 pull request、报告 bug 和提出新功能的指南。
考虑到 这是一个不断发展的鲜活项目。新版本发布、针对不同硬件型号和平台的兼容性改进,以及某些组件配置方式的变更,都是常见的现象。因此,建议经常查阅文档并提交问题。
关于与加速器的兼容性, 由于使用了 GPU 和 MLX,macOS 目前享有更高级的支持。目前,该程序在 Linux 系统下运行于 CPU 平台。开发团队鼓励有兴趣支持新型硬件的用户在 GitHub 上提交请求或通过点赞来支持现有请求,以便他们能够确定哪些平台的需求量最大,并确定优先级。
从经济角度来看, Exo 是完全免费且开源的。使用该软件无需付费许可,这非常适合预算有限但又想认真尝试人工智能的个人、教育或小型企业项目。
Exo 正在成为先进人工智能民主化进程中的关键参与者。这使得在家中或办公室拥有多台设备的用户能够搭建自己的语言模型集群。虽然这项技术仍有待完善,但它为家庭自动化、个人助理、数据分析以及现代模型的测试环境开辟了广阔的应用前景。
对字节世界和一般技术充满热情的作家。我喜欢通过写作分享我的知识,这就是我在这个博客中要做的,向您展示有关小工具、软件、硬件、技术趋势等的所有最有趣的事情。我的目标是帮助您以简单而有趣的方式畅游数字世界。