Mesh LLM:把散落的 GPU 变成一个统一推理集群

> 来源: https://github.com/michaelneale/mesh-llm

> 日期: 2026-04-04

> 作者: Michael Neale(CloudBees 联合创始人)

> 类型: 分布式 LLM 推理 / 开源

> 技术栈: Rust + llama.cpp (fork) + iroh (QUIC) + Node.js

🎯 一句话版本

家里有两三台机器,每台 GPU 都跑不动 70B 模型?Mesh LLM 把它们组成一个 mesh,自动分配层/专家到各机器,暴露为一个统一的 OpenAI 兼容 API。一行命令安装,一行命令启动。

解决什么问题?

你有:

你想跑:

传统方案:放弃。或者买一台 A100。

Mesh LLM


# 机器 A
mesh-llm --model Qwen3-235B

# 机器 B(加入 mesh)
mesh-llm --join <token>

# 机器 C(加入 mesh)
mesh-llm --join <token>

# 现在三台机器组成一个推理集群
# 每台机器上都能用: curl http://localhost:9337/v1/chat/completions

核心技术

三种分布策略(自动选择)


模型放得下一台?
  └─ YES → 本地跑,零网络开销
  └─ NO → 是 MoE 模型?
           └─ YES → Expert Parallelism(零跨节点推理流量)
           └─ NO  → Pipeline Parallelism(按 VRAM 分层)

Pipeline Parallelism(Dense 模型)

Transformer 有 N 层,按各节点 VRAM 比例分配:


机器 A (24GB): 层 0-20   ←── llama-server (协调者)
机器 B (36GB): 层 21-50  ←── rpc-server
机器 C (16GB): 层 51-63  ←── rpc-server

数据流:A 算完前 20 层 → 中间张量传给 B → B 算完传给 C → 返回。

延迟设计的关键洞察:HTTP streaming 是延迟容忍的(TTFT 慢一点没关系),RPC 是延迟放大的(每层都走一次网络)。所以 llama-server 永远和 GPU 在同一台机器上,mesh 只通过 HTTP 隧道传输最终结果。

Expert Parallelism(MoE 模型)🌟

这是 Mesh LLM 最亮的设计。

MoE 模型(Qwen3-MoE、DeepSeek、Mixtral)每个 token 只激活少量 experts。Mesh LLM 的策略:

1. 从 GGUF header 自动检测 MoE 架构

2. 读取 expert routing 统计,识别哪些 experts 最常被用到

3. 关键 experts 全节点复制,其余 experts 分散到各节点

4. 每个节点运行独立的 llama-server

结果:推理时零跨节点流量。因为每个节点都有完整的 trunk + 足够的 expert subset。

Session 通过 hash routing 保证 KV cache locality。

性能优化

优化效果
Zero-transfer GGUF loading模型加载 111s → 5s
RPC round-trip reduction每 token 558 次 → 8 次
Direct server-to-server tensor跳过 client 中继
Speculative decoding+38% throughput(代码场景 75% acceptance rate)

Mesh 网络

基于 iroh(Rust QUIC 实现),支持:

作者背景

Michael Neale — CloudBees 联合创始人 & 首席科学家。

CloudBees 是 Jenkins(全球最大的 CI/CD 平台之一)背后的商业公司。Michael 是长期 OSS 开发者,在分布式系统和开发者工具领域深耕 20+ 年。

这个背景很重要:他理解"开发者想要什么样的工具"——简单、一行命令、别让我配置。Mesh LLM 的 DX 明显带着 Jenkins/CloudBees 的基因。

Roadmap 亮点

SSD Expert Streaming

在单台 48GB Mac 上跑 Qwen3.5-397B:expert weights 存在 NVMe SSD 上,推理时按需 pread()。受 flash-moe 启发,已在 MacBook Pro M3 Max 上实现 5.5 tok/s。

关键教训:Trust the OS page cache。所有自建的 expert cache(Metal LRU、malloc、tiered I/O)都让性能变差——删掉自建 cache 反而提速 38%。和 PostgreSQL 的 shared_buffers 是同一个道理。

