MacBook 上 397B MoE:4.4 t/s Flash-MoE 引擎

Flash-MoE:在 MacBook 上运行 397B 参数,速度达 4.4+ 令牌/秒

想象在你的 MacBook Pro 上运行 3970 亿参数的专家混合 (MoE) 模型,输出质量达到生产级水准,速度为 4.4+ 令牌/秒。这正是 Flash-MoE 实现的——无需 Python、无需框架,仅使用纯 C/Objective-C 和手动调优的 Metal 着色器。

巨兽:Qwen3.5-397B-A17B

这不是理论。项目从 SSD 流式传输 209GB 4 位量化模型,同时提供:

配置 速度 质量 磁盘
4 位 FMA 内核 4.36 t/s 优秀 209GB
4 位基准 3.90 t/s 优秀 209GB
2 位专家 5.74 t/s 良好* 120GB

*2 位会破坏 JSON/工具调用可靠性

硬件现实检查

MacBook Pro M3 Max:48GB 统一内存、40 核 GPU、17.5GB/s SSD。无需数据中心。

突破性技术

1. SSD 专家流式传输 + "信任操作系统"

每层仅加载 K=4 个活跃专家(每个 ~6.75MB)
OS 页面缓存处理 LRU(自然命中率 71%)
通过 GCD 分派组并行 pread()
无需自定义缓存

经验教训:自定义 Metal LRU、LZ4 压缩和 mmap 表现更差。

2. FMA 优化的去量化内核 (+12% 速度)

// 之前:(nibble * scale + bias) * x
// 之后:fma(nibble, scale*x, bias*x)
GPU 融合乘加在一 单指令 中完成去量化 + 乘法。

3. 延迟 GPU 流水线

CMD3(专家前向) → [延迟]
CMD1: 注意力投影
CPU: 路由 + pread 专家
CMD2: 合并 + 归一化
→ 下一层
4 位下每层平均 4.28ms

4. 手写 Metal 内核

  • 4 位/2 位去量化 matvec(分块、SIMD、共享缓存)
  • 融合 SwiGLU、RMS 归一化、MoE 合并
  • 批处理 GPU 注意力 (Q@Kᵀ, softmax, scores@V)
  • GPU RoPE + 去交错

5. BLAS 加速的线性注意力

GatedDeltaNet 使用 cblas_sgemv/sger - 比标量代码快 64%

他们放弃的(58 个实验)

失败方法 影响 原因
LZ4 压缩 -13% 解压 > 缓存节省
GPU LUT 去量化 -2% 寄存器串行化
专家预测 -18% 缓存污染
mmap 专家 -5x 页面故障开销

生产就绪

cd metal_infer && make
./infer --prompt "Explain quantum computing" --tokens 100
./chat  # 交互式 TUI + 工具调用

安全性:6GB 固定内存占用,为 OS + 页面缓存留下 42GB。在主开发机上无 OOM 风险。

论文

完整技术细节 涵盖 90+ 个实验和 24 小时人类+AI 开发故事。这是 最先进的 Apple Silicon 推理 - 开源、经过实战考验、推动硬件极限。

Stars: 3.2k | Forks: 371 - 社区看到真正创新时就知道。

原始文章: 查看原文

分享这篇文章