35B 级 MoE 在消费级硬件上跑不起来,卡的不是算力,是显存:4-bit 量化后权重仍要 19.5GB,而稀疏激活只省每个 token 的计算量,不省必须驻留的权重字节。把专家权重挪到 SSD 是显而易见的思路,但天真地做并不奏效——第 N+1 层该激活哪些专家,要等第 N 层算完才知道,读取永远赶不上计算,流水线 hide 不掉延迟。Edge0 团队 9 月 16 日发布的论文给出了一个相当彻底的答案(arXiv:2609.18063)。

预测即路由:把猜错问题整个消灭

Edge0 的核心构件叫 prerouter:每层挂一个预测头,提前一个 token 预测下一层的路由,然后直接用这个预测结果作为正式路由——staged 专家集等于 routed 专家集,零丢弃。这里有个精妙的架构选择:预测头不是旁路的"猜测器",预测结果本身就被消费为路由本身。HF 论文页评论区有读者尖锐提问:预测错了怎么办,是停下来取正确专家,还是硬着头皮用错的?作者 Yu Lin 的回答只有一句——"我们用预测结果作为路由,所以它是 100% 准确的"。这不是回避,是重新定义问题:路由不再是被预测的对象,而是被预测定义的行为。代价转移给了 Recover-LoRA:一个不合并、沿 student 路径训练的 LoRA,把 int4 量化加路由替换损失的画质补回来,而且 base 冻结只读,一份 base 可以挂多套 adapter。

数字说话

README 的基准表(OpenCompass,同设置对比 fp16 base):

  • 速度:Mac mini M4 Pro 24GB 单机,edge0-35b 解码 14.9–17.7 tok/s,峰值活跃内存 2.9 GiB;edge0-8b 23.9–25.3 tok/s,1.0 GiB
  • 质量:五基准均分 79.2 vs fp16 base 83.2,官方口径平均损失 3.9 分、8B 档 2.8 分;MMLU-Pro 上 edge0-8b 甚至反超 base(70.1 vs 65.8)
  • 吞吐增益:prerouter 带来最高 +59% 解码吞吐,且存储延迟越大、模型越大、路由宽度 K 越大,收益越高
  • 规模:4-bit checkpoint 约 23GB(35B)/4.2GB(8B),专家权重 mmapped 按需读取,不预载进 RAM

边缘侧的"另一半内存墙"

论文标题里的"另一半"是关键:过去两年行业把"内存墙"的注意力全放在 attention 和 KV cache 上,而 MoE 的权重侧才是消费级设备上更硬的约束——论文标题即是宣言。35B 档在 Apple Silicon 上拿到 14.9–17.7 tok/s,意味着 30B+ 模型的本地部署从"视频里看看"变成了可用的日常工具。框架、checkpoint、adapter 全部开源(Apache-2.0),基座分别基于 Qwen3.6-35B-A3B 和 Ling 3.0 bailing hybrid,edge0 serve 一条命令起 OpenAI 兼容服务。当前 MLX 后端只支持 macOS Apple Silicon(M1-M4),CUDA 后端在 roadmap 上。对普通用户,门槛不再是买不买得起显卡,而是肯不肯为 SSD 留出 23GB。

所以呢?当路由预测本身成为路由,"预测准不准"从工程问题变成了定义问题——这套思路会不会出现在更大的 MoE serving 栈里,值得盯着看。