移动端

扫 QR code → 加入 mesh → 用手机和 235B 模型聊天。"AirDrop for AI"。

Agent 集成


mesh-llm run goose    # 启动 Goose agent,后端接 mesh
mesh-llm run opencode # OpenCode 连 mesh API

与我们的关联

直接应用场景

我们有两台机器:

ub2 上已经跑着 Ollama + 多个模型。Mesh LLM 的价值在于:

如果我们买了第二台 GPU 机器,比如一台 Mac Studio M4 Ultra (192GB),可以用 Mesh LLM 把两台组成集群:

目前只有一台 GPU 机器 → Mesh LLM 暂时用不上。但值得关注。

❓ ub2 + Mac Mini 能组 Mesh 吗?

可以,但效果取决于 Mac Mini 配置和网络延迟。

组合效果估算

Mac Mini 配置总可用显存能跑什么价值
M4 基础款 (16GB)24 + 16 = 40GB32B Q4 模型⚠️ 意义不大,ub2 单独能跑
M4 Pro (24GB)24 + 24 = 48GB70B Q4 模型✅ 有用,单台都跑不动 70B
M4 Pro (48GB)24 + 48 = 72GB235B MoE / 70B Q8✅✅ 很有价值,推荐

延迟约束

Mesh LLM 有 80ms RTT 硬限制——超过 80ms 的节点只能做 API client,不参与模型分割。

- MoE 模型 ✅ — Expert parallelism 零跨节点推理流量,延迟只影响 TTFT

- Dense 模型 ⚠️ — 每 token 都走网络,接近 80ms 上限可能被排除

建议

1. 买 Mac Mini 选 48GB 版本,性价比最高

2. 优先跑 MoE 模型(Qwen3-MoE、DeepSeek 等),对网络延迟不敏感

3. 如果能把两台放在同一局域网,Dense 模型也可以

vs Ollama

OllamaMesh LLM
单机推理✅ 极简✅ 也支持
分布式推理❌ 不支持✅ 核心能力
MoE expert sharding✅ 零跨节点流量
模型管理✅ pull/push基础(指定 GGUF)
API 兼容OpenAI 兼容OpenAI 兼容
成熟度生产就绪早期(参考实现)
多模型✅(不同节点不同模型)

对 Qwopus 的启发

我们之前在 ub2 上跑 Qwopus(27B Q4_K_M),单卡 24GB 刚好够。如果想跑更大的蒸馏模型(比如 70B 级别),Mesh LLM 是一个备选方案——前提是加一台 GPU 机器。

局限性

1. "参考实现":README 明确说是 reference impl,不是生产就绪的产品

2. iroh relay 不稳定:长时间运行后连接退化("Studio pattern: fresh=250ms, 10h=isolated")

3. Pipeline parallelism 延迟:Dense 模型跨节点每 token 都有网络开销

4. 没有认证/安全:public mesh 任何人可以加入和使用

5. 依赖 llama.cpp fork:而非上游,可能跟不上

评分

维度分数说明
创意9/10MoE expert sharding 零跨节点流量,架构设计精妙
实用性7/10需要多台 GPU 机器才有价值,覆盖面窄
技术实现9/10Pipeline + Expert parallelism + speculative decoding,优化到位
DX (开发者体验)9/10一行安装、一行启动、一行加入,CloudBees 基因
成熟度5/10参考实现,relay 不稳定,缺认证
与我们的相关性5/10目前只有一台 GPU 机器,暂时用不上
**综合****7.5/10**

关键链接

> 一句话总结:Mesh LLM 是 CloudBees 联合创始人做的分布式 LLM 推理框架——把多台机器的 GPU 组成 mesh,自动决定用 pipeline parallelism 还是 expert sharding,暴露为统一的 OpenAI API。MoE expert parallelism 做到零跨节点推理流量,这是真正的架构突破。一行命令安装+启动的 DX 无可挑剔。但目前是"参考实现"级别,适合有多台 GPU 机器的 homelab 玩家,我们暂时只有一台 GPU 机器用不上——但如果未来加机器,这是首选方案。