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 |
| 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 |
| 2 Jul 2026 | 81.74 tok/s sampled decode on a 27B model on a Mac, the 27B record | Qwen 3.6 27B Optimized Speed, depth 3, temp 0.6, 2.69x over 30.37 plain decode, raw logs published |
| 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 |
| 16 Sep 2026 | 125.8 tok/s on a Qwen 3.8 Flash Next OpenCode request on a Mac, exact at any temperature | MTPLX 2.11.3, M5 Max 128 GB; eight exactness defects fixed with tests |
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
The 27B record: 81.74 tok/s on Qwen 3.6 27B Optimized Speed at 2.69x plain decode, M5 Max, depth 3, thinking off, temperature 0.6, fans verified, 2 July 2026, raw logs published. Qwen 3.8 27B: up to 87.6 tok/s rewriting a file it just wrote and 65.2 tok/s on a fresh coding task at official Qwen 3.8 sampling (M5 Max, MTPLX 2.10.0 and 2.7.0). Qwen 3.8 Flash Next, a 125B MoE: 125.8 tok/s on an OpenCode request, 79.3 tok/s at 9k context and 61.8 tok/s on a 109k-token OpenCode turn (MTPLX 2.11.3, M5 Max 128 GB). Qwen 3.5 4B: 227.8 tok/s. An agent tool turn after a file write re-prefills 20 tokens in 0.12 s (2.11). 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.