窄就是它的性能论据
本站 9 月 2 日写过 Perplexity 在 Mac 上的混合计算——云端起头、遇到敏感信息交给本地模型。Lily 就是那条链路里「本地模型」那一端的引擎,现在开源了。 它的设计取向很清楚:不做通用。整个执行路径上没有 PyTorch 也没有 MLX,Rust 负责加载和生成循环,实际计算交给手写的 Metal kernel,对外只暴露一个极简的 OpenAI 兼容 HTTP 接口做贪心解码。目标模型也只有一个——Qwen3.6-35B-A3B,一个用 MoE 路由配合固定大小循环状态和全注意力的稀疏混合模型。 之所以能快,很大程度来自把预填充和解码当成两种不同的负载分开优化:预填充一次处理大量提示词 token、权重可以在这些 token 之间复用;解码一次只生成一个 token,复用少得多,瓶颈落在显存流量和带宽上。官方列出的最大增益项也印证了这一点——预填充的提升主要来自 GPU 常驻的专家路由(+89%)和把反量化融进分组 GEMM(+77.4%)。
数字和它的测试条件
测试机是 40 核、128GB 的 M5 Max,batch 1,跨 256 到 12.8 万 token 共十个长度。结果是预填充平均 4156 token/s 对 MLX-LM 的 3388(1.23 倍)、解码 170.0 对 126.4(1.35 倍);分档看,预填充 1.12–1.42 倍、解码 1.31–1.37 倍,每个记录点都更快。 质量侧也做了对照:在 192 个位置上做教师强制检查,Lily 的困惑度比对照高 0.04%,96.35% 的位置上 top-1 token 相同。也就是说这不是拿精度换速度。 有一处很值得记的做法:Perplexity 一并公布了负面结果——它自己的测试显示并非每项优化都有效,有些改动能提升单个步骤却没有让整段响应明显变快,其中点名了投机解码。工程博客愿意写「我们试了但没用」的部分不多见,这对想复现的人比跑分更有价值。
谁该看,谁不必
门槛先说清楚:4bit checkpoint 有 19.4 GB,现实的下限是 32GB 以上统一内存的 Mac;作为产品的混合计算那一侧标的是 macOS 15+、最低 24GB、32GB 效果最好。 它不是 Ollama 或 LM Studio 的替代品——那两者的价值在于什么模型都能塞进去,而 Lily 的价值恰恰在于只服务一个模型一种硬件。合适的读者是做推理框架的工程师、研究 Apple GPU 优化的人,以及想知道「专用化到底能榨出多少」的开发者。如果你的需求是在 Mac 上随便跑几个开源模型,这个仓库帮不上忙。