Reed's News
← 返回精选

Mesh LLM:基于iroh的分布式AI计算

AI 61 tionis 2026/7/11 877 字 原文 ↗

分布式模型推理:笔记本电脑、GPU工作站、迷你主机、服务器、工作站与云节点两两互联组成的网络

说起运行大语言模型,人们脑海里浮现的往往是数据中心:一排排归他人所有的GPU、按使用量计费的API,以及随着业务增长逐月攀升的账单。你把提示词发送到一个黑箱,只能祈祷定价、模型版本和隐私政策不会在签约后悄然改变。

对许多团队而言,这笔交易并不划算。你得放弃三大控制权:模型何时更新、数据流向何处、用什么硬件承载计算任务。而且随着使用量增加,账单只会水涨船高,你唯一能做的只有"掏钱"。

Mesh LLM给出了另一种思路。它能将你已有的GPU和计算资源整合起来——无论你接入多少台机器——并将整个资源池封装成一个兼容OpenAI的API。你可以先启动一个节点,之后再逐步扩容。模型该在本地设备运行、路由到其他节点,还是拆分到多台机器上执行,全由Mesh LLM的网络自动决策。

当下主流的大模型都是"单体巨兽",多数人只能通过UI界面或API密钥访问,付费让大型服务商全权托管。这种模式固然便捷,但也意味着彻底的妥协:你无法掌控模型的更新节奏、运行内存配置,或是底层硬件规格。

许多依赖大模型的企业和服务,想要的恰恰相反:更多控制权、更强可扩展性、更低成本。他们的办公室里、储藏柜中、办公桌下,闲置着不少GPU设备,缺的只是能让这些机器协同工作、像一台设备那样运转的工具。

Mesh LLM的价值主张很简单:不用购置更高配的GPU,也能运行更大规模的模型;可以与团队私密共享计算资源,也能向公众开放,为智能代理和聊天应用提供算力;只需将任意OpenAI客户端指向本地服务地址,无需关心计算任务实际在哪里执行。

在底层实现上,Mesh LLM基于iroh端点组成的网络,将模型计算任务分布式处理。请求的处理方式有三种:

  • 本地执行:在当前设备的GPU上运行模型
  • 路由转发:将请求发送给已加载该模型的节点
  • 拆分运行:对于单台设备无法承载的超大模型,将其拆分为多个流水线阶段,分配到不同机器上执行

Mesh LLM采用可插拔架构。插件通过清单文件声明自身功能,运行时负责启动插件、路由请求,并通过MCP、HTTP、推理接口和网络事件对外暴露能力。系统内置40余种模型,从能在笔记本电脑上运行的5亿参数模型,到拥有2350亿参数的混合专家(MoE)超大模型一应俱全。

针对超大模型,Mesh LLM设计了拆分模式(内部代号"Skippy")。模型会按层级范围拆分为多个阶段:比如第0至15层在一个节点运行,第16至31层在下一个节点运行,以此类推构建流水线。激活值在各阶段间流转,让多台普通设备也能协作运行原本单台设备根本装不下的模型。而OpenAI客户端对此毫无感知,它只需和本地服务通信即可。

每个节点——无论它是提供模型服务,还是仅发送请求——启动时都会生成一个iroh端点。这个端点就是节点的身份标识(一个公钥),也是节点唯一的网络交互入口。整个系统没有中心服务器,iroh负责处理打洞、NAT穿透和中继 fallback,确保任意两个节点无论身处何地,都能建立直接的、经过身份验证的QUIC连接。

为了保障在公网环境下的连通性,Mesh LLM在不同地区部署了两台iroh中继服务器,让无法直接互联的节点总能找到就近的备用路径。

整个协议基于QUIC的ALPN协商机制实现,包含三种协议:

ALPN协议 传输内容
mesh-llm/1 主网络层: gossip协议、路由、HTTP隧道、插件通信通道
mesh-llm-control/1 所有者控制平面:配置同步、所有权验证
skippy-stage/2 拆分模型专用:低延迟激活值传输

在主协议mesh-llm/1的连接中,所有数据都通过双向QUIC流传输,每个流的第一个字节用于标识流的类型。单个连接可同时承载gossip消息、推理请求、路由查询和节点生命周期事件,全靠首字节区分:

字节值 流类型 说明
0x01 GOSSIP 节点公告:模型、GPU、往返时延(RTT)、能力等信息
0x04 TUNNEL_HTTP 代理到其他节点的推理请求
0x05 ROUTE_REQUEST 路由查询:"你托管了哪些模型?"
0x06 PEER_DOWN 节点下线通知
0x07 PEER_LEAVING 节点 graceful shutdown 通知
0x08 PLUGIN_CHANNEL 插件远程过程调用(RPC)
0x0e DIRECT_PATH_REQUEST 共享直连地址,用于NAT穿透

这套设计的精妙之处在于,iroh让任意两台机器都能通过公钥寻址,建立经过身份验证且支持NAT穿透的QUIC连接。如此一来,"路由到其他节点"和"向流水线下一阶段传输激活值",就和"与本地服务通信"变成了同一层级的操作,只是端点ID不同而已——网络层面的复杂问题完全无需用户操心。

iroh提供安全传输能力,Mesh LLM则在其上构建了专属的gossip层,从而精准控制网络的准入规则、版本兼容性和节点信任范围。

用户只需安装一款轻量软件(约18MB),即可选择加入公共网络,或是配置私有部署。对标准OpenAI客户端而言,整个系统就像运行在localhost:9337/v1的本地服务。

基于iroh Swift SDK开发的移动端应用正在筹备中。我们计划支持ACP(一种新兴的智能代理标准),让其他客户端也能接入网络。贯穿整个项目的核心思路始终未变:更多对等协作,更少封闭服务器,彻底摆脱平台锁定。

如需快速上手,可查阅我们的 文档,直接研究 代码,或是到我们的 Discord频道交流。