>_ DevTrendsnl

Taal

Home

Talen

Secties

Frontend Backend Mobiel DevOps AI / ML GameDev Blockchain Embedded Beveiliging
Python

Hoe u lokale neurale netwerken op Apple Silicon met MTPLX tot twee keer sneller maakt

MTPLX

Als je de nieuwste Qwen-familiemodellen op een MacBook hebt uitgevoerd, heb je waarschijnlijk gemerkt dat het genereren van lange antwoorden merkbaar tegen de geheugenbandbreedtelimiet aankomt. Meestal wordt speculatieve decodering gebruikt om dit te versnellen. Maar de klassieke aanpak heeft een vervelend nadeel: je moet een tweede, klein conceptmodel in het kostbare unified memory van de Mac houden.

Onlangs stuitte ik op het MTPLX-project van ontwikkelaar Youssof Altoukhi. De auteur besloot elke druppel prestaties uit de Apple Silicon-architectuur te persen, samen met de ingebouwde multi-token prediction heads (MTP) die al in de gewichten van moderne modellen zoals Qwen 3.5, 3.6 en 3.8 zitten.

De Truc Achter MTP Zonder Een Tweede Model

De meeste bestaande runtimes negeren simpelweg MTP-heads in de gewichten. MTPLX werkt anders.

Het model zelf maakt meerdere tokens vooruit, waarna de hele batch in een enkele forward pass door MLX wordt geverifieerd. Validatie maakt gebruik van het nauwkeurige rejection sampling-algoritme van Leviathan en Chen met residuele correctie.

Wat betekent dit in de praktijk? Geen vereenvoudigingen of heuristieken. De kansverdeling blijft exact hetzelfde als bij reguliere stapsgewijze generatie. Als je temperature=0.6 en top_p=0.95 instelt, zal het model identiek reageren zoals het zou doen zonder MTP, alleen veel sneller.

Op een M4 Mac mini met 16 GB geheugen bereikt de snelheidsverbetering 1,6x, en op M5 Max-chips loopt de verbetering op tot 2,24x.

MTPLX Dashboard

Wat Er Binnen Zit: App en CLI

Het project is verkrijgbaar in twee smaken: een native GUI-applicatie voor macOS 14+ en een klassieke CLI-tool.

De grafische client regelt al het zware werk. Bij de eerste start analyseert het beschikbare geheugen, kiest een geschikt model, downloadt het, richt een geïsoleerde Python-omgeving in en biedt zelfs ventilatorbeheer aan zodat je MacBook niet throttelt bij langdurige taken.

MTPLX Chat Interface

Als je de terminal verkiest, wordt de installatie gedaan via Homebrew of pip:

brew install youssofal/mtplx/mtplx
mtplx start

Of via pip:

python3 -m pip install mtplx

Belangrijkste Functies

  1. Automatische afstemming van draft-diepte. MTP-efficiëntie hangt af van de specifieke chip en geheugenbusbreedte. Het mtplx tune --retune commando draait het model op verschillende diepten (Depth 1, 2, 3) direct op je hardware en vergrendelt de snelste optie. Als MTP op je configuratie plotseling verliest van de reguliere autoregressieve modus, zal het programma de draft eerlijk uitschakelen.
  2. Lokale compatibele server. Het mtplx serve commando start een server op poort 8000. Het is compatibel met OpenAI (/v1/chat/completions) en Anthropic (/v1/messages) formaten. Claude Code, Cline, Continue en Open WebUI werken er direct mee uit de doos.
  3. Ingebouwde embeddings en reranking. Je hebt geen aparte server nodig voor RAG. De daemon kan MLX embedding- en reranker-modellen parallel houden en laadt ze on demand in het geheugen wanneer requests binnenkomen.
  4. Forge-hulpprogramma voor het bouwen van je eigen modellen. Het pakket bevat het mtplx forge tool, dat Hugging Face repositories naar MLX-formaat converteert, de MTP-adapter fine-tunt en de snelheid voor en na meet.

Forge Tool

Hoe Te Werken Met De Server

Na het starten van de server kun je deze bevragen met standaard requests:

curl http://127.0.0.1:8000/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{"model":"mtplx","messages":[{"role":"user","content":"Привет!"}],"stream":true}'

Als je een agent-systeem of RAG-pipeline bouwt, geef dan direct de zoekmodellen op:

mtplx serve \
  --embedding-model mlx-community/Qwen3-Embedding-8B-4bit-DWQ \
  --reranker-model vserifsaglam/Qwen3-Reranker-4B-4bit-MLX

Sessies worden op SSD opgeslagen, dus wanneer de server herstart, wordt de context van eerdere lange gesprekken vrijwel direct hersteld.

Beperkingen Van Het Project

Er zijn geen wonderen zonder compromissen, dus houd een paar dingen in gedachten:

  • Het hulpprogramma is strikt geschreven voor Apple Silicon (M1-chips en nieuwer) en is afhankelijk van het MLX-framework. Linux-gebruikers en NVIDIA GPU-bezitters moeten bij vLLM of SGLang blijven.
  • MTPLX kan geen willekeurige MTP-heads aan willekeurige modellen koppelen, omdat gewichtmismatches de wiskundige nauwkeurigheid van de generatie breken. Je moet ofwel geverifieerde builds gebruiken uit de officiële catalogus van de auteur op Hugging Face (Qwen 3.5, 3.6, 3.8, Gemma 4), of een adapter vanaf nul trainen met het ingebouwde Forge.

Is Het De Moeite Waard Om Te Proberen

Als je code schrijft op een Mac en lokale LLMs gebruikt via Continue of Cline, geeft MTPLX een uitstekende snelheidsverbetering zonder extra software aan te schaffen. Op modellen zoals Qwen 3.8 27B is het verschil in autocomplete-responsiviteit en code-generatie direct voelbaar.

Het project wordt gedistribueerd onder de permissieve Apache-2.0-licentie, de broncode is netjes en de benchmarks zijn reproduceerbaar direct vanuit de terminal via het mtplx bench commando. Een geweldige vondst voor lokale ontwikkeling.

Gerelateerde projecten