The dated record

No Mac runtime had MTP.
So I built one.

In April 2026 there was no way to run a model's own multi-token-prediction heads on Apple Silicon. Not in MLX, not in GGUF, not in any shipping runtime. MTPLX was written from the vLLM implementation and the Leviathan–Chen papers, because there was no Mac reference to copy. Every entry below has a public receipt behind it.

Youssof Altoukhi brought exact multi-token-prediction decoding to the Mac.

In April 2026 no runtime on macOS could use a model's own MTP heads. MLX had none. GGUF had none. LM Studio had none. vLLM, which did have MTP, does not run on Apple Silicon. Anyone who wanted the speedup their model was already trained to give them simply could not have it on a Mac.

Youssof Altoukhi built it. Working alone, from the vLLM implementation and the Leviathan (2022) and Chen (2023) papers, because no Apple Silicon reference existed to copy, he was the first to combine a model's native multi-token-prediction heads with mathematically exact speculative sampling on the Mac: probability-ratio acceptance min(1, p/q) with residual (p − q)+ correction, the construction that provably preserves the target distribution at any temperature.

That combination ran on 27 April 2026, three hours after the repository was created, and shipped as an installable runtime on 2 May. mlx-lm's MTP pull request reached the same exactness on 5 May and has still not been merged. llama.cpp added MTP on 16 May, and did not reach the hybrid GatedDeltaNet family that Qwen 3.5, 3.6 and 3.8 belong to until 3 August.

MTPLX has never shipped a greedy-only path. Every speed number it has published was measured at the sampler the model actually ships with, not at temperature zero.

01 · First exact

Correct from hour three.

Probability-ratio acceptance with residual (p − q)+ correction was running on 27 April 2026, three hours after the repository was created. MTPLX has never shipped a greedy-only path.

02 · First runtime

The only one that shipped.

mlx-lm's MTP pull request has never merged. llama.cpp added MTP two weeks after MTPLX shipped, and hybrid-GDN MTP three months after. vLLM does not run on a Mac.

03 · Still the only one

Cache and speculate together.

MTPLX has run prefix caching and speculative decoding simultaneously on hybrid GatedDeltaNet models since 6 July 2026. vllm-metal's own pull request states the combination is unimplemented.

Timeline

Every claim,
with its receipt.

27 April 2026 · 04:13

MTPLX begins

First commit, da0d338, "Initial MTPLX project scaffold." An empty repository on one Mac.

27 April 2026 · 07:08

Exact speculative sampling, three hours later

Commit 7293ecb lands probability-ratio acceptance with residual correction, running at the Qwen coding sampler (temperature 0.6, top_p 0.95, top_k 20): 66.40% acceptance, and a 50/50 exact match against single-token autoregressive decoding. Not prefix matching. Not argmax. The Leviathan–Chen construction, which provably preserves the target distribution at any temperature.

29 April 2026

60.169 tok/s at temperature, not at greedy

Depth 3, 192-token long-code benchmark, temperature 0.6 / top_p 0.95 / top_k 20 / seed 0, under verified maximum-fan thermals. The matched no-MTP control on the same prompt measured 23.59 tok/s.

29 April 2026

Higher acceptance than vLLM, at every depth

MTPLX depth-4 per-position acceptance [97.62, 95.24, 88.10, 75.61] against vLLM's Qwen3.6 MTP-5 oracle on an RTX 3090 at [92.7, 77.0, 63.0, 50.9, 43.0]. The speculative-sampling maths was already ahead; the gap to CUDA was kernels, not algorithm.

2 May 2026

Shipped

First public release, five days after the first commit. An installable runtime, not a branch.

5 May 2026

mlx-lm's MTP branch becomes exact

Commit 30e2d26 on pull request #990 adds residual sampling on rejection, whose message reads "this guarantees the output marginal equals the target distribution exactly (Leviathan et al. 2022; Chen et al. 2023)." Eight days after MTPLX. That pull request has still not been merged.

16 May 2026

llama.cpp adds MTP

Pull request #22673, "llama + spec: MTP Support," merges two weeks after MTPLX shipped. Before this date, GGUF had no MTP at all.

6 July 2026

Prefix caching and speculative decoding, together

MTPLX 2.0.0 ships boundary-true GatedDeltaNet restores: KV for the attention layers plus the recurrent and convolution state for the linear layers, checkpointed at commit boundaries. A 100,000-token session restores in about two seconds instead of a five-minute cold prefill.

3 August 2026

llama.cpp reaches hybrid GDN

Pull request #25589 adds MTP for Qwen3-Next, the hybrid GatedDeltaNet family that Qwen 3.5, 3.6 and 3.8 belong to. Three months and one week after MTPLX.

10 August 2026

vllm-metal adds hybrid prefix caching, and documents the gap

Pull request #584 brings block-aligned prefix caching to hybrid GDN models on Metal, and states in its own description: "Hybrid prefix caching cannot be combined with speculative decoding because draft-state rollback across mamba state blocks is not implemented." MTPLX had been doing both for five weeks.

15 August 2026

Qwen 3.8, day one

MTPLX 2.7.0 ships the day after the model, with three tuned builds, FP16 siblings for M1 and M2, and the compiled verify window extended from 12,288 to 32,768 tokens.

Used by

Other engines
decode on these kernels.

oMLX credits MTPLX in its source and its README: "Lightning MTP's verify-shape Metal kernels are powered by MTPLX by Youssof Altoukhi, which also inspired the depth-k pipeline." Ivan Fioravanti benchmarks MTPLX in llm_context_benchmarks, and edgequake-llm ships an MTPLX provider.