@akshay_pachaar: This inference engine runs LLMs 4x faster than llama.cpp: (Qwen3.5-9B at 92 tokens/s on 16GB Mac) I ran Qwen3.5 9B on a…

X AI KOLs Following Tools

Summary

Benchmark thread showing Uzu, an open-source inference engine from Mirai, running Qwen3.5-9B at 92.1 tokens/s on a 16GB M5 MacBook Pro — about 4x faster than llama.cpp (22 tok/s) and MLX (25.1 tok/s) — by using tree-based speculative decoding with a Weaver drafter to break the memory-bandwidth ceiling of ordinary local decoding.

This inference engine runs LLMs 4x faster than llama.cpp: (Qwen3.5-9B at 92 tokens/s on 16GB Mac) I ran Qwen3.5 9B on a base M5 MacBook Pro using three local inference engines, one at a time. → llama.cpp reached 22.0 tokens/s → MLX reached 25.1 tokens/s → Uzu reached 92.1 tokens/s The video shows all three runs side by side. The first two results do not mean llama.cpp or MLX are poorly optimized. Both are approaching a physical limit of ordinary local decoding. Generating each new token normally requires another pass through the model. That pass streams roughly 5.2 GB of weights through memory. A base M5 provides about 153 GB/s of memory bandwidth. At one token per pass, the theoretical ceiling is roughly 153 ÷ 5.2, or 29 tokens/s, however fast the GPU computes. Uzu gets past that ceiling by optimizing speculative decoding for Apple Silicon. Speculative decoding uses a smaller drafting system to propose several future tokens. The full 9B model then checks those proposals together instead of generating every token through a separate pass. Uzu pushes this further in two ways. → It drafts up to 16 positions and uses Weaver to turn independent guesses into coherent sequences. → It verifies several possible sequences as a tree, then commits state only for the path the full model accepts. The 9B model remains in control of the final output. Uzu simply gives it more useful work to approve in each pass. In my run, every pass of the 9B model produced 7.5 output tokens on average. Ordinary decoding produces exactly 1. That is how Uzu reached 92.1 tokens/s on hardware whose one-token-per-pass ceiling is roughly 29. The rest of the engine is designed around this path too. Uzu ships its own quantized checkpoints, and on M5 chips its Metal kernels run verification through the GPU’s accelerated int8 matrix path. It is an open-source inference engine from Mirai, with bindings for Rust, Swift, Python, and TypeScript. The repository is here: https://github.com/trymirai/uzu (don't forget to star 🌟) I wrote the full breakdown of why local inference is memory-bound and how Uzu gets past that limit, with reproducible results and code. The article is quoted below.
Original Article
View Cached Full Text

Cached at: 10/09/26, 10:31 AM

This inference engine runs LLMs 4x faster than llama.cpp:

(Qwen3.5-9B at 92 tokens/s on 16GB Mac)

I ran Qwen3.5 9B on a base M5 MacBook Pro using three local inference engines, one at a time.

→ llama.cpp reached 22.0 tokens/s → MLX reached 25.1 tokens/s → Uzu reached 92.1 tokens/s

The video shows all three runs side by side.

The first two results do not mean llama.cpp or MLX are poorly optimized. Both are approaching a physical limit of ordinary local decoding.

Generating each new token normally requires another pass through the model. That pass streams roughly 5.2 GB of weights through memory.

A base M5 provides about 153 GB/s of memory bandwidth.

At one token per pass, the theoretical ceiling is roughly 153 ÷ 5.2, or 29 tokens/s, however fast the GPU computes.

Uzu gets past that ceiling by optimizing speculative decoding for Apple Silicon.

Speculative decoding uses a smaller drafting system to propose several future tokens. The full 9B model then checks those proposals together instead of generating every token through a separate pass.

Uzu pushes this further in two ways.

→ It drafts up to 16 positions and uses Weaver to turn independent guesses into coherent sequences.

→ It verifies several possible sequences as a tree, then commits state only for the path the full model accepts.

The 9B model remains in control of the final output. Uzu simply gives it more useful work to approve in each pass.

In my run, every pass of the 9B model produced 7.5 output tokens on average.

Ordinary decoding produces exactly 1.

That is how Uzu reached 92.1 tokens/s on hardware whose one-token-per-pass ceiling is roughly 29.

The rest of the engine is designed around this path too. Uzu ships its own quantized checkpoints, and on M5 chips its Metal kernels run verification through the GPU’s accelerated int8 matrix path.

It is an open-source inference engine from Mirai, with bindings for Rust, Swift, Python, and TypeScript.

The repository is here: https://github.com/trymirai/uzu

(don’t forget to star 🌟)

I wrote the full breakdown of why local inference is memory-bound and how Uzu gets past that limit, with reproducible results and code.

The article is quoted below.

Similar Articles

@akshay_pachaar: Speculative Decoding Clearly Explained (done right, it can make LLM inference 4x faster) A local LLM typically produces…

X AI KOLs Timeline

这篇帖子通俗解释了投机解码(Speculative Decoding)的工作原理——草稿模型预测、目标模型并行验证并以概率方式接受或纠正——并介绍了开源引擎 Uzu,它在 Apple Silicon 上结合并行起草、连贯草稿路径与免回滚验证,使 4-bit Qwen3.5 9B 的推理速度从 llama.cpp 的 22 tokens/s 提升到 92–117 tokens/s。

@lxfater: Someone built their own inference engine using an RTX 3090, running Qwen 27B at a blazing 273 tokens per second! This d…

X AI KOLs Timeline

A developer (coffeecup2020) built a custom inference engine called tqllm that runs Qwen3-27B (TQ3_4S-v2 quantization) on an RTX 3090 at an impressive 273 tokens per second — the post contextualizes that speed against human reading rates and notes a broader recent wave of lightweight LLM inference releases, including Strata running quantized Qwen3.8-Flash-Next on 12GB VRAM.

@akshay_pachaar: https://x.com/akshay_pachaar/status/2108252095380140203

X AI KOLs Timeline

文章介绍开源推理引擎 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 解码的内存带宽瓶颈原理。