桃子桃子快讯
返回首页
开源

SwarmLLM:在浏览器标签页里跨设备跑 27B 大模型

SwarmLLM 用 WebGPU 与 WebRTC 把多台设备的浏览器标签页串成一台「超级机器」,协同运行 Qwen…

2026.09.12 · 周六6 分钟阅读

在本地跑大模型通常意味着下载数十 GB 权重、配好 GPU 驱动、再启动推理服务。SwarmLLM 提出了一条更轻的路径:把 27B 模型切成若干层,分别装进同一房间里的 MacBook、PC 和 iPhone 浏览器标签页,靠 WebGPU 算力与 WebRTC 直连协同生成 token,无需安装、无需账号、服务端不参与任何计算。

项目概览

SwarmLLM 是一个开源项目,仓库位于 GitHub 用户 Nehanth。其核心思路是「每台设备贡献一层切片,组合起来就是完整模型」:

  • 27B 装进浏览器:以 Qwen 3.8 27B(Q4_0 量化后约 15 GB)为例,单台设备放不下,但切成若干层分配到多台设备后即可运行;演示中 MacBook 与 iPhone 在同一 Wi-Fi 下共同承载该模型。
  • 零安装:访问 swarmllm.ai/room 创建房间、分享口令、选模型即可加入;每台设备只下载属于自己的层切片,并缓存供下次使用。
  • 数据不出房间:房间内所有参与者共享同一段对话;服务端只做信令转发,永不接触明文;层间传输的是中间激活张量。

技术架构

推理时由「宿主」设备持有词嵌入层与 LM 头,其它「同伴」设备各自运行一个层切片。每生成一个 token 的流程是:

  • 宿主把上一 token 的隐藏态(5,120 个 f16 浮点,约 10 KB)经 WebRTC 发给各同伴;
  • 同伴用本地 GPU 跑自己负责的若干层;
  • 结果回传宿主,由宿主完成最终归一化、LM 头与采样,得到下一个 token;草稿头同时猜测下一 token 用于投机解码。

跨网络场景下,预填充阶段每往返传输 16 token,解码阶段通过投机解码链式草稿,让慢链路也能每轮推送多个 token。引擎完全自研(约 50 个 WGSL kernel),不依赖 WebLLM、MLC 或 llama.cpp;模型权重与 tokenizer 来自 Qwen,托管在 Hugging Face,信令只走 PeerJS。

基准成绩

SwarmLLM 在 Qwen 3.8 27B Q4_0 上给出了 bit-exact 的可复现基准(greedy 解码),对比同文件、同机器上的原生 llama.cpp:

  • NVIDIA GB10(Deno / Vulkan,无头):单 token 解码 9.0 tok/s,开启投机解码后 16.1 tok/s;预填充 44 tok/s。原版 llama.cpp(CUDA 构建)同机器为 8.0 tok/s(tg32)、预填充 377 tok/s(pp86)。
  • MacBook Pro(Chrome / Metal)单机:解码 6.7 tok/s,投机解码 10.8 tok/s。
  • MacBook + iPhone(同一 Wi-Fi,62 + 2 层切片):投机解码 7.7 tok/s,169 token 提示词预填充约 8.5 秒。
  • 跨公网房间:3.5–6 tok/s。

引擎声称在 GB10 上接近 WebGPU 缓冲区读取带宽上限(实测 183 / 184 GB/s),这正是其原生 Web 实现能反超本地 llama.cpp 的原因。预填充仍是已知短板:DeltaNet 递归天然串行,预填充 GEMM 实现也较新。

与其它分布式方案的差异

现有项目大多需要安装原生二进制或 Python 包,且通常局限于局域网:

  • exo:需要 MLX 或 tinygrad 的 Python 环境,节点需安装 Python 包;
  • llama.cpp rpc-server:需在每台机器部署二进制并开放端口,文档明确不建议在不可信网络使用;
  • Petals:依赖公网服务器 GPU 群,需 Python 客户端;
  • distributed-llama:仅限 Linux 与树莓派,需 LAN 上的二进制节点;
  • WebLLM / MLC、transformers.js:模型整体放一个浏览器标签页,不做切片;
  • Ollama、llmman:模型整体放单机,不切片,只做请求路由。

SwarmLLM 的差异点在于「浏览器即节点、开 URL 即加入、支持跨互联网 WebRTC」,且模型按层切片而非按请求整体路由。

支持模型与限制

  • Qwen 3.8 27B:GGUF Q4_0,混合 Gated-DeltaNet + 注意力,支持 MTP 投机解码;
  • Qwen3 0.6B / 1.7B / 4B:GGUF Q8_0 / Q4_0,稠密架构,用于 golden test;
  • SmolLM2 135M:safetensors f32,最小演示模型。

浏览器兼容性方面,macOS Chrome 是官方测试过的宿主;iPhone Safari 可加入并持有小切片,但 Mac Safari 在持有 27B 大切片时内存压力下会重载标签页,不建议做宿主;Firefox 与 Linux Chromium 需自行启用 WebGPU,尚未覆盖测试;无头模式可在 Deno 2(wgpu)下运行。

值得注意的是,作者在 SECURITY.md 中坦承:层间传输的中间激活对于同房间内「有决心的同行」并不构成隐私屏障——这是一种刻意公开的安全模型边界,而非缺陷声明。

信源