AB
AiBoss
project

swarmllm - 把大模型切片跑在房间里每台设备的浏览器标签页上

SwarmLLM 是一个把大语言模型按层切分、分发到同一房间内多台设备浏览器标签页上协同推理的开源项目。每台设备只持有模型的一部分层,通过 WebRTC 直连传递约 10 KB 的激活向量,无需安装、无需账号,也没有服务器参与计算。项目由 Nehanth 维护,采用 MIT 许可证,截至 2026-09-23 星标数 435。

SwarmLLM 是一个把大语言模型按层切分、分发到同一房间内多台设备上协同推理的开源项目。按照项目自述,它的目标场景很具体:让一台单独装不下某个大模型的笔记本、手机和台式机,各自在浏览器标签页里承担一部分层,合起来把整个模型跑起来。设备之间通过 WebRTC 直连传递激活向量,据项目说明,一个 token 的隐藏状态在网络上约 10 KB。它适合手里有几台设备、想在不购买新硬件的前提下尝试较大模型的人,也适合对 WebGPU 推理引擎、点对点分布式推理感兴趣的开发者。

维护者与状态

项目由 Nehanth 维护,仓库创建于 2026-09-01,最后提交时间为 2026-09-20。最新 release 为 v0.2.0,发布于 2026-09-07。截至 2026-09-23,仓库星标数为 435。许可证为 MIT。项目另有官网 swarmllm.ai。

从时间线看,这是一个非常年轻的项目:创建到数据读取时间不足一个月,但已经发布了正式版本,并保持了持续的提交记录。README 中列出了仓库结构,包括 engine/(运行时与 WebGPU 内核)、room/(房间、信令、权重流式传输与生成循环)、tests/(GPU 黄金测试与无 GPU 单元测试)、benchmarks/、docs/ 以及 roadmap/(每个计划项一个文件,带状态、设计与完成标准)。

主要能力

以下能力均来自项目自述,尚未经过独立验证。

  • 大模型跨设备切片运行。据项目说明,Qwen 3.8 27B 的 Q4_0 权重约 15 GB,可以分布在多台单独装不下它的笔记本、手机和 PC 上运行。
  • 自研 WebGPU 引擎。项目自述其推理引擎是从零编写的 WGSL 实现,包含约 50 个 WGSL 内核,而非基于 WebLLM、MLC 或 llama.cpp。README 称其在 GB10 上达到 9.0 tok/s 的普通解码速度,使用投机解码时为 16 tok/s。
  • 按构造保证位精确。项目自述每一项优化都以黄金测试为门槛,投机解码路径产生的输出流与普通解码一致。
  • 跨网络组网。据项目说明,房间可以跨网络通过 WebRTC 建立;预填充阶段每轮往返发送 16 个 token,解码阶段把投机草稿串起来,因此慢链路每轮仍能推进若干 token。
  • 数据不出房间。项目自述没有服务器能看到对话内容。同时 README 也明确指出,房间是一个共享会话,房间内所有人都能看到问题和回答;运行中间层的设备处理的是模型中间激活值,这些激活值对有心算的同伴而言同样不构成隐私保护,相关说明见仓库的 SECURITY.md。
  • 支持的模型。据 README 的模型表,包括 Qwen 3.8 27B(GGUF Q4_0,混合 Gated-DeltaNet 与注意力结构,支持 MTP 投机)、Qwen3 0.6B / 1.7B / 4B(GGUF Q8_0 / Q4_0,稠密结构,用于黄金测试)以及 SmolLM2 135M(safetensors f32,最小演示)。

使用入口

仓库地址为 https://github.com/Nehanth/swarmllm,官网为 https://swarmllm.ai

据项目说明,最直接的使用方式是打开官网的房间页面,创建一个房间、分享房间码、选择模型、开始。每台设备只下载自己负责的那部分层,并会缓存以便下次使用。

本地运行方面,README 给出的方式是先克隆仓库,再用任意静态服务器托管,然后访问本地的房间路径:

git clone https://github.com/Nehanth/swarmllm && cd swarmllm
npx -y serve -l 8080 .
# 任意静态服务器均可;随后打开 http://localhost:8080/room

如果要改动引擎本身,项目自述需要 Deno 2.x 和支持 WebGPU 的 GPU,模型文件放在 models/ 目录下,具体见 docs/models.md。README 中列出的命令包括:

npm test          # 单元测试,不需要 GPU
npm run test:gpu  # 在 Qwen3 0.6B 上跑黄金测试
npm run test:q38  # 27B 测试套件,含投机与普通解码一致性
npm run bench:q38 # 解码 / 预填充 tok/s

许可与限制

许可证为 MIT。

项目自述中列出的已知限制与适用边界包括:

  • 浏览器兼容性。据 README,macOS 上的 Chrome 是经过测试的宿主环境;iPhone 上的 Safari 可以加入房间并承担较小的切片;macOS 上的 Safari 在承担 27B 的大切片时会因内存压力重载标签页,因此不建议用它做宿主。Firefox 和 Linux Chromium 需要手动启用 WebGPU,且项目自述未做测试。无头环境使用 Deno 2(wgpu)。
  • 预填充是已知短板。项目自述 DeltaNet 的递归是串行的,预填充 GEMM 也还年轻,因此预填充性能与解码性能存在明显差距。
  • 隐私边界。房间是共享会话,房间内所有人可见问答内容;中间层设备处理的是中间激活值,项目明确说明这不构成对有心同伴的隐私保护。
  • 性能数据来源。README 中的 tok/s 数字来自项目自己的基准测试与 bench log,属于项目自述,本文未做独立复现。

此外,README 提到模型权重与 GGUF 格式来自 Qwen 团队与 llama.cpp / ggml,托管使用 Hugging Face,信令使用 PeerJS,引擎本身为项目自研 WGSL 实现。