Unified memory · Apple
What AI models can an Apple M4 Max 128GB run?
128 GB is server territory. The constraint stops being memory and becomes bandwidth: everything fits, and what varies is how long you wait for it. Memory is shared with the CPU, so the practical ceiling is lower than the sticker number: macOS hands roughly three quarters of it to the GPU by default.
The configuration that runs the biggest mixture-of-experts models whole. 128 GB at 546 GB/s fits gpt-oss-120b and answers at an interactive speed, in a laptop or a Studio, drawing a fraction of the power of a desktop with two GPUs.
The short answer
Assuming an 8k context window and default settings, these are the models worth downloading first.
See how fast it feels
Apple M4 Max 128GB running GPT OSS 120B at MXFP4
YouWhy does my model use more memory when the conversation gets longer?
Reading your question
Simulated from our estimate at a 512-token question, not a recording. Assumes nothing else is competing for the GPU.
Where it sits
The GPU can use about 96 GB of this machine's 128 GB by default, so for planning it behaves like a 48 GB card with different bandwidth. The 48 GB guide explains what that tier runs and where it runs out, and the bandwidth guide explains why 546 GB/s decides how fast it answers.
Our indicative price for this machine is $4,699 new, reviewed 2026-09-01. That is 2.7 GB of memory and 12 GB/s of bandwidth for every $100. Prices move, so treat these as a place to start a search and not a quote.
Devices in a similar price band, fastest memory first:
| Device | Price | Memory | Bandwidth | Best all-round pick |
|---|---|---|---|---|
| Apple M3 Ultra 96GB | $3,999 | 96 GB | 819 GB/s | GPT OSS 120B, 102.5 t/s |
| Apple M3 Ultra 256GB | $5,599 | 256 GB | 819 GB/s | Qwen3.5 122B A10B, 38.6 t/s |
| Apple M2 Ultra 128GB | $4,799 | 128 GB | 800 GB/s | GPT OSS 120B, 100.1 t/s |
| Apple M4 Max 48GB | $3,699 | 48 GB | 546 GB/s | Qwen3.5 27B, 13.8 t/s |
Can an Apple M4 Max 128GB run it?
A direct answer for the models people ask about most, each with the settings we would use.
Every model, scored on this device
Each row uses the highest-quality quantization that both fits and stays conversational. Speed is a single-stream estimate at 8k context.
| Model | Params | Verdict | Download | Memory used | Speed | Max context |
|---|---|---|---|---|---|---|
| GPT OSS 120B GPT-OSS | 116.83B (5.7B active) | Runs great | MXFP4 | 59.65 GB | 68.3 t/s | 128k |
| Qwen3 Coder Next Qwen | 79.67B (3.19B active) | Runs great | Q8_0 | 79.4 GB | 63.3 t/s | 256k |
| Qwen3 Next 80B A3B Instruct Qwen | 81.32B (3.19B active) | Runs great | Q8_0 | 81.04 GB | 63.2 t/s | 256k |
| Qwen3.5 27B Qwen | 27.78B | Runs well | Q8_0 | 28.54 GB | 13.8 t/s | 256k |
| Qwen3.5 35B A3B Qwen | 35.95B (2.9B active) | Runs great | Q8_0 | 36.1 GB | 70.7 t/s | 256k |
| Gemma 4 26B A4B Instruct Gemma | 25.81B (3.74B active) | Runs great | Q8_0 | 26.69 GB | 47.6 t/s | 256k |
| Gemma 4 31B Instruct Gemma | 31.27B | Runs well | Q8_0 | 34.64 GB | 10.8 t/s | 128k |
| GLM 4.7 Flash GLM | 31.22B (3.66B active) | Runs great | Q8_0 | 31.61 GB | 53.9 t/s | 128k |
| Qwen3 32B Qwen | 32.76B | Runs well | Q8_0 | 34.83 GB | 11 t/s | 32k |
| Qwen3 30B A3B Qwen | 30.53B (3.34B active) | Runs great | Q8_0 | 31.27 GB | 53.5 t/s | 32k |
| Phi 3.5 MoE Instruct Phi | 41.87B (6.64B active) | Runs great | Q8_0 | 42.81 GB | 28.5 t/s | 128k |
| Gemma 4 12B Instruct Gemma | 11.96B | Runs great | Q8_0 | 13.52 GB | 28.2 t/s | 256k |
| Granite 4.1 30B Granite | 28.87B | Runs well | Q8_0 | 30.94 GB | 12.1 t/s | 128k |
| Qwen3 14B Qwen | 14.77B | Runs well | Q8_0 | 16.28 GB | 24.6 t/s | 32k |
| GPT OSS 20B GPT-OSS | 20.91B (4.18B active) | Runs great | MXFP4 | 11.81 GB | 90.2 t/s | 128k |
| Qwen3 Coder 30B A3B Instruct Qwen | 30.53B (3.34B active) | Runs great | Q8_0 | 31.27 GB | 53.5 t/s | 32k |
| Mixtral 8x7B Instruct V0.1 Mistral | 46.7B (12.88B active) | Runs well | Q8_0 | 47.59 GB | 15.7 t/s | 32k |
| Qwen2.5 14B Instruct Qwen | 14.77B | Runs well | Q8_0 | 16.53 GB | 24.2 t/s | 32k |
| Qwen2.5 Coder 14B Instruct Qwen | 14.77B | Runs well | Q8_0 | 16.53 GB | 24.2 t/s | 32k |
| Qwen2.5 32B Instruct Qwen | 32.76B | Runs well | Q8_0 | 34.83 GB | 11 t/s | 32k |
| Gemma 3 27B Instruct Gemma | 27.43B | Runs well | Q8_0 | 28.65 GB | 13.1 t/s | 128k |
| Qwen3.5 9B Qwen | 9.65B | Runs great | Q8_0 | 10.22 GB | 42 t/s | 256k |
| Qwen2.5 Coder 32B Instruct Qwen | 32.76B | Runs well | Q8_0 | 34.83 GB | 11 t/s | 32k |
| Phi 4 Phi | 14.66B | Runs well | Q8_0 | 16.48 GB | 23.9 t/s | 16k |
| Mistral Small 24B Instruct 2501 Mistral | 23.57B | Runs well | Q8_0 | 24.98 GB | 15.5 t/s | 32k |
| Llama 3.3 70B Instruct Llama | 70.55B | Runs well | IQ4_XS | 37.92 GB | 10.1 t/s | 128k |
| Gemma 3 12B Instruct Gemma | 12.19B | Runs great | Q8_0 | 13.24 GB | 28.8 t/s | 128k |
| Codestral 22B V0.1 Mistral | 22.25B | Runs well | Q8_0 | 24.21 GB | 15.8 t/s | 32k |
| Gemma 4 E4B Instruct Gemma | 8B | Runs great | Q8_0 | 8.39 GB | 46.1 t/s | 128k |
| Granite 4.1 8B Granite | 8.79B | Runs great | Q8_0 | 10.32 GB | 37.3 t/s | 128k |
Show the other 56 models
| Qwen3 8B | 8.19B | Runs great | Q8_0 | 9.61 GB | 43.1 t/s | 32k |
| Mistral Nemo Instruct 2407 | 12.25B | Runs great | Q8_0 | 13.78 GB | 29.2 t/s | 128k |
| Qwen2.5 VL 7B Instruct | 8.29B | Runs great | Q8_0 | 9 GB | 45.8 t/s | 64k |
| Qwen2.5 72B Instruct | 72.71B | Runs well | Q3_K_M | 36.11 GB | 10.6 t/s | 32k |
| Qwen2.5 VL 72B Instruct | 73.41B | Runs well | Q3_K_M | 36.43 GB | 10.5 t/s | 64k |
| Qwen2.5 7B Instruct | 7.62B | Runs great | Q8_0 | 8.34 GB | 49.9 t/s | 32k |
| Llama 3.1 8B Instruct | 8.03B | Runs great | Q8_0 | 9.32 GB | 44.1 t/s | 128k |
| DeepSeek Coder V2 Lite Instruct | 15.71B | Runs great | Q8_0 | 16.09 GB | 73.9 t/s | 128k |
| Gemma 2 9B Instruct | 9.24B | Runs great | Q8_0 | 11.47 GB | 33.4 t/s | 8k |
| Llama 3 3 Nemotron Super 49B V1 | 49.87B | Fits, but slow | Q8_0 | 69.86 GB | 5.4 t/s | 16k |
| Qwen2.5 Coder 7B Instruct | 7.62B | Runs great | Q8_0 | 8.34 GB | 49.9 t/s | 32k |
| OLMo 3 7B Instruct | 7.3B | Runs great | Q8_0 | 10.1 GB | 39.8 t/s | 64k |
| Internlm3 8B Instruct | 8.8B | Runs great | Q8_0 | 9.46 GB | 43.4 t/s | 32k |
| Mistral 7B Instruct V0.3 | 7.25B | Runs great | Q8_0 | 8.55 GB | 46.2 t/s | 32k |
| Gemma 4 E2B Instruct | 5.12B | Runs great | Q8_0 | 5.41 GB | 72.5 t/s | 128k |
| Qwen3.5 4B | 4.66B | Runs great | Q8_0 | 5.24 GB | 75.6 t/s | 256k |
| Mistral 7B Instruct V0.2 | 7.24B | Runs great | Q8_0 | 8.54 GB | 46.2 t/s | 32k |
| DeepSeek Coder 7B Instruct V1.5 | 6.91B | Runs great | Q8_0 | 10.96 GB | 36.5 t/s | 4k |
| GLM 4.5 | 358.34B | Fits only at 2 to 3 bits | IQ2_XXS | 89.22 GB | 19.7 t/s | 16k |
| DeepSeek Coder 6.7B Instruct | 6.74B | Runs great | Q8_0 | 11.04 GB | 35.2 t/s | 16k |
| LFM2.5 8B A1B | 8.47B | Runs great | Q8_0 | 8.78 GB | 130.7 t/s | 64k |
| Qwen3 4B | 4.02B | Runs great | Q8_0 | 5.43 GB | 72.7 t/s | 32k |
| Gemma 3 4B Instruct | 4.3B | Runs great | Q8_0 | 4.88 GB | 81.6 t/s | 128k |
| Phi 4 Mini Instruct | 3.84B | Runs great | Q8_0 | 5.14 GB | 77.3 t/s | 128k |
| Granite 4.1 3B | 3.4B | Runs great | Q8_0 | 4.31 GB | 93 t/s | 128k |
| Qwen2.5 3B Instruct | 3.09B | Runs great | Q8_0 | 3.65 GB | 111.2 t/s | 32k |
| Phi 3 Mini 4k Instruct | 3.82B | Runs great | Q8_0 | 4.87 GB | 83.8 t/s | 4k |
| Llama 3.2 3B Instruct | 3.21B | Runs great | Q8_0 | 4.39 GB | 91.6 t/s | 128k |
| LFM2.5 2.6B | 2.7B | Runs great | Q8_0 | 3.11 GB | 132.7 t/s | 128k |
| Qwen3.5 2B | 2.27B | Runs great | Q8_0 | 2.67 GB | 157.4 t/s | 256k |
| Gemma 2 2B Instruct | 2.61B | Runs great | Q8_0 | 3.51 GB | 116.3 t/s | 8k |
| Starcoder2 3B | 3.03B | Runs great | Q8_0 | 3.46 GB | 125.2 t/s | 16k |
| Qwen3 1.7B | 2.03B | Runs great | Q8_0 | 3.19 GB | 128.7 t/s | 32k |
| DeepSeek R1 Distill Qwen 1.5B | 1.78B | Runs great | Q8_0 | 2.27 GB | 212.2 t/s | 128k |
| Qwen2.5 1.5B Instruct | 1.54B | Runs great | Q8_0 | 2.03 GB | 213 t/s | 32k |
| SmolLM2 1.7B | 1.71B | Runs great | Q8_0 | 3.5 GB | 116.3 t/s | 8k |
| OLMo 2 0425 1B | 1.48B | Runs great | Q8_0 | 2.77 GB | 164.2 t/s | 4k |
| Llama 3.2 1B Instruct | 1.24B | Runs great | Q8_0 | 1.79 GB | 251.3 t/s | 128k |
| LFM2.5 1.2B Instruct | 1.17B | Runs great | Q8_0 | 1.56 GB | 331.8 t/s | 64k |
| Gemma 3 1B Instruct | 1B | Runs great | Q8_0 | 1.32 GB | 357.3 t/s | 32k |
| Qwen3.5 0.8B | 0.87B | Runs great | Q8_0 | 1.25 GB | 381.6 t/s | 256k |
| Qwen3 0.6B | 0.75B | Runs great | Q8_0 | 1.89 GB | 229.5 t/s | 32k |
| Qwen2.5 0.5B Instruct | 0.49B | Runs great | Q8_0 | 0.85 GB | 641.5 t/s | 32k |
| LFM2.5 350M | 0.35B | Runs great | Q8_0 | 0.71 GB | 993.4 t/s | 64k |
| Qwen3.5 122B A10B | 125.09B | Just fits | n/a | 96.2 GB | 33 t/s | n/a |
| MiniMax M3 | 427.04B | Fits only at 2 to 3 bits | n/a | 103.79 GB | 30.2 t/s | n/a |
| MiniMax M2.5 | 228.7B | Just fits | n/a | 115.43 GB | 29.3 t/s | n/a |
| MiniMax M2.7 | 228.69B | Just fits | n/a | 115.43 GB | 29.3 t/s | n/a |
| Qwen3 235B A22B | 235.09B | Just fits | n/a | 108.85 GB | 18.7 t/s | n/a |
| GLM 4.5 Air | 110.47B | Just fits | n/a | 111.13 GB | 14.7 t/s | n/a |
| Kimi K2.6 | 1026.88B | Will not run | n/a | 578.41 GB | n/a | n/a |
| Kimi K2 Instruct | 1026.41B | Will not run | n/a | 578.15 GB | n/a | n/a |
| GLM 5.1 | 753.86B | Will not run | n/a | 425.01 GB | n/a | n/a |
| GLM 5.2 | 753.33B | Will not run | n/a | 424.72 GB | n/a | n/a |
| DeepSeek V3.2 | 685.4B | Will not run | n/a | 386.4 GB | n/a | n/a |
| DeepSeek R1 | 684.53B | Will not run | n/a | 385.92 GB | n/a | n/a |
What it will not run
12 of the 86 architectures we track are out of reach here, even at 2-bit precision.
Other devices with 128 GB
Same capacity, different speed. Once a model fits, bandwidth is what separates these.
Questions people ask about an Apple M4 Max 128GB
How much VRAM does an Apple M4 Max 128GB have?
The Apple M4 Max 128GB has 128 GB of unified memory shared with the CPU, of which roughly 96 GB is available to a model once the operating system takes its share.
Can an Apple M4 Max 128GB run a 70B model?
Yes. At Q8_0 a 70B model fits in 79.4 GB and generates around 63.3 tokens per second.
What is the best local model for an Apple M4 Max 128GB?
GPT OSS 120B at MXFP4 is the strongest all-round fit: 59.65 GB used, around 68.3 tokens per second at 8k context.