Skip to content
inference.academy

at-home/run-on/m4max-128

What can I run on a MacBook Pro M4 Max with 128 GB?

Of its 128 GB, about 100 GB is left for a model's weights and cache, because macOS caps how much memory the GPU may pin and the engine needs some for itself. The largest model below that runs with room for a 8K conversation is Llama 3.3 70B at Q8_0, decoding at up to 6 tokens a second.


ModelBest fitDownloadLongest contextDecode, up to
Llama 3.2 3BQ8_03.4 GB823K tokens128 tok/s
Qwen3.5 4BQ8_04.3 GB2.9M tokens103 tok/s
Llama 3.1 8BQ8_08.5 GB682K tokens51 tok/s
Qwen3 8BQ8_08.7 GB605K tokens50 tok/s
Qwen3.5 9BQ8_09.6 GB2.8M tokens46 tok/s
Qwen3 14BQ8_015.7 GB503K tokens28 tok/s
gpt-oss 20BMXFP4, as shipped12.8 GB3.6M tokens34 tok/s
Qwen3 32BQ8_034.9 GB243K tokens13 tok/s
Llama 3.3 70BQ8_074.4 GB77K tokens6 tok/s

Best fit is the highest-quality quantisation that still leaves room for a 8K context. It stops at Q8 rather than FP16, because Q8 is indistinguishable from FP16 in practice and reads half the bytes, so it decodes about twice as fast on a machine like this.

Decode is a ceiling: 80% of this machine’s 546 GB/s divided by the bytes a token reads, at the start of a conversation. On a measured 16 GB MacBook Air that arithmetic predicted 35.6 tokens a second and MLX delivered 31.4; llama.cpp delivered 17 on the same model. Expect your engine to land at or below it.

Longest context assumes an unquantised KV cache. Quantising the cache to Q8 roughly doubles it. Reading a long prompt also needs working memory the table does not count, so leave a margin.


Read next