Which local LLMs can the Apple M4 Pro (Mac mini, MacBook Pro) run?
Assumes 8k context and an f16 KV cache. Verdicts are shown for each memory size.
What to expect from the Apple M4 Pro
The M4 Pro comes with 24GB, 48GB or 64GB of unified memory at 273 GB/s, more than twice the bandwidth of the Apple M4. Even the 24GB configuration runs gpt-oss-20b and Llama 3.1 8B great, and Qwen3 14B runs well. Our page for gpt-oss-20b on the Apple M4 Pro has the run commands.
With 48GB, mixture-of-experts models such as Qwen3 30B-A3B, Qwen3.5 35B-A3B and Gemma 4 26B-A4B load completely and run great. On 24GB, Qwen3 30B-A3B falls back to the CPU and Qwen3.5 35B-A3B does not load. Dense models are much slower, because every token reads all of their weights. At 48GB, Gemma 3 27B runs well, and Gemma 4 31B runs slowly: its thinking mode is off by default, but CanRun still holds models that have one to a 1.5× stricter speed bar.
64GB adds room rather than speed. Llama 3.3 70B fits in its IQ4_XS file and runs slowly, and gpt-oss-120b, at 64.3 GB, does not fit at all. That one needs more unified memory than any M4 Pro has, such as the 128GB Apple M4 Max (40-core GPU).
Specs
- Memory options
- 24 GB · 48 GB · 64 GB
- Memory bandwidth
- 273.0 GB/s
- FP16 compute
- 8.1 TFLOPS
- Launch year
- 2024
- Macs with this chip
- Mac mini: 24 GB · 48 GB · 64 GB
- MacBook Pro: 24 GB · 48 GB
- Also written as
- M4 Pro
Verdicts at a glance
At Q4_K_M (or the closest available quant) with 8k context.
- 24 GBRuns great24 modelsRuns well6 modelsRuns slowly10 modelsWon't run19 models8 more models run at a lower quant.
- 48 GBRuns great31 modelsRuns well7 modelsRuns slowly11 modelsWon't run10 models4 more models run at a lower quant.
- 64 GBRuns great31 modelsRuns well7 modelsRuns slowly13 modelsWon't run8 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 Pro
Scroll sideways to see every column.
| Model | Verdict | Speed | Quant | Memory | Runs as | Context | Notes |
|---|---|---|---|---|---|---|---|
| MiniCPM5 1B | Runs great | est. 232.8 tok/s186.2–279.3calibrated estimate ±20% | Q4_K_M | 1.5 / 44.8 GB | Unified memory | up to 128k |
|
| Llama 3.2 1B | Runs great | est. 192.4 tok/s153.9–230.9calibrated estimate ±20% | Q4_K_M | 1.7 / 44.8 GB | Unified memory | up to 128k | — |
| Ling-3.0 Tiny | Runs great | est. 175.4 tok/s122.8–228.1theoretical estimate ±30% | Q4_K_M | 5.5 / 44.8 GB | Unified memory | up to 128k |
|
| EXAONE 4.0 1.2B | Runs great | est. 158.0 tok/s126.4–189.6calibrated estimate ±20% | Q4_K_M | 1.9 / 44.8 GB | Unified memory | up to 64k |
|
| LFM2.5 2.6B | Runs great | est. 115.0 tok/s80.5–149.5theoretical estimate ±30% | Q4_K_M | 2.4 / 44.8 GB | Unified memory | up to 128k |
|
| HyperCLOVA X SEED 1.5B | Runs great | est. 114.3 tok/s91.4–137.2calibrated estimate ±20% | Q4_K_M | 2.4 / 44.8 GB | Unified memory | up to 16k | — |
| MiniCPM5 2B | Runs great | est. 108.5 tok/s86.8–130.2calibrated estimate ±20% | Q4_K_M | 2.5 / 44.8 GB | Unified memory | up to 64k |
|
| Gemma 4 E2B | Runs great | est. 108.4 tok/s75.9–141.0theoretical estimate ±30% | Q4_K_M | 3.7 / 44.8 GB | Unified memory | up to 128k |
|
| Mellum2.1 12B-A2.5B Thinking | Runs great | est. 101.8 tok/s81.4–122.2calibrated estimate ±20% | Q4_K_M | 8.8 / 44.8 GB | Unified memory | up to 128k |
|
| MiniCPM-V 4.7 35B-A3B | Runs great | est. 74.2 tok/s59.3–89.0calibrated estimate ±20% | Q4_K_M | 21.9 / 44.8 GB | Unified memory | up to 128k |
|
| Spark-X2.5 4B | Runs great | est. 71.5 tok/s57.2–85.8calibrated estimate ±20% | Q4_K_M | 3.5 / 44.8 GB | Unified memory | up to 64k |
|
| Llama 3.2 3B | Runs great | est. 70.1 tok/s56.1–84.1calibrated estimate ±20% | Q4_K_M | 3.5 / 44.8 GB | Unified memory | up to 64k | — |
| gpt-oss-20b | Runs greatgpt-oss-20b verdict on the Apple M4 Pro | est. 69.9 tok/s55.9–83.9calibrated estimate ±20% | MXFP4 | 12.9 / 44.8 GB | Unified memory | up to 128k |
|
| Qwen3.6 35B-A3B | est. 68.8 tok/s55.0–82.5calibrated estimate ±20% | Q4_K_M | 23.0 / 44.8 GB | Unified memory | up to 128k |
| |
| Nemotron 3.5 Lightning 30B-A3B | Runs great | est. 68.0 tok/s47.6–88.4theoretical estimate ±30% | Q4_K_M | 26.1 / 44.8 GB | Unified memory | up to 256k |
|
| Qwen3.5 4B | Runs great | est. 67.0 tok/s53.6–80.4calibrated estimate ±20% | Q4_K_M | 3.7 / 44.8 GB | Unified memory | up to 64k |
|
| Kanana 1.5 15.7B-A3B | Runs great | est. 60.6 tok/s48.5–72.8calibrated estimate ±20% | Q4_K_M | 12.1 / 44.8 GB | Unified memory | up to 32k | — |
| Qwen3.5 35B-A3B | est. 60.3 tok/s48.3–72.4calibrated estimate ±20% | Q4_K_M | 23.4 / 44.8 GB | Unified memory | up to 128k |
| |
| Qwen3 30B-A3B (2507) | est. 59.2 tok/s47.4–71.1calibrated estimate ±20% | Q4_K_M | 19.9 / 44.8 GB | Unified memory | up to 64k | — | |
| Gemma 4 E4B | Runs great | est. 58.7 tok/s41.1–76.3theoretical estimate ±30% | Q4_K_M | 5.7 / 44.8 GB | Unified memory | up to 128k |
|
| Gemma 4 26B-A4B | est. 50.2 tok/s40.2–60.2calibrated estimate ±20% | Q4_K_M | 17.7 / 44.8 GB | Unified memory | up to 128k |
| |
| Qwen3.5 9B | Runs greatQwen3.5 9B verdict on the Apple M4 Pro | 37.0 tok/s8k estimate 33.8 tok/s (27.0–40.6, calibrated estimate ±20%)measured (1 run, 4k context) | Q4_K_M | 6.7 / 44.8 GB | Unified memory | up to 16k |
|
| K2-Horizon MoVA 36B-A4B | Runs great | est. 36.8 tok/s25.8–47.8theoretical estimate ±30% | Q4_K_M | 24.6 / 44.8 GB | Unified memory | up to 8k |
|
| DeepSeek R1 Distill Llama 8B | Runs great | est. 34.6 tok/s27.7–41.5calibrated estimate ±20% | Q4_K_M | 6.6 / 44.8 GB | Unified memory | up to 8k |
|
| Kanana 1.5 8B | Runs great | est. 34.6 tok/s27.7–41.5calibrated estimate ±20% | Q4_K_M | 6.6 / 44.8 GB | Unified memory | up to 32k | — |
| Llama 3.1 8B | Runs greatLlama 3.1 8B verdict on the Apple M4 Pro | est. 34.6 tok/s27.7–41.5calibrated estimate ±20% | Q4_K_M | 6.6 / 44.8 GB | Unified memory | up to 32k | — |
| Nanbeige4.2 3B | Runs great | est. 33.9 tok/s23.7–44.0theoretical estimate ±30% | Q4_K_M | 4.7 / 44.8 GB | Unified memory | up to 8k |
|
| DeepSeek R1 0528 Qwen3 8B | Runs great | est. 33.3 tok/s26.6–39.9calibrated estimate ±20% | Q4_K_M | 6.8 / 44.8 GB | Unified memory | up to 8k |
|
| Qwen3 8B | Runs greatQwen3 8B verdict on the Apple M4 Pro | est. 33.3 tok/s26.6–39.9calibrated estimate ±20% | Q4_K_M | 6.8 / 44.8 GB | Unified memory | up to 8k |
|
| K2-Horizon 7B | Runs great | est. 30.5 tok/s24.4–36.6calibrated estimate ±20% | Q4_K_M | 7.4 / 44.8 GB | Unified memory | up to 8k |
|
| Gemma 3 12B | Runs greatGemma 3 12B verdict on the Apple M4 Pro | est. 26.5 tok/s21.2–31.8calibrated estimate ±20% | Q4_K_M | 8.4 / 44.8 GB | Unified memory | up to 32k | — |
| Gemma 4 12B | est. 28.6 tok/s22.9–34.3calibrated estimate ±20% | Q4_K_M | 7.8 / 44.8 GB | Unified memory | up to 256k |
| |
| HyperCLOVA X SEED Think 14B | Runs well | est. 20.4 tok/s14.2–26.5theoretical estimate ±30% | Q4_K_M | 10.8 / 44.8 GB | Unified memory | up to 32k |
|
| Qwen3 14B | est. 20.1 tok/s16.0–24.1calibrated estimate ±20% | Q4_K_M | 10.9 / 44.8 GB | Unified memory | up to 32k |
| |
| DeepSeek R1 Distill Qwen 14B | Runs well | est. 19.6 tok/s15.7–23.5calibrated estimate ±20% | Q4_K_M | 11.2 / 44.8 GB | Unified memory | up to 32k |
|
| Phi-4 | Runs well | est. 19.3 tok/s15.5–23.2calibrated estimate ±20% | Q4_K_M | 11.3 / 44.8 GB | Unified memory | up to 16k | — |
| Mistral Small 3.2 24B | Runs well | est. 13.2 tok/s10.6–15.9calibrated estimate ±20% | Q4_K_M | 16.2 / 44.8 GB | Unified memory | up to 64k |
|
| Gemma 3 27B | Runs well | est. 12.0 tok/s9.6–14.5calibrated estimate ±20% | Q4_K_M | 17.8 / 44.8 GB | Unified memory | up to 64k | — |
| Kolibri 1 | Runs slowly | est. 49.5 tok/s34.6–64.3theoretical estimate ±30% | Q4_K_M | 49.9 GB RAM | CPU only | up to 256k |
|
| Qwen3.6 27B | Runs slowly | est. 12.0 tok/s9.6–14.3calibrated estimate ±20% | Q4_K_M | 17.9 / 44.8 GB | Unified memory | up to 256k |
|
| Muse Glimmer 30B | Runs slowly | est. 11.9 tok/s9.5–14.3calibrated estimate ±20% | Q4_K_M | 18.0 / 44.8 GB | Unified memory | up to 128k |
|
| Qwen3.8 27B | Runs slowlyQwen3.8 27B verdict on the Apple M4 Pro | est. 11.5 tok/s9.2–13.8calibrated estimate ±20% | Q4_K_M | 18.6 / 44.8 GB | Unified memory | up to 256k |
|
| Gemma 4 31B | Runs slowlyGemma 4 31B verdict on the Apple M4 Pro | est. 10.9 tok/s8.7–13.1calibrated estimate ±20% | Q4_K_M | 19.6 / 44.8 GB | Unified memory | up to 256k |
|
| Granite 4.2 30B | Runs slowly | est. 10.4 tok/s8.4–12.5calibrated estimate ±20% | Q4_K_M | 20.4 / 44.8 GB | Unified memory | up to 64k |
|
| EXAONE 4.0 32B | Runs slowly | est. 10.4 tok/s8.4–12.5calibrated estimate ±20% | Q4_K_M | 20.5 / 44.8 GB | Unified memory | up to 128k |
|
| EXAONE 4.5 33B | Runs slowly | est. 10.1 tok/s8.1–12.1calibrated estimate ±20% | Q4_K_M | 21.2 / 44.8 GB | Unified memory | up to 256k |
|
| Qwen3.5 27B | Runs slowlyQwen3.5 27B verdict on the Apple M4 Pro | 9.9 tok/s8k estimate 11.8 tok/s (9.4–14.1, calibrated estimate ±20%)measured (1 run, 512 context) | Q4_K_M | 18.2 / 44.8 GB | Unified memory | up to 256k |
|
| Qwen3 32B | Runs slowlyQwen3 32B verdict on the Apple M4 Pro | est. 9.5 tok/s7.6–11.4calibrated estimate ±20% | Q4_K_M | 22.5 / 44.8 GB | Unified memory | up to 32k |
|
| DeepSeek R1 Distill Qwen 32B | Runs slowly | est. 9.4 tok/s7.5–11.3calibrated estimate ±20% | Q4_K_M | 22.6 / 44.8 GB | Unified memory | up to 64k |
|
| Nanbeige4.3 33B | Runs slowly | est. 9.2 tok/s7.4–11.0calibrated estimate ±20% | Q4_K_M | 23.1 / 44.8 GB | Unified memory | up to 64k |
|
| Llama 3.3 70B | Runs slowlyLlama 3.3 70B verdict on the Apple M4 Pro | est. 3.0 tok/s2.1–3.9theoretical estimate ±30% | Q4_K_M | 45.2 GB RAM | CPU only | up to 32k | — |
| Qwen3.5 122B-A10B | Won't runTry UD-Q2_K_XL (heavy quality loss): Runs greatQwen3.5 122B-A10B verdict on the Apple M4 Pro | est. 34.1 tok/s27.2–40.9calibrated estimate ±20% | UD-Q2_K_XL | 43.6 / 44.8 GB | Unified memory | up to 32k |
|
| Solar Open 100B | Won't runTry IQ4_XS: Runs slowly | est. 14.5 tok/s10.1–18.8theoretical estimate ±30% | IQ4_XS | 57.1 GB RAM | CPU only | up to 16k |
|
| DeepSeek V4 Flash 0731 | Won't run | — | MXFP4 | needs 155.6 GB | — | — |
|
| GLM-5.3 Flash | Won't run | — | Q4_K_M | needs 182.1 GB | — | — |
|
| gpt-oss-120b | — | MXFP4 | needs 64.3 GB | — | — |
| |
| Laguna S 2.1 | Won't run | — | Q4_K_M | needs 68.6 GB | — | — |
|
| Ling-3.0 Flash | Won't run | — | Q4_K_M | needs 77.7 GB | — | — |
|
| Solar Open 2 250B | Won't run | — | IQ4_XS | needs 137.2 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 | 24 GB | 48 GB | 64 GB |
|---|---|---|---|
| MiniCPM5 1B | Runs great | Runs great | Runs great |
| Llama 3.2 1B | Runs great | Runs great | Runs great |
| Ling-3.0 Tiny | Runs great | Runs great | Runs great |
| EXAONE 4.0 1.2B | 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 |
| MiniCPM-V 4.7 35B-A3B | Won't run | Runs great | Runs great |
| Spark-X2.5 4B | Runs great | Runs great | Runs great |
| Llama 3.2 3B | Runs great | Runs great | Runs great |
| gpt-oss-20b | Runs great | Runs great | Runs great |
| Qwen3.6 35B-A3B | Won't run | Runs great | Runs great |
| Nemotron 3.5 Lightning 30B-A3B | Won't run | Runs great | Runs great |
| Qwen3.5 4B | Runs great | Runs great | Runs great |
| Kanana 1.5 15.7B-A3B | Runs great | Runs great | Runs great |
| Qwen3.5 35B-A3B | Won't run | Runs great | Runs great |
| Qwen3 30B-A3B (2507) | Runs slowly | Runs great | Runs great |
| Gemma 4 E4B | Runs great | Runs great | Runs great |
| Gemma 4 26B-A4B | Runs slowly | Runs great | Runs great |
| Qwen3.5 9B | Runs great | Runs great | Runs great |
| K2-Horizon MoVA 36B-A4B | Won't run | Runs great | 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 |
| DeepSeek R1 0528 Qwen3 8B | Runs great | Runs great | Runs great |
| Qwen3 8B | Runs great | Runs great | Runs great |
| K2-Horizon 7B | Runs great | Runs great | Runs great |
| Gemma 3 12B | Runs great | Runs great | Runs great |
| Gemma 4 12B | Runs well | Runs well | Runs well |
| HyperCLOVA X SEED Think 14B | Runs well | Runs well | Runs well |
| Qwen3 14B | Runs well | Runs well | Runs well |
| DeepSeek R1 Distill Qwen 14B | Runs well | Runs well | Runs well |
| Phi-4 | Runs well | Runs well | Runs well |
| Mistral Small 3.2 24B | Runs well | Runs well | Runs well |
| Gemma 3 27B | Runs slowly | Runs well | Runs well |
| Kolibri 1 | Won't run | Won't run | Runs slowly |
| Qwen3.6 27B | Runs slowly | Runs slowly | Runs slowly |
| Muse Glimmer 30B | Runs slowly | Runs slowly | Runs slowly |
| Qwen3.8 27B | Runs slowly | Runs slowly | Runs slowly |
| Gemma 4 31B | Runs slowly | Runs slowly | Runs slowly |
| Granite 4.2 30B | Runs slowly | Runs slowly | Runs slowly |
| EXAONE 4.0 32B | Runs slowly | Runs slowly | Runs slowly |
| EXAONE 4.5 33B | Won't run | Runs slowly | Runs slowly |
| Qwen3.5 27B | Runs slowly | Runs slowly | Runs slowly |
| Qwen3 32B | Won't run | Runs slowly | Runs slowly |
| DeepSeek R1 Distill Qwen 32B | Won't run | Runs slowly | Runs slowly |
| Nanbeige4.3 33B | Won't run | Runs slowly | Runs slowly |
| Llama 3.3 70B | Won't run | Won't run | Runs slowly |
| Qwen3.5 122B-A10B | Won't run | Won't run | Won't run |
| Solar Open 100B | Won't run | Won't run | Won't run |
| DeepSeek V4 Flash 0731 | Won't run | Won't run | Won't run |
| GLM-5.3 Flash | Won't run | Won't run | Won't run |
| gpt-oss-120b | Won't run | Won't run | Won't run |
| Laguna S 2.1 | Won't run | Won't run | Won't run |
| Ling-3.0 Flash | Won't run | Won't run | Won't run |
| Solar Open 2 250B | Won't run | Won't run | Won't run |
Measured results on the Apple M4 Pro
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 | 440.0 | 50.7 | Metal, b1550 (2023) | github.com | 2024-11-08 |
| Qwen3.5 27B | Q4_K_M | llama.cpp | 512 | 115.0 | 9.9 | Metal | github.com | 2026-07-18 |
| Qwen3.5 9B | Q4_K_M | llama.cpp | 4k | — | 37.0 | — | github.com | 2026-07-29 |
Frequently asked questions
What is the largest model that runs entirely on the Apple M4 Pro?
Kolibri 1 at IQ4_XS (a 43.63 GB file) fits entirely in 64 GB of unified memory with 8k context, at est. 52.1 tok/s (41.7–62.5, calibrated estimate ±20%).
How many local LLMs run well on the Apple M4 Pro?
At Q4_K_M with 8k context, with 64 GB of memory, out of 59 tracked models: 31 run great, 7 run well, 13 run slowly and 8 won't run.
Can the Apple M4 Pro run a 70B model like Llama 3.3 70B?
Runs slowly — CPU only, Q4_K_M: est. 3.0 tok/s (2.1–3.9, theoretical estimate ±30%).
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.