Multi-Token Prediction für MLX: MTPLX im Test auf dem M3 Max
Auf Apple Silicon ist MLX heute der schnellste Weg, ein LLM lokal laufen zu lassen. Ein neues Projekt namens MTPLX behauptet, mit Multi-Token Prediction noch deutlich mehr herauszuholen, der Hersteller spricht von bis zu 2,24-fachem Tempo. Klingt nett, lasst uns das nachprüfen.
Was Multi-Token Prediction macht
Ein klassischer LLM erzeugt Text Token für Token. Jeder Schritt braucht einen vollständigen Forward-Pass durch das Modell, und dieser Schritt ist bei lokaler Inferenz auf dem Mac der Flaschenhals. Die Hardware ist meist nicht ausgelastet, sie wartet auf den nächsten Token.
Speculative Decoding setzt hier an. Ein kleines, schnelles Modell, der Drafter, rät mehrere Tokens auf einmal. Das große Modell, der Verifier, prüft diese Vorschläge in einem einzigen Forward-Pass und behält nur die korrekten. Der Trick liegt darin, dass die Verifikation parallelisierbar ist: Das große Modell kann mehrere geratene Tokens gleichzeitig kontrollieren und amortisiert so seine Kosten.1 Stimmen die Vorschläge oft, kommen pro teurem Forward-Pass mehrere fertige Tokens heraus.
Entscheidend ist, dass die Qualität dabei nicht leidet. Ein Verfahren namens Rejection Sampling sorgt dafür, dass die akzeptierten Tokens exakt der Verteilung des großen Modells folgen. Das Ergebnis ist dasselbe, das auch ohne Spekulation herausgekommen wäre, nur schneller.1
Multi-Token Prediction (MTP) ist eine besondere Spielart davon. Statt eines separaten Drafter-Modells nutzt MTP zusätzliche Vorhersage-Köpfe, die direkt im Hauptmodell sitzen. Moderne Modelle wie Qwen 3.5 und 3.6 bringen solche MTP-Heads bereits mit. Das Modell entwirft also mit den eigenen Köpfen mehrere Tokens im Voraus und verifiziert sie selbst.
MTPLX: MTP-Heads statt externem Drafter
Genau hier setzt MTPLX an. Es ist eine MLX-native Laufzeit für Apple Silicon, kein Wrapper um andere Tools, und stellt einen OpenAI- und Anthropic-kompatiblen Server bereit.2 Der Unterschied zu gewöhnlichem Speculative Decoding steht in der eigenen Dokumentation deutlich: „Not an external-drafter system. The drafter is the target model’s own MTP heads."2
Praktisch heißt das: kein zweites Modell, kein Abgleich zweier Gewichtssätze, sondern ein einziges Modell, das sich selbst Tokens vorschlägt. Die Annahme der Vorschläge läuft über exaktes Rejection Sampling nach dem Satz von Leviathan und Chen, die Ausgabeverteilung bleibt also bei jeder Temperatur erhalten.2
Beim ersten Start vermisst MTPLX die Maschine und sucht die schnellste Spekulationstiefe für genau diesen Mac. Installiert wird per Homebrew, per pip oder über eine DMG mit geführtem Onboarding.2
brew install youssofal/mtplx/mtplx
# oder
python3 -m pip install mtplx
Die Modelle müssen eingebaute MTP-Heads mitbringen. Der Katalog umfasst unter anderem Qwen 3.6 (27B und 35B MoE) sowie Gemma 4, jeweils in Speed-, Balance- und Quality-Builds.2
Der Test auf dem M3 Max
Für einen belastbaren Vergleich kommt es darauf an, dasselbe Modell einmal mit und einmal ohne MTP zu fahren. Sonst vergleicht man Modelle, nicht Verfahren. MTPLX macht das einfach: Der Befehl mtplx ask kennt die Flags --no-mtp und --mtp, dazu --stats für die gemessenen Token-Raten.
Das Setup:
| Hardware | Apple M3 Max, 64 GB Unified Memory |
| OS | macOS 26.3.1 |
| Modell | Qwen3.6-27B, MTPLX-Speed-Build (4bit) |
| Parameter | temp 0.6, top_p 0.95, fester Seed |
| Baseline-Referenz | mlx_lm auf Qwen3.6-27B-4bit |
Ein Detail vorweg, das die Erwartung dämpft. MTPLX selbst meldet auf diesem M3 Max:
M5 TensorOps eligible: false
hardware acceleration confirmed: false
Die vom Hersteller genannten 2,24-fachen Werte stammen von einem M5 Max mit dessen spezieller Tensor-Beschleunigung. Auf einem M3 Max ist dieser Pfad nicht verfügbar. Der realistische Vergleichswert ist eher die Größenordnung, die der YouTuber Joe Maddalone in seinem Video gemessen hat, rund 23 Prozent.
Der eigentliche A/B ist ein Zweizeiler. Gleiches Modell, gleicher Prompt, einmal MTP aus, einmal an:
mtplx ask --model <pfad> --no-mtp --max-tokens 256 --temperature 0.6 --top-p 0.95 --seed 0 --stats
mtplx ask --model <pfad> --mtp --max-tokens 256 --temperature 0.6 --top-p 0.95 --seed 0 --stats
Ergebnisse
Alle Läufe mit demselben technischen Prompt, 256 generierten Tokens, temp 0.6, top_p 0.95. MTPLX wählte für diese Maschine automatisch die Spekulationstiefe 3.
| Lauf | Modus | tok/s |
|---|---|---|
| mlx_lm, Standard-Build | autoregressiv | 22,17 |
MTPLX, --no-mtp | autoregressiv | 19,86 |
MTPLX, --mtp (Lauf 1) | MTP, depth 3 | 27,48 |
MTPLX, --mtp (Lauf 2) | MTP, depth 3 | 29,32 |
Zwei Zahlen stechen heraus. Der reine MTP-Effekt, also dasselbe Modell mit und ohne MTP, liegt bei rund 40 Prozent: von 19,86 auf 27 bis 29 tok/s. Gegenüber meinem tatsächlichen Alltags-Setup mit mlx_lm sind es netto rund 24 bis 28 Prozent, weil MTPLX im reinen AR-Modus etwas langsamer ist als mlx_lm.
Die Ausgaben waren in beiden Modi kohärent und inhaltlich gleichwertig. Das ist erwartbar, nicht zufällig: Das exakte Rejection Sampling garantiert, dass MTP dieselbe Verteilung liefert wie das Modell ohne MTP. Mehr Tempo, gleiche Qualität.
Fazit
Drei Dinge bleiben festzuhalten.
Erstens: MTP wirkt, auch auf einem M3 Max ohne die Tensor-Beschleunigung des M5. Rund 40 Prozent mehr Token-Tempo ohne Qualitätsverlust sind in einem lokalen Coding-Workflow deutlich spürbar.
Zweitens: Der Hersteller-Wert von 2,24× ist nicht erfunden, aber an die M5-Hardware gebunden. Wer ihn auf einen M3 oder M4 überträgt, wird enttäuscht. Realistisch ist dort ein Drittel bis knapp die Hälfte mehr, je nach Arbeitslast.
Drittens: Der Gewinn hängt an der Akzeptanzrate. Strukturierter, vorhersagbarer Text wie Code oder technische Erklärungen wird gut vorausgesagt, die gedrafteten Tokens werden oft akzeptiert. Bei hochentropischem, kreativem Text sinkt die Akzeptanz und mit ihr der Vorteil. Mein Testprompt war bewusst technisch, der gemessene Wert markiert also eher das obere Ende.
Unterm Strich hält MTPLX, was im Kern zählt: schnellere lokale Inferenz ohne Qualitätsverlust. Nur die plakative Zahl gehört relativiert. Auf diesem M3 Max sind es solide rund 40 Prozent, nicht 124.
Stand: 16. Juni 2026. Die Performance-Zahlen wurden auf einem Apple M3 Max (64 GB) selbst gemessen. Hersteller- und Techniknachweise siehe Fußnoten.
Grundlagen des Speculative Decoding, parallele Verifikation und Erhalt der Ausgabeverteilung über Rejection Sampling: „Speculative decoding", Wikipedia, sowie die Originalarbeit von Leviathan et al. (2023). https://en.wikipedia.org/wiki/Speculative_decoding ↩︎ ↩︎
MTPLX, „Run local LLMs twice as fast on your Mac", Projektseite und Repository (youssofal/MTPLX), zu MTP-Heads, exaktem Rejection Sampling, Installation und Modellkatalog. https://mtplx.com/ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