Executable programs and extensions

MTPLX: will MTP make answers faster on your Mac?

Your model runs on a Mac, but long answers still take more time than you would like. MTPLX is one runtime worth considering. It uses a model's MTP weights to propose and verify upcoming tokens. Your existing download may not include those weights, however, and drafting more tokens does not always make the answer faster.

Drafted tokens still need to be checked

Ordinary generation advances one token at a time; MTP prepares several candidates ahead of that process. The main model checks them and adds the accepted portion to the answer. When candidates match well and verification is inexpensive, more progress is made in one step. Rejected candidates do not automatically turn that extra work into a gain.

MTPLX differs from systems that load a separate small draft model. That does not mean there is no additional memory or computation. You still need room for the model and context. Also separate the time spent reading a long document from the time spent writing an answer. A decode gain from MTP does not establish a faster first token for every request.

First check whether your download is suitable

The target is an Apple Silicon Mac. The official guide specifies macOS 14 or later; a terminal installation also needs the Python and MLX environment checked. You do not need to mix the app's model recommendations with a manually built environment from the start. For the terminal route, the commands below install MTPLX and open a model and mode selection flow.

GGUF and MLX are different files even when the model name matches. Nor does every MLX file include MTP. Check for a complete model prepared for MTPLX with matching trunk and MTP weights. Avoid combining an ordinary MLX trunk with MTP weights from elsewhere. Read the support list for the app and version you actually installed.

Install with Homebrew, then choose a model

brew install youssofal/mtplx/mtplx
mtplx start

A terminal example for an Apple Silicon Mac with Homebrew installed. The selected model is a separate download, so check its size and your available memory first.

Choose an MTP depth by testing it on your Mac

First make sure a short question receives a complete answer. Then compare ordinary generation against MTP draft depths on your Mac. If another server already has the same model loaded, stop it first to reduce memory contention. The app's auto-tuning or the command below helps you avoid copying a result from someone else's Mac.

Try the selected depth on your usual work as well. A short question may run well while repeated long code edits hit thermal or memory limits. Do not mix results from high-fan modes with those from quiet defaults. Keeping ordinary generation is a valid choice when MTP does not win in your conditions.

Compare MTP depths again for the current model

mtplx tune --retune

Run after selecting a model. Keep the model, context and fan mode with the tuning result, then check completion time and answer quality on your usual questions.

Once chat works, connect your editor

MTPLX provides OpenAI-style and Anthropic-style APIs. Keep the address on 127.0.0.1 when connecting local clients first. The checks below tell you whether the server responds and which model names it exposes. Enter that model ID and the base-address format expected by your client in its settings.

Seeing a model list does not finish the integration. In the app you plan to use, check a short conversation, the separation of reasoning and answer text, and any required tool calls. If an editor cannot connect, compare the address, port and model name before downloading the model again.

Check the running local server

curl --fail http://127.0.0.1:8000/health
curl --fail http://127.0.0.1:8000/v1/models

This example assumes you started a server through mtplx start. Change the address if you changed its port. These responses are not model speed measurements.

When output stops early, or only the first answer is slow

If memory is short, do not respond by increasing MTP depth. Reduce context and concurrent requests, then check other apps' memory use and the selected file size. Run mtplx doctor if you suspect an environment problem. Keeping a previously working model and configuration gives you somewhere to return while investigating.

If only the second request with the same document is faster, look at cache reuse first. MTPLX's session cache reuses conversation state; it is not the same feature as offloading a model's n-gram table to SSD. Record cached conversations and first-time document reads separately so you do not overstate the effect of changing engines.

Stored conversation state also needs managing. Do not put private prompts, local file paths or authentication details in public logs. If an upgrade causes trouble, record the version and error, then return to the previous working combination rather than enabling several more settings at once.

What if oMLX already works well for you?

If oMLX or LM Studio already gives you convenient model management and adequate response speed, you can keep using it. Add MTPLX to your shortlist when you want to test whether a supported MTP model can reduce the wait on the same work. Separate gains from changing the engine from gains obtained by lowering quantization precision.

The hardware-specific recipe shows the execution path currently documented for that combination. Its estimate must not be read as a measurement made with MTPLX. The commands here explain setup and checks; the run you record on your own Mac is the basis for your decision.

Change log

These entries record changes to the site's guidance. They do not automatically check your installed engine or model version.

  1. Added MTPLX installation, tuning and API guidance

    Added a sequence from Homebrew installation and model selection through MTP-depth retuning and local API checks. It explains that MTP weights must match the main model and that existing recipe estimates are not measurements taken in MTPLX.