Which local LLMs can the Apple M4 Max (40-core GPU; MacBook Pro, Mac Studio) run?
Assumes 8k context and an f16 KV cache. Verdicts are shown for each memory size.
Specs
- Memory options
- 48 GB · 64 GB · 128 GB
- Memory bandwidth
- 546.0 GB/s
- FP16 compute
- 16.2 TFLOPS
- Launch year
- 2024
- Macs with this chip
- MacBook Pro: 48 GB · 64 GB · 128 GB
- Mac Studio: 48 GB · 64 GB · 128 GB
- Also written as
- M4 Max, M4 Max 40
Verdicts at a glance
At Q4_K_M (or the closest available quant) with 8k context.
- 48 GBRuns great38 modelsRuns well11 modelsRuns slowly0 modelsWon't run10 models4 more models run at a lower quant.
- 64 GBRuns great38 modelsRuns well11 modelsRuns slowly2 modelsWon't run8 models2 more models run at a lower quant.
- 128 GBRuns great44 modelsRuns well12 modelsRuns slowly0 modelsWon't run3 models2 more models run at a lower quant.
How to read the verdicts
- Runs great
- Fully on the GPU at 20 tok/s or more
- Runs well
- Fully on the GPU at 8–20 tok/s; MoE experts in system RAM at 20 tok/s or more; or at least 90% on the GPU at 8 tok/s or more
- Runs slowly
- 2–8 tok/s; CPU-only; less than 90% on the GPU; or MoE experts in system RAM below 20 tok/s
- Won't run
- Does not fit, or under 2 tok/s
Every model on the Apple M4 Max (40-core GPU)
Scroll sideways to see every column.
| Model | Verdict | Speed | Quant | Memory | Runs as | Context | Notes |
|---|---|---|---|---|---|---|---|
| MiniCPM5 1B | Runs great | est. 465.6 tok/s372.4–558.7calibrated estimate ±20% | Q4_K_M | 1.5 / 89.6 GB | Unified memory | up to 128k |
|
| Llama 3.2 1B | Runs great | est. 384.8 tok/s307.8–461.7calibrated estimate ±20% | Q4_K_M | 1.7 / 89.6 GB | Unified memory | up to 128k | — |
| EXAONE 4.0 1.2B | Runs great | est. 316.0 tok/s252.8–379.2calibrated estimate ±20% | Q4_K_M | 1.9 / 89.6 GB | Unified memory | up to 64k |
|
| Ling-3.0 Tiny | Runs great | est. 266.6 tok/s186.6–346.5theoretical estimate ±30% | Q4_K_M | 5.5 / 89.6 GB | Unified memory | up to 128k |
|
| LFM2.5 2.6B | Runs great | est. 230.0 tok/s161.0–299.0theoretical estimate ±30% | Q4_K_M | 2.4 / 89.6 GB | Unified memory | up to 128k |
|
| HyperCLOVA X SEED 1.5B | Runs great | est. 228.6 tok/s182.9–274.3calibrated estimate ±20% | Q4_K_M | 2.4 / 89.6 GB | Unified memory | up to 16k | — |
| MiniCPM5 2B | Runs great | est. 217.0 tok/s173.6–260.4calibrated estimate ±20% | Q4_K_M | 2.5 / 89.6 GB | Unified memory | up to 128k |
|
| Gemma 4 E2B | Runs great | est. 182.3 tok/s127.6–237.0theoretical estimate ±30% | Q4_K_M | 3.7 / 89.6 GB | Unified memory | up to 128k |
|
| Mellum2.1 12B-A2.5B Thinking | Runs great | est. 166.4 tok/s133.1–199.7calibrated estimate ±20% | Q4_K_M | 8.8 / 89.6 GB | Unified memory | up to 128k |
|
| Spark-X2.5 4B | Runs great | est. 143.0 tok/s114.4–171.6calibrated estimate ±20% | Q4_K_M | 3.5 / 89.6 GB | Unified memory | up to 256k |
|
| Llama 3.2 3B | Runs great | est. 140.2 tok/s112.2–168.3calibrated estimate ±20% | Q4_K_M | 3.5 / 89.6 GB | Unified memory | up to 128k | — |
| Qwen3.5 4B | Runs great | est. 133.9 tok/s107.1–160.7calibrated estimate ±20% | Q4_K_M | 3.7 / 89.6 GB | Unified memory | up to 256k |
|
| gpt-oss-20b | Runs great | est. 131.1 tok/s104.9–157.4calibrated estimate ±20% | MXFP4 | 12.9 / 89.6 GB | Unified memory | up to 128k |
|
| Nemotron 3.5 Lightning 30B-A3B | Runs great | est. 124.5 tok/s87.2–161.9theoretical estimate ±30% | Q4_K_M | 26.1 / 89.6 GB | Unified memory | up to 256k |
|
| MiniCPM-V 4.7 35B-A3B | Runs great | est. 120.3 tok/s96.3–144.4calibrated estimate ±20% | Q4_K_M | 21.9 / 89.6 GB | Unified memory | up to 256k |
|
| Qwen3.6 35B-A3B | Runs great | est. 113.1 tok/s90.5–135.7calibrated estimate ±20% | Q4_K_M | 23.0 / 89.6 GB | Unified memory | up to 256k |
|
| Gemma 4 E4B | Runs great | est. 106.4 tok/s74.5–138.3theoretical estimate ±30% | Q4_K_M | 5.7 / 89.6 GB | Unified memory | up to 128k |
|
| Kanana 1.5 15.7B-A3B | Runs great | est. 105.3 tok/s84.2–126.3calibrated estimate ±20% | Q4_K_M | 12.1 / 89.6 GB | Unified memory | up to 32k | — |
| Qwen3.5 35B-A3B | Runs great | est. 101.5 tok/s81.2–121.8calibrated estimate ±20% | Q4_K_M | 23.4 / 89.6 GB | Unified memory | up to 256k |
|
| Qwen3 30B-A3B (2507) | Runs great | est. 96.9 tok/s77.5–116.2calibrated estimate ±20% | Q4_K_M | 19.9 / 89.6 GB | Unified memory | up to 128k | — |
| gpt-oss-120b | Runs great | est. 92.5 tok/s74.0–111.0calibrated estimate ±20% | MXFP4 | 64.3 / 89.6 GB | Unified memory | up to 128k |
|
| Gemma 4 26B-A4B | Runs great | est. 89.8 tok/s71.8–107.8calibrated estimate ±20% | Q4_K_M | 17.7 / 89.6 GB | Unified memory | up to 256k |
|
| Ling-3.0 Flash | Runs great | est. 88.6 tok/s62.0–115.2theoretical estimate ±30% | Q4_K_M | 77.7 / 89.6 GB | Unified memory | up to 256k |
|
| Kolibri 1 | Runs great | est. 88.5 tok/s70.8–106.2calibrated estimate ±20% | Q4_K_M | 50.5 / 89.6 GB | Unified memory | up to 256k |
|
| DeepSeek R1 Distill Llama 8B | Runs great | est. 69.2 tok/s55.4–83.1calibrated estimate ±20% | Q4_K_M | 6.6 / 89.6 GB | Unified memory | up to 64k |
|
| Kanana 1.5 8B | Runs great | est. 69.2 tok/s55.4–83.1calibrated estimate ±20% | Q4_K_M | 6.6 / 89.6 GB | Unified memory | up to 32k | — |
| Llama 3.1 8B | Runs great | est. 69.2 tok/s55.4–83.1calibrated estimate ±20% | Q4_K_M | 6.6 / 89.6 GB | Unified memory | up to 64k | — |
| Nanbeige4.2 3B | Runs great | est. 67.7 tok/s47.4–88.1theoretical estimate ±30% | Q4_K_M | 4.7 / 89.6 GB | Unified memory | up to 32k |
|
| Qwen3.5 9B | Runs great | est. 67.6 tok/s54.1–81.1calibrated estimate ±20% | Q4_K_M | 6.7 / 89.6 GB | Unified memory | up to 128k |
|
| DeepSeek R1 0528 Qwen3 8B | Runs great | est. 66.5 tok/s53.2–79.8calibrated estimate ±20% | Q4_K_M | 6.8 / 89.6 GB | Unified memory | up to 32k |
|
| Qwen3 8B | Runs great | est. 66.5 tok/s53.2–79.8calibrated estimate ±20% | Q4_K_M | 6.8 / 89.6 GB | Unified memory | up to 32k |
|
| K2-Horizon MoVA 36B-A4B | Runs great | est. 65.1 tok/s45.6–84.7theoretical estimate ±30% | Q4_K_M | 24.6 / 89.6 GB | Unified memory | up to 32k |
|
| K2-Horizon 7B | Runs great | est. 61.0 tok/s48.8–73.3calibrated estimate ±20% | Q4_K_M | 7.4 / 89.6 GB | Unified memory | up to 32k |
|
| Gemma 4 12B | Runs great | est. 57.2 tok/s45.8–68.6calibrated estimate ±20% | Q4_K_M | 7.8 / 89.6 GB | Unified memory | up to 256k |
|
| Gemma 3 12B | Runs great | est. 52.9 tok/s42.4–63.5calibrated estimate ±20% | Q4_K_M | 8.4 / 89.6 GB | Unified memory | up to 128k | — |
| Laguna S 2.1 | Runs great | est. 49.1 tok/s39.2–58.9calibrated estimate ±20% | Q4_K_M | 68.6 / 89.6 GB | Unified memory | up to 64k |
|
| Qwen3.5 122B-A10B | Runs great | est. 43.0 tok/s34.4–51.6calibrated estimate ±20% | Q4_K_M | 79.0 / 89.6 GB | Unified memory | up to 128k |
|
| Solar Open 100B | Runs great | est. 41.0 tok/s32.8–49.3calibrated estimate ±20% | Q4_K_M | 64.4 / 89.6 GB | Unified memory | up to 16k |
|
| HyperCLOVA X SEED Think 14B | Runs great | est. 40.7 tok/s28.5–52.9theoretical estimate ±30% | Q4_K_M | 10.8 / 89.6 GB | Unified memory | up to 16k |
|
| Qwen3 14B | Runs great | est. 40.1 tok/s32.1–48.1calibrated estimate ±20% | Q4_K_M | 10.9 / 89.6 GB | Unified memory | up to 16k |
|
| DeepSeek R1 Distill Qwen 14B | Runs great | est. 39.1 tok/s31.3–47.0calibrated estimate ±20% | Q4_K_M | 11.2 / 89.6 GB | Unified memory | up to 16k |
|
| Phi-4 | Runs great | est. 38.7 tok/s30.9–46.4calibrated estimate ±20% | Q4_K_M | 11.3 / 89.6 GB | Unified memory | up to 16k | — |
| Mistral Small 3.2 24B | Runs great | est. 26.5 tok/s21.2–31.8calibrated estimate ±20% | Q4_K_M | 16.2 / 89.6 GB | Unified memory | up to 32k | — |
| Gemma 3 27B | Runs great | est. 24.1 tok/s19.3–28.9calibrated estimate ±20% | Q4_K_M | 17.8 / 89.6 GB | Unified memory | up to 32k | — |
| Qwen3.6 27B | Runs well | est. 23.9 tok/s19.1–28.7calibrated estimate ±20% | Q4_K_M | 17.9 / 89.6 GB | Unified memory | up to 256k |
|
| Muse Glimmer 30B | Runs well | est. 23.8 tok/s19.1–28.6calibrated estimate ±20% | Q4_K_M | 18.0 / 89.6 GB | Unified memory | up to 128k |
|
| Qwen3.5 27B | Runs well | est. 23.5 tok/s18.8–28.2calibrated estimate ±20% | Q4_K_M | 18.2 / 89.6 GB | Unified memory | up to 256k |
|
| Qwen3.8 27B | Runs well | est. 23.1 tok/s18.5–27.7calibrated estimate ±20% | Q4_K_M | 18.6 / 89.6 GB | Unified memory | up to 128k |
|
| Gemma 4 31B | Runs well | est. 21.9 tok/s17.5–26.2calibrated estimate ±20% | Q4_K_M | 19.6 / 89.6 GB | Unified memory | up to 128k |
|
| Granite 4.2 30B | Runs well | est. 20.9 tok/s16.7–25.1calibrated estimate ±20% | Q4_K_M | 20.4 / 89.6 GB | Unified memory | up to 32k |
|
| EXAONE 4.0 32B | Runs well | est. 20.9 tok/s16.7–25.1calibrated estimate ±20% | Q4_K_M | 20.5 / 89.6 GB | Unified memory | up to 128k |
|
| EXAONE 4.5 33B | Runs well | est. 20.2 tok/s16.1–24.2calibrated estimate ±20% | Q4_K_M | 21.2 / 89.6 GB | Unified memory | up to 128k |
|
| Qwen3 32B | Runs well | est. 18.9 tok/s15.2–22.7calibrated estimate ±20% | Q4_K_M | 22.5 / 89.6 GB | Unified memory | up to 32k |
|
| DeepSeek R1 Distill Qwen 32B | Runs well | est. 18.9 tok/s15.1–22.6calibrated estimate ±20% | Q4_K_M | 22.6 / 89.6 GB | Unified memory | up to 32k |
|
| Nanbeige4.3 33B | Runs well | est. 18.4 tok/s14.7–22.1calibrated estimate ±20% | Q4_K_M | 23.1 / 89.6 GB | Unified memory | up to 32k |
|
| Llama 3.3 70B | Runs well | est. 9.2 tok/s7.3–11.0calibrated estimate ±20% | Q4_K_M | 45.8 / 89.6 GB | Unified memory | up to 16k | — |
| DeepSeek V4 Flash 0731 | Won't runTry Q2_K (heavy quality loss): Runs slowly | est. 38.4 tok/s26.9–49.9theoretical estimate ±30% | Q2_K | 117.4 GB RAM | CPU only | up to 256k |
|
| Solar Open 2 250B | Won't runTry Q2_K (heavy quality loss): Runs slowly | est. 38.4 tok/s26.8–49.9theoretical estimate ±30% | Q2_K | 95.8 GB RAM | CPU only | up to 256k |
|
| GLM-5.3 Flash | Won't run | — | Q4_K_M | needs 182.1 GB | — | — |
|
Models with a thinking mode spend extra tokens thinking, so their speed thresholds are 1.5× stricter (30 / 12 / 3 tok/s). With thinking turned off, a model may do one grade better.
Verdict by memory size
| Model | 48 GB | 64 GB | 128 GB |
|---|---|---|---|
| MiniCPM5 1B | Runs great | Runs great | Runs great |
| Llama 3.2 1B | Runs great | Runs great | Runs great |
| EXAONE 4.0 1.2B | Runs great | Runs great | Runs great |
| Ling-3.0 Tiny | Runs great | Runs great | Runs great |
| LFM2.5 2.6B | Runs great | Runs great | Runs great |
| HyperCLOVA X SEED 1.5B | Runs great | Runs great | Runs great |
| MiniCPM5 2B | Runs great | Runs great | Runs great |
| Gemma 4 E2B | Runs great | Runs great | Runs great |
| Mellum2.1 12B-A2.5B Thinking | Runs great | Runs great | Runs great |
| Spark-X2.5 4B | Runs great | Runs great | Runs great |
| Llama 3.2 3B | Runs great | Runs great | Runs great |
| Qwen3.5 4B | Runs great | Runs great | Runs great |
| gpt-oss-20b | Runs great | Runs great | Runs great |
| Nemotron 3.5 Lightning 30B-A3B | Runs great | Runs great | Runs great |
| MiniCPM-V 4.7 35B-A3B | Runs great | Runs great | Runs great |
| Qwen3.6 35B-A3B | Runs great | Runs great | Runs great |
| Gemma 4 E4B | Runs great | Runs great | Runs great |
| Kanana 1.5 15.7B-A3B | Runs great | Runs great | Runs great |
| Qwen3.5 35B-A3B | Runs great | Runs great | Runs great |
| Qwen3 30B-A3B (2507) | Runs great | Runs great | Runs great |
| gpt-oss-120b | Won't run | Won't run | Runs great |
| Gemma 4 26B-A4B | Runs great | Runs great | Runs great |
| Ling-3.0 Flash | Won't run | Won't run | Runs great |
| Kolibri 1 | Won't run | Runs slowly | Runs great |
| DeepSeek R1 Distill Llama 8B | Runs great | Runs great | Runs great |
| Kanana 1.5 8B | Runs great | Runs great | Runs great |
| Llama 3.1 8B | Runs great | Runs great | Runs great |
| Nanbeige4.2 3B | Runs great | Runs great | Runs great |
| Qwen3.5 9B | Runs great | Runs great | Runs great |
| DeepSeek R1 0528 Qwen3 8B | Runs great | Runs great | Runs great |
| Qwen3 8B | Runs great | Runs great | Runs great |
| K2-Horizon MoVA 36B-A4B | Runs great | Runs great | Runs great |
| K2-Horizon 7B | Runs great | Runs great | Runs great |
| Gemma 4 12B | Runs great | Runs great | Runs great |
| Gemma 3 12B | Runs great | Runs great | Runs great |
| Laguna S 2.1 | Won't run | Won't run | Runs great |
| Qwen3.5 122B-A10B | Won't run | Won't run | Runs great |
| Solar Open 100B | Won't run | Won't run | Runs great |
| HyperCLOVA X SEED Think 14B | Runs great | Runs great | Runs great |
| Qwen3 14B | Runs great | Runs great | Runs great |
| DeepSeek R1 Distill Qwen 14B | Runs great | Runs great | Runs great |
| Phi-4 | Runs great | Runs great | Runs great |
| Mistral Small 3.2 24B | Runs great | Runs great | Runs great |
| Gemma 3 27B | Runs great | Runs great | Runs great |
| Qwen3.6 27B | Runs well | Runs well | Runs well |
| Muse Glimmer 30B | Runs well | Runs well | Runs well |
| Qwen3.5 27B | Runs well | Runs well | Runs well |
| Qwen3.8 27B | Runs well | Runs well | Runs well |
| Gemma 4 31B | Runs well | Runs well | Runs well |
| Granite 4.2 30B | Runs well | Runs well | Runs well |
| EXAONE 4.0 32B | Runs well | Runs well | Runs well |
| EXAONE 4.5 33B | Runs well | Runs well | Runs well |
| Qwen3 32B | Runs well | Runs well | Runs well |
| DeepSeek R1 Distill Qwen 32B | Runs well | Runs well | Runs well |
| Nanbeige4.3 33B | Runs well | Runs well | Runs well |
| Llama 3.3 70B | Won't run | Runs slowly | Runs well |
| DeepSeek V4 Flash 0731 | Won't run | Won't run | Won't run |
| Solar Open 2 250B | Won't run | Won't run | Won't run |
| GLM-5.3 Flash | Won't run | Won't run | Won't run |
Measured results on the Apple M4 Max (40-core GPU)
Public benchmarks we calibrate against. Their conditions (context, backend, flags) can differ from the estimates above.
| Model | Quant | Backend | Context | Prompt (tok/s) | Generation (tok/s) | Flags | Source | Measured |
|---|---|---|---|---|---|---|---|---|
| llama-2-7b | Q4_0 | llama.cpp | 512 | 886.0 | 83.1 | Metal, b1550 (2023) | github.com | 2024-11-13 |
Frequently asked questions
What is the largest model that runs entirely on the Apple M4 Max (40-core GPU)?
Ling-3.0 Flash at Q4_K_M (a 77.01 GB file) fits entirely in 128 GB of unified memory with 8k context, at est. 88.6 tok/s (62.0–115.2, theoretical estimate ±30%).
How many local LLMs run well on the Apple M4 Max (40-core GPU)?
At Q4_K_M with 8k context, with 128 GB of memory, out of 59 tracked models: 44 run great, 12 run well, 0 run slowly and 3 won't run.
Can the Apple M4 Max (40-core GPU) run a 70B model like Llama 3.3 70B?
Runs well — Unified memory, Q4_K_M: est. 9.2 tok/s (7.3–11.0, calibrated estimate ±20%).
Speeds are estimates from memory bandwidth, calibrated against public benchmarks, and each one comes with an error band and a confidence label. Real results vary with drivers, backend, context length and thermals.