Loading video...

Video Failed to Load

Go Home

We’re open-sourcing lithos-metal 🚀 Megakernels + DSpark speculative decoding run Qwen3.8-27B at 200+ tokens/s/user peak on one Apple M5 Max. Ultra-fast inference on your laptop. Try it with any coding agent in one command. Code: Tech blog:

423,198 views • 24 days ago •via X (Twitter)

17 Comments

David Dalcu's profile picture
David Dalcu24 days ago

@Apple

rocky's profile picture
rocky24 days ago

@sh_reya @Apple nice peak numbers, but apple silicon still runs into the memory bandwidth wall pretty quick once the kv cache grows. curious how much of that 200 tok/s holds up in a real multi-turn agent loop with tool calls instead of pure generation

Zhihao Jia's profile picture
Zhihao Jia24 days ago

@sh_reya @Apple Great question! We observe 120-130 TPS when context length grows to 32K-64K. The fundamental challenge is the dense attention layers in Qwen3.8-27B.

AI Quanting's profile picture
AI Quanting24 days ago

@Apple Your projected 127 a second at 32K is the number I'd lead with. That's usually where laptop setups fall apart.

Kim Noël ⚡ 📖's profile picture
Kim Noël ⚡ 📖24 days ago

@Apple @ivanfioravanti what is this sorcellerie, how is it possible

Dimitrios Skarlatos's profile picture
Dimitrios Skarlatos24 days ago

@Apple 🍎🚀

Fernando villamizar's profile picture
Fernando villamizar24 days ago

@Apple 200+ tokens/s on a laptop is wild. as an engineer, what catches my eye is DSpark speculative decoding — that's where the real magic is, turning idle GPU cycles into throughput. local 27B models at this speed change what you can prototype offline.

Luis Casillas's profile picture
Luis Casillas24 days ago

@Apple Open-sourcing this for local inference on Apple silicon is a solid move. Curious to try it with a coding agent.

Kovex's profile picture
Kovex24 days ago

@Apple Whats the TTFT for 256 context vs 32k context? Don't see it mentioned anywhere

Ivan Fioravanti's profile picture
Ivan Fioravanti24 days ago

@Apple Incredible results! Gonna test it immediately!

Abhishek Gahlot's profile picture
Abhishek Gahlot24 days ago

@Apple reading more about your repo now and how good is drafter. i am trying similar here: though here reaches upto 180tps for shorter prompt. megakernel approach didn't try because smaller fused kernels gave good speed for me.

Catalin Baciu 🍃 #SaveSoil 🍃's profile picture
Catalin Baciu 🍃 #SaveSoil 🍃24 days ago

@Apple When M1 support, sirs?!?

Rafa Schwinger 🇻🇦's profile picture
Rafa Schwinger 🇻🇦24 days ago

@old_sound @Apple Really incredible, thank you for your service!

Vera Ai | Tools & Updates's profile picture
Vera Ai | Tools & Updates24 days ago

@Apple 200+ tokens per second on a laptop is seriously impressive inference performance

Arda Spectaguler's profile picture
Arda Spectaguler24 days ago

@Apple Curious looks promising

Kim Noël ⚡ 📖's profile picture
Kim Noël ⚡ 📖24 days ago

@Apple So you are offering the community in Apache 2 the engine that can infer Kimi K3 up to 1000tok/s. Thank you 😭

James's profile picture
James24 days ago

@Apple @grok is this faster than Tensorfold?

Related Videos

Massive breakthrough in speculative decoding! It made a 9B LLM on my MacBook 4x faster, and 2.6x faster than regular speculative decoding. I ran Qwen3.5 9B on my M5 MacBook Pro with the same prompt, three ways: - No speculative decoding: done in 42s - Regular speculative decoding: done in 30s - DFlash + Weaver: done in 11s The video below shows all three side by side. Here's why it works: Speculative decoding lets a cheap drafter guess the next few tokens, and the main model checks them all in one pass. The fastest drafters, like DFlash, guess every position in parallel. But each guess is made on its own, so position 5 never sees what was picked at position 4. One early mismatch and everything after it gets thrown away. Weaver fixes this. It's a tiny adapter (one Transformer layer) on top of DFlash that: ↳ picks among DFlash's top candidates left to right, so each pick depends on the last ↳ grows a tree of likely continuations instead of a single chain ↳ lets the main model verify the whole tree in one pass On my Mac, every pass of the model produced 7.5 tokens instead of 1. On a B200 GPU, the paper reports 4x faster decoding across chat, math and code. Mirai Labs open-sourced the whole stack in their engine, uzu, built for Apple Silicon. GitHub repo: (don't forget to star it 🌟) Trying it takes two commands: 𝗯𝗿𝗲𝘄 𝗶𝗻𝘀𝘁𝗮𝗹𝗹 𝗺𝗶𝗿𝗮𝗶 𝗺𝗶𝗿𝗮𝗶 --𝗺𝗼𝗱𝗲𝗹 𝘁𝗿𝘆𝗺𝗶𝗿𝗮𝗶/𝗤𝘄𝗲𝗻𝟯.𝟱-𝟵𝗕-𝗠 -𝗺 "𝗪𝗿𝗶𝘁𝗲 𝗮 𝗽𝘆𝘁𝗵𝗼𝗻 𝗳𝘂𝗻𝗰𝘁𝗶𝗼𝗻 𝘁𝗼 𝗺𝗲𝗿𝗴𝗲 𝘁𝘄𝗼 𝘀𝗼𝗿𝘁𝗲𝗱 𝗹𝗶𝘀𝘁𝘀" --- I wrote a full breakdown of why local inference is memory-bound and how uzu gets past it, with reproducible code. The article is quoted below. In the replies, there's an illustration of standard vs. speculative vs. uzu decoding.

Akshay 🚀

26,337 views • 3 days ago