Which local LLMs can the Apple M4 Pro run?

Unified memory — by default the GPU can use about 70% of it

Assumes 8k context and an f16 KV cache. Verdicts are shown for each memory size.

Specs

Memory options
24 GB · 48 GB · 64 GB
Memory bandwidth
273.0 GB/s
FP16 compute
17.0 TFLOPS
Launch year
2024

Verdicts at a glance

At Q4_K_M (or the closest available quant) with 8k context.

  • 24 GBRuns great10 modelsRuns well5 modelsRuns slowly5 modelsWon't run9 models4 more models run at a lower quant.
  • 48 GBRuns great13 modelsRuns well7 modelsRuns slowly4 modelsWon't run5 models3 more models run at a lower quant.
  • 64 GBRuns great13 modelsRuns well7 modelsRuns slowly5 modelsWon't run4 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.

29 models sorted by verdict and speed, with 64 GB of memory
ModelVerdictSpeedQuantMemoryRuns asContextNotes
EXAONE 4.0 1.2B
Runs great
est. 124.7 tok/s99.8–149.7calibrated estimate ±20%
Q4_K_M1.9 / 44.8 GBUnified memoryup to 64k—
HyperCLOVA X SEED 1.5B
Runs great
est. 90.2 tok/s72.2–108.3calibrated estimate ±20%
Q4_K_M2.4 / 44.8 GBUnified memoryup to 16k—
Qwen3.5 35B-A3B
Runs great
est. 39.8 tok/s31.9–47.8calibrated estimate ±20%
Q4_K_M23.4 / 44.8 GBUnified memoryup to 64k—
gpt-oss-20b
Runs greatDetails
est. 35.8 tok/s28.6–43.0calibrated estimate ±20%
MXFP412.9 / 44.8 GBUnified memoryup to 16k
  • reasoning model
Qwen3 30B-A3B (2507)
Runs greatDetails
est. 29.1 tok/s23.3–34.9calibrated estimate ±20%
Q4_K_M19.9 / 44.8 GBUnified memoryup to 16k—
Gemma 4 26B-A4B
Runs great
est. 28.3 tok/s22.7–34.0calibrated estimate ±20%
Q4_K_M17.9 / 44.8 GBUnified memoryup to 32k—
Kanana 1.5 8B
Runs great
est. 27.3 tok/s21.9–32.8calibrated estimate ±20%
Q4_K_M6.6 / 44.8 GBUnified memoryup to 16k—
Llama 3.1 8B
Runs greatDetails
est. 27.3 tok/s21.9–32.8calibrated estimate ±20%
Q4_K_M6.6 / 44.8 GBUnified memoryup to 16k—
Kanana 1.5 15.7B-A3B
Runs great
est. 26.7 tok/s21.4–32.0calibrated estimate ±20%
Q4_K_M12.1 / 44.8 GBUnified memoryup to 8k—
Qwen3.5 9B
Runs great
est. 26.7 tok/s21.3–32.0calibrated estimate ±20%
Q4_K_M6.7 / 44.8 GBUnified memoryup to 64k—
Qwen3 8B
Runs great
est. 26.3 tok/s21.0–31.5calibrated estimate ±20%
Q4_K_M6.8 / 44.8 GBUnified memoryup to 16k—
Gemma 4 12B
Runs great
est. 21.4 tok/s17.1–25.7calibrated estimate ±20%
Q4_K_M8.2 / 44.8 GBUnified memoryup to 8k—
Gemma 3 12B
Runs greatDetails
est. 20.9 tok/s16.7–25.1calibrated estimate ±20%
Q4_K_M8.4 / 44.8 GBUnified memoryup to 8k—
DeepSeek R1 Distill Llama 8B
Runs well
est. 27.3 tok/s21.9–32.8calibrated estimate ±20%
Q4_K_M6.6 / 44.8 GBUnified memoryup to 64k
  • reasoning model
HyperCLOVA X SEED Think 14B
Runs well
est. 16.1 tok/s11.2–20.9theoretical estimate ±30%
Q4_K_M10.8 / 44.8 GBUnified memoryup to 16k
  • reasoning model
Qwen3 14B
Runs wellDetails
est. 15.8 tok/s12.7–19.0calibrated estimate ±20%
Q4_K_M10.9 / 44.8 GBUnified memoryup to 32k
  • Q2_K (heavy quality loss): Runs great
Phi-4
Runs well
est. 15.3 tok/s12.2–18.3calibrated estimate ±20%
Q4_K_M11.3 / 44.8 GBUnified memoryup to 16k
  • reasoning model
Mistral Small 3.2 24B
Runs well
est. 10.5 tok/s8.4–12.5calibrated estimate ±20%
Q4_K_M16.2 / 44.8 GBUnified memoryup to 32k—
Gemma 3 27B
Runs well
est. 9.5 tok/s7.6–11.4calibrated estimate ±20%
Q4_K_M17.8 / 44.8 GBUnified memoryup to 32k—
Qwen3.5 27B
Runs well
est. 9.3 tok/s7.4–11.1calibrated estimate ±20%
Q4_K_M18.2 / 44.8 GBUnified memoryup to 32k—
EXAONE 4.0 32B
Runs slowly
est. 8.2 tok/s6.6–9.9calibrated estimate ±20%
Q4_K_M20.5 / 44.8 GBUnified memoryup to 128k
  • reasoning model
EXAONE 4.5 33B
Runs slowly
est. 8.0 tok/s6.4–9.5calibrated estimate ±20%
Q4_K_M21.2 / 44.8 GBUnified memoryup to 256k
  • reasoning model
Qwen3 32B
Runs slowly
est. 7.5 tok/s6.0–9.0calibrated estimate ±20%
Q4_K_M22.5 / 44.8 GBUnified memoryup to 32k
  • Try IQ4_XS: Runs well
DeepSeek R1 Distill Qwen 32B
Runs slowly
est. 7.4 tok/s6.0–8.9calibrated estimate ±20%
Q4_K_M22.6 / 44.8 GBUnified memoryup to 64k
  • reasoning model
Llama 3.3 70B
Runs slowly
est. 2.1 tok/s1.5–2.7theoretical estimate ±30%
Q4_K_M45.2 GB RAMCPU onlyup to 8k—
Qwen3.5 122B-A10B
Won't runTry UD-Q2_K_XL (heavy quality loss): Runs great
est. 22.6 tok/s18.1–27.1calibrated estimate ±20%
UD-Q2_K_XL43.6 / 44.8 GBUnified memoryup to 16k—
Solar Open 100B
Won't runTry IQ4_XS: Runs slowly
est. 10.1 tok/s7.1–13.1theoretical estimate ±30%
IQ4_XS57.1 GB RAMCPU onlyup to 16k
  • CPU inference — capped at Runs slowly
  • Q2_K (heavy quality loss): Runs well
gpt-oss-120b
Won't runDetails
—MXFP4needs 64.3 GB——
  • Needs about 64.3 GB; 60.0 GB of memory is free (44.8 GB usable by the GPU)
  • reasoning model
Solar Open 2 250B
Won't run
—IQ4_XSneeds 137.2 GB——
  • Needs about 137.2 GB; 60.0 GB of memory is free (44.8 GB usable by the GPU)

Reasoning models spend extra tokens thinking, so their speed thresholds are 1.5× stricter (30 / 12 / 3 tok/s).

Verdict by memory size

Q4_K_M verdict for each memory configuration — open the model page for speeds
Model24 GB48 GB64 GB
EXAONE 4.0 1.2BRuns greatRuns greatRuns great
HyperCLOVA X SEED 1.5BRuns greatRuns greatRuns great
Qwen3.5 35B-A3BWon't runRuns greatRuns great
gpt-oss-20bRuns greatRuns greatRuns great
Qwen3 30B-A3B (2507)Runs slowlyRuns greatRuns great
Gemma 4 26B-A4BRuns slowlyRuns greatRuns great
Kanana 1.5 8BRuns greatRuns greatRuns great
Llama 3.1 8BRuns greatRuns greatRuns great
Kanana 1.5 15.7B-A3BRuns greatRuns greatRuns great
Qwen3.5 9BRuns greatRuns greatRuns great
Qwen3 8BRuns greatRuns greatRuns great
Gemma 4 12BRuns greatRuns greatRuns great
Gemma 3 12BRuns greatRuns greatRuns great
DeepSeek R1 Distill Llama 8BRuns wellRuns wellRuns well
HyperCLOVA X SEED Think 14BRuns wellRuns wellRuns well
Qwen3 14BRuns wellRuns wellRuns well
Phi-4Runs wellRuns wellRuns well
Mistral Small 3.2 24BRuns wellRuns wellRuns well
Gemma 3 27BRuns slowlyRuns wellRuns well
Qwen3.5 27BRuns slowlyRuns wellRuns well
EXAONE 4.0 32BRuns slowlyRuns slowlyRuns slowly
EXAONE 4.5 33BWon't runRuns slowlyRuns slowly
Qwen3 32BWon't runRuns slowlyRuns slowly
DeepSeek R1 Distill Qwen 32BWon't runRuns slowlyRuns slowly
Llama 3.3 70BWon't runWon't runRuns slowly
Qwen3.5 122B-A10BWon't runWon't runWon't run
Solar Open 100BWon't runWon't runWon't run
gpt-oss-120bWon't runWon't runWon't run
Solar Open 2 250BWon't runWon't runWon'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.

Measured results on the Apple M4 Pro
ModelQuantBackendContextPrompt (tok/s)Generation (tok/s)FlagsSourceMeasured
llama-2-7bQ4_0llama.cpp512440.050.7Metalgithub.com2024-11-15

Frequently asked questions

What is the largest model that runs entirely on the Apple M4 Pro?

Llama 3.3 70B at IQ4_XS (a 37.90 GB file) fits entirely in 64 GB of unified memory with 8k context, at est. 4.0 tok/s (3.2–4.8, 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 29 tracked models: 13 run great, 7 run well, 5 run slowly and 4 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. 2.1 tok/s (1.5–2.7, 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.