@akshay_pachaar: 这个推理引擎运行 LLM 比 llama.cpp 快 4 倍:(Qwen3.5-9B 在 16GB Mac 上达到 92 tokens/s)我在一台…
摘要
基准测试帖:Mirai 开源的推理引擎 Uzu 在 16GB M5 MacBook Pro 上运行 Qwen3.5-9B 达到 92.1 tokens/s——比 llama.cpp(22 tok/s)和 MLX(25.1 tok/s)快约 4 倍——通过使用基于树的投机解码和 Weaver 草稿模型,突破了普通本地解码的内存带宽瓶颈。
查看缓存全文
缓存时间: 2026/10/09 10:31
这个推理引擎比 llama.cpp 快 4 倍运行 LLM:
(Qwen3.5-9B 在 16GB Mac 上达到 92 tokens/s)
我在一台基础款 M5 MacBook Pro 上依次运行了 Qwen3.5 9B,分别使用三种本地推理引擎。
→ llama.cpp 达到 22.0 tokens/s → MLX 达到 25.1 tokens/s → Uzu 达到 92.1 tokens/s
视频展示了三次运行的并排对比。
前两个结果并不意味着 llama.cpp 或 MLX 优化不佳。两者都已接近普通本地解码的物理极限。
生成每个新 token 通常需要再对模型进行一次完整的前向传播。这次前向传播需要将大约 5.2 GB 的权重从内存中流式读取。
基础款 M5 的内存带宽约为 153 GB/s。
每次前向传播生成一个 token 的情况下,理论上限大约是 153 ÷ 5.2,即 29 tokens/s,无论 GPU 计算速度多快。
Uzu 通过针对 Apple Silicon 优化推测解码突破了这一上限。
推测解码使用一个较小的草稿模型来提前预测多个未来 token。然后由完整的 9B 模型一次性校验这些预测,而不是逐个 token 通过独立的前向传播来生成。
Uzu 在两个方面进一步推进了这一思路。
→ 它最多草拟 16 个位置,并使用 Weaver 将独立的猜测转化为连贯的序列。
→ 它将多条可能的序列为一棵树进行验证,然后仅为完整模型接受的路径提交状态。
9B 模型始终控制最终输出。Uzu 只是在每次前向传播中为它提供更多有用的待审批工作。
在我的测试中,9B 模型的每次前向传播平均产出 7.5 个输出 token。
普通解码每次恰好产出 1 个。
这就是 Uzu 在每次前向上限仅约 29 tokens/s 的硬件上达到 92.1 tokens/s 的原因。
引擎的其他部分也围绕这条路径设计。Uzu 自带量化的 checkpoint,在 M5 芯片上其 Metal 内核通过 GPU 的加速 int8 矩阵路径执行验证。
它是 Mirai 开源的推理引擎,提供 Rust、Swift、Python 和 TypeScript 的绑定。
仓库地址:https://github.com/trymirai/uzu
(别忘了点 🌟 Star)
我写了一篇完整的分析,解释本地推理为何受内存带宽限制,以及 Uzu 如何突破这一瓶颈,包含可复现的结果和代码。
文章全文如下。
相似文章
@akshay_pachaar:投机解码详解(用得好,LLM 推理速度可提升 4 倍)本地 LLM 通常每次……
这篇帖子通俗解释了投机解码(Speculative Decoding)的工作原理——草稿模型预测、目标模型并行验证并以概率方式接受或纠正——并介绍了开源引擎 Uzu,它在 Apple Silicon 上结合并行起草、连贯草稿路径与免回滚验证,使 4-bit Qwen3.5 9B 的推理速度从 llama.cpp 的 22 tokens/s 提升到 92–117 tokens/s。
@lxfater:有人用一块 RTX 3090 自制推理引擎,让 Qwen 27B 飞速跑出每秒 273 个 token!这速度……
一位开发者(coffeecup2020)打造了一款名为 tqllm 的自定义推理引擎,在 RTX 3090 上运行 Qwen3-27B(TQ3_4S-v2 量化版本),达到了惊人的每秒 273 个 token——文中将这一速度与人类阅读速度作对比,并指出近期出现了一波轻量级 LLM 推理方案的发布潮,包括在 12GB 显存上运行量化版 Qwen3.8-Flash-Next 的 Strata。
我测试了 llama.cpp 在 Qwen 3.6 27B 上的所有推测性解码方法:MTP ~2.7x, DFlash ~3.7x, n-gram 堆叠在真实编码中达到 ~6x。本地 AI 获胜。我在 RTX 6000 PRO 上的发现。
llama.cpp 在 Qwen 3.6 27B 上的推测性解码方法的全面基准测试表明,在 DFlash 上叠加 n-gram 堆叠在迭代编码任务中实现了高达 6 倍的加速,其中 ngram-mod 贡献了大部分增益且零 VRAM 成本。
@linexjlin: K2.6 花了 12 个小时, 在 Mac 上用 zig 语言 从 0 写了一个 LLM 推理引擎并,并将 qwen 3.5 0.8B 推理速度由 15 tok/s 优化到了 193.1 tok/s
Developer built a Zig-based LLM inference engine from scratch on Mac in 12h, boosting Qwen 3.5 0.8B speed from 15 to 193 tok/s.
@akshay_pachaar: https://x.com/akshay_pachaar/status/2108252095380140203
文章介绍开源推理引擎 Uzu(Mirai 出品),通过最多提前草拟 16 个 token 的推测解码与为 Apple M5 优化的 kernel,在 M5 芯片上运行 4-bit Qwen3.5 9B 达到 92-117 tokens/s,远超 llama.cpp 与 MLX 的 22-25 tokens/s,并解释了 batch-one 解码的内存带宽瓶颈原理。