The work
MTPLX is a free, open source Mac app and CLI (Apache-2.0) that runs local LLMs on Apple Silicon with native MTP speculative decoding: the model drafts ahead with its own MTP heads, verifies in one batched forward pass, and accepts through exact rejection sampling with residual correction, so the output matches plain decoding at any temperature. Twice as fast on the 4-bit packs, up to 3x on the 8-bit Quality pack.
Beyond the engine he builds the models people run: the MTPLX packs on Hugging Face under Youssofal, dynamic quantizations with the MTP head kept and a hand-tuned precision map (4-bit with 32-weight groups, 8-bit on the embeddings, the output head, every GDN output projection and the last eight MLP blocks, 16-bit norms and MTP head). Qwen 3.8 27B Optimized Speed alone was downloaded 61,275 times in the thirty days to 3 September 2026; the Qwen 3.8 packs together 119,875 times.
The other half of the product is the serving layer agents depend on: prefix caching that runs alongside speculation on hybrid GatedDeltaNet models, restoring a 100k-token session in about two seconds; an OpenAI-compatible and an Anthropic-compatible server on one port so OpenCode, Pi, Claude Code and Cline plug in; a memory governor that sizes the context window to the Mac it runs on; and the turbo verify kernels, Metal code tuned for the small-batch shapes speculative verification produces.
The firsts
| Date | First | Source |
|---|---|---|
| 27 Apr 2026 | Exact MTP speculative sampling on Apple Silicon, at temperature | commit 7293ecb, 50/50 match vs single-token decoding |
| 29 Apr 2026 | 60 tok/s sampled decode on a 27B model on a Mac | 60.169 tok/s, depth 3, temp 0.6, control 23.59 |
| 2 May 2026 | Shipped MTP on a Mac | MTPLX v0.1.0-preview; llama.cpp merged MTP 16 May, mlx-lm's PR is unmerged |
| 7 May 2026 | Published a decode-by-context curve to 128k | v0.2.0 release notes |
| 6 Jul 2026 | Prefix caching together with speculative decoding on hybrid GDN models | MTPLX 2.0.0 |
| 15 Aug 2026 | Qwen 3.8 27B served the day after release, with its MTP head | MTPLX 2.7.0 |
| 29 Aug 2026 | Apple Silicon backend for Qwen 3.8 Flash-Next (125B MoE), with MTP | MTPLX 2.10.0 |
The full dated record is on the history page.
Built on MTPLX
- oMLX (21,371 GitHub stars): "Lightning MTP's verify-shape Metal kernels are powered by MTPLX by Youssof Altoukhi, which also inspired the depth-k pipeline."
- mlx-serve (1,105 stars): credits MTPLX for the verify-width split-K quantized matmul family and the M5 NAX tensor-ops tile. "Powered by MTPLX by Youssof Altoukhi."
- edgequake-llm ships an MTPLX provider; pi-mtplx runs the Pi agent against MTPLX; hipdash is a live dashboard for it; Ivan Fioravanti's llm_context_benchmarks ships mtplx_benchmark.py.
More on the press and adoption page.
The numbers
Qwen 3.8 27B Optimized Speed on an M5 Max, MTPLX 2.10.0, stock settings: 64.3 tok/s on a 3k-token chat answer, 30.4 tok/s at 88k context, 18.4 tok/s at 147k. Record lane: 81.74 tok/s on Qwen 3.6 27B, 2.69x plain decode, 2 July 2026. Qwen 3.8 Flash-Next, a 125B MoE, 63 to 76 tok/s. A 262,144-token prompt prefills on a Mac. The full set is on benchmarks.
Links
- GitHub: github.com/youssofal, project github.com/youssofal/MTPLX
- X: @Youssofal_
- Hugging Face: huggingface.co/Youssofal
- Company: YOYO STUDIOS INC.