← All machines

Apple unified memory · Apple

Apple Mac mini (M5 Pro, 20-core GPU)

The M5 Pro Mac mini with the larger GPU, configurable to 64GB. At 64GB it runs 30B-class models at 4-bit with room left for long context.

Memory for models

48 GBassumption

Assumed three quarters of 64 GB for macOS's default GPU limit, which Apple does not publish.

Memory bandwidth

307 GB/s

Maker price

~$1,899–$2,899

Largest at 4-bit

46.9 GB at 8,192 tokens of context, default GPU limit (an assumed limit, see Memory for models)

gpt-oss-20b, 4-bit

80 tok/smedian of 3 runs

Memory configurations

One page covers every memory option the maker sells. Prices are the maker’s list price for the cheapest configuration with that much memory.

MemoryPriceMemory the GPU can use
24 GB~$1,899
16 GB default gpu limitassumption
16 GB limit raised with sysctlassumption
48 GB~$2,499
36 GB default gpu limitassumption
40 GB limit raised with sysctlassumption
64 GB~$2,899
48 GB default gpu limitassumption
56 GB limit raised with sysctlassumption

Assumed three quarters of 64 GB for macOS's default GPU limit, which Apple does not publish. Raised with iogpu.wired_limit_mb per the MLX docs, leaving an assumed 8 GB for macOS. How GPU memory limits work on unified-memory machines.

What it runs at 4-bit

Every model in the catalog at its 4-bit file with 8,192 tokens of context. 22 of 41 fit in at least one configuration. Speeds are the median of measured runs on the same chip where any exist; otherwise an estimate from memory bandwidth. Try other quants and context lengths.

ModelNeedsFitGeneration speed
Kimi K32.8T, 104B active · UD-Q4_K_XL1406.8 GBcontext memory estimatedDoes not fit
DeepSeek V4 Pro1.6T, 49B active · Q4_K_M890.5 GBcontext memory not countedDoes not fit
Kimi K2.61T, 32B active · UD-Q4_K_XL545.7 GBcontext memory estimatedDoes not fit
DeepSeek V4.1 Flash552B, 16B active · Q4 (DwarfStar)484.5 GBDoes not fit
GLM-5.3753.3B · UD-Q4_K_XL437.4 GBcontext memory estimatedDoes not fit
DeepSeek V3.2671B, 37B active · Q4_K_M379.6 GBcontext memory estimatedDoes not fit
MiniMax M3428B, 23B active · Q4_K_M244.8 GBcontext memory not countedDoes not fit
Qwen3.5 397B-A17B397B, 17B active · Q4_K_M229.1 GBcontext memory estimatedDoes not fit
GLM-5.3 Flash320B, 18B active · UD-Q4_K_XL187.6 GBcontext memory estimatedDoes not fit
Hy3295B, 21B active · Q4_K_M173.6 GBDoes not fit
MiniMax M2.7228.7B · Q4_K_M132.7 GBDoes not fit
Qwen3.8 Flash-Next125B, 6B active · Q4_K_M113.1 GBcontext memory estimatedDoes not fit
Nemotron 3 Super 120B-A12B120B, 12B active · Q4_K_M82.6 GBcontext memory estimatedDoes not fit
Qwen3.5 122B-A10B122B, 10B active · Q4_K_M73.0 GBcontext memory estimatedDoes not fit
Mistral Medium 3.5 128B128B · Q4_K_M74.0 GBDoes not fit
GLM-4.5-Air106B, 12B active · Q4_K_M70.9 GBDoes not fit
Mistral Small 4 119B (2603)119B, 6.5B active · Q4_K_M69.3 GBcontext memory estimatedDoes not fit
Llama 4 Scout 17B-16E Instruct109B, 17B active · Q4_K_M62.4 GBcontext memory not countedDoes not fit
gpt-oss-120b117B, 5.1B active · MXFP4 (native)60.2 GBcontext memory estimatedDoes not fit
Qwen3 Coder Next80B, 3B active · Q4_K_M46.9 GBcontext memory estimatedFitsassumed limitfrom the 64 GB config74 tok/smedian of 2 runs
Llama 3.3 70B Instruct70B · Q4_K_M43.6 GBFitsassumed limitfrom the 64 GB config6.9 tok/smedian of 3 runs
Nemotron 3.5 Lightning 30B-A3B30B, 3B active · Q4_K_M25.3 GBcontext memory estimatedFitsassumed limitfrom the 48 GB config106 tok/smedian of 2 runs
Qwen3.6 35B-A3B35B, 3B active · Q4_K_M22.4 GBcontext memory estimatedFitsassumed limitfrom the 48 GB config~53–95 tok/sestimate
Ornith 1.5 35B-A3B35B, 3B active · Q4_K_M21.9 GBcontext memory estimatedFitsassumed limitfrom the 48 GB config~55–98 tok/sestimate
Qwen3 Coder 30B-A3B Instruct30.5B, 3.3B active · Q4_K_M19.5 GBFitsassumed limitfrom the 48 GB config95 tok/smedian of 1 run
Gemma 4 31B IT30.7B · Q4_K_M18.9 GBcontext memory estimatedFitsassumed limitfrom the 48 GB config13 tok/smedian of 3 runs
Granite 4.2 30B29.3B · Q4_K_M20.3 GBFitsassumed limitfrom the 48 GB config~13–16 tok/sestimate
Qwen3.8 27B27B · Q4_K_M18.2 GBcontext memory estimatedFitsassumed limitfrom the 48 GB config14 tok/smedian of 1 run
Gemma 4 26B-A4B IT25.2B, 3.8B active · Q4_K_M17.4 GBcontext memory estimatedFitsassumed limitfrom the 48 GB config71 tok/smedian of 2 runs
Qwen3.6 27B27B · Q4_K_M17.7 GBcontext memory estimatedFitsassumed limitfrom the 48 GB config13 tok/smedian of 3 runs
Devstral Small 2 24B (2512)24B · Q4_K_M16.1 GBFitsassumed limitfrom the 48 GB config~16–20 tok/sestimate
gpt-oss-20b21B, 3.6B active · MXFP4 (native)12.5 GBcontext memory estimatedFitsassumed limitfrom the 24 GB config80 tok/smedian of 3 runs
Phi-414.7B · Q4_K_M11.3 GBFitsassumed limitfrom the 24 GB config~25–32 tok/sestimate
Ministral 3 14B Reasoning (2512)13.9B · Q4_K_M10.4 GBFitsassumed limitfrom the 24 GB config~27–34 tok/sestimate
Gemma 4 12B IT11.95B · Q4_K_M8.2 GBcontext memory estimatedFitsassumed limitfrom the 24 GB config~32–39 tok/sestimate
Qwen3.5 9B9B · Q4_K_M7.0 GBcontext memory estimatedFitsassumed limitfrom the 24 GB config56 tok/smedian of 1 run
Granite 4.2 8B8.8B · Q4_K_M7.9 GBFitsassumed limitfrom the 24 GB config~41–51 tok/sestimate
Gemma 4 E4B IT8B · Q4_K_M6.5 GBcontext memory not countedFitsassumed limitfrom the 24 GB config~74–92 tok/sestimate
Qwen3 8B8.2B · Q4_K_M7.3 GBFitsassumed limitfrom the 24 GB config~45–56 tok/sestimate
Llama 3.1 8B Instruct8B · Q4_K_M7.1 GBFitsassumed limitfrom the 24 GB config45 tok/smedian of 1 run
Qwen3.5 4B4B · Q4_K_M4.3 GBcontext memory estimatedFitsassumed limitfrom the 24 GB config~82–102 tok/sestimate

Measured speeds

32 published runs with one user, plain decoding and at most 4,096 tokens already in context, on M5 Pro (18-core CPU, 20-core GPU).

Plain single-user runs
ModelQuantBackendGenerationPromptContextMeasured onSource
Gemma 4 26B-A4B IT4bit (MLX)oMLX (version not stated)72 tok/s2,165 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Gemma 4 26B-A4B IT4bit (MLX)oMLX (version not stated)71 tok/s2,463 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Gemma 4 26B-A4B IT8bit (MLX)oMLX (version not stated)54 tok/s2,291 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Gemma 4 26B-A4B IT8bit (MLX)oMLX (version not stated)54 tok/s2,288 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Gemma 4 31B IT4-bit MLX (gemma-4-31B-it-MLX-4bit)oMLX (version not stated) (MLX)15 tok/s377 tok/s1,024-token prompt1,024a machine with the same chipoMLX benchmark submission2026-10
Gemma 4 31B IT4bit (MLX)oMLX (version not stated)13 tok/s389 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Gemma 4 31B IT4bit (MLX)oMLX (version not stated)13 tok/s377 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
GLM-5.3 Flash4-bit MLX (GLM-5.3-Flash-oQ4e)oMLX (version not stated) (MLX)1.0 tok/s16 tok/s1,024-token prompt1,024a machine with the same chipoMLX benchmark submission2026-09
GLM-5.3 Flash4bit (MLX)oMLX (version not stated)0.9 tok/s30 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-09
gpt-oss-120b2bit (MLX)oMLX (version not stated)72 tok/s997 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-05
gpt-oss-20b4bit (MLX)oMLX (version not stated)81 tok/s2,831 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
gpt-oss-20b4bit (MLX)oMLX (version not stated)80 tok/s1,899 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
gpt-oss-20b4-bit MLX (gpt-oss-20b-MXFP4-Q8)oMLX (version not stated) (MLX)65 tok/s1,982 tok/s1,024-token prompt1,024a machine with the same chipoMLX benchmark submission2026-10
gpt-oss-20bMXFP4llama.cpp master (2026-09-28)–1,446 tok/s512-token prompt4,096a machine with the same chipllama.cpp benchmark discussion2026-09
Llama 3.1 8B InstructQ4_K_MLocalScore (llamafile/llama.cpp, version not stated)45 tok/s411 tok/s0a machine with the same chipLocalScore2026-10
Llama 3.3 70B Instruct4-bit MLX (Llama-3.3-70B-Instruct)oMLX (version not stated) (MLX)6.9 tok/s161 tok/s1,024-token prompt1,024a machine with the same chipoMLX benchmark submission2026-03
Llama 3.3 70B Instruct4bit (MLX)oMLX (version not stated)6.9 tok/s179 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Llama 3.3 70B Instruct4bit (MLX)oMLX (version not stated)6.8 tok/s162 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Nemotron 3.5 Lightning 30B-A3B4bit (MLX)oMLX (version not stated)106 tok/s2,014 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-09
Nemotron 3.5 Lightning 30B-A3B4bit (MLX)oMLX (version not stated)105 tok/s1,982 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-09
Qwen3 Coder 30B-A3B Instruct4-bit MLX (Qwen3-Coder-30B-A3B-Instruct-4bit)oMLX (version not stated) (MLX)95 tok/s2,352 tok/s1,024-token prompt1,024a machine with the same chipoMLX benchmark submission2026-10
Qwen3 Coder Next4bit (MLX)oMLX (version not stated)76 tok/s2,347 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Qwen3 Coder Next4bit (MLX)oMLX (version not stated)72 tok/s2,283 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Qwen3.5 122B-A10B4-bit MLX (Qwen3.5-122B-A10B-RAM-48GB)oMLX (version not stated) (MLX)31 tok/s572 tok/s1,024-token prompt1,024a machine with the same chipoMLX benchmark submission2026-07
Qwen3.5 9B4-bit MLX (Qwen3.5-9B-MLX-4bit)oMLX (version not stated) (MLX)56 tok/s1,523 tok/s1,024-token prompt1,024a machine with the same chipoMLX benchmark submission2026-10
Qwen3.6 27B4bit (MLX)oMLX (version not stated)18 tok/s487 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Qwen3.6 27B4-bit MLX (Qwen3.6-27B-UD-Q4_K_XL-mlx)oMLX (version not stated) (MLX)13 tok/s467 tok/s1,024-token prompt1,024a machine with the same chipoMLX benchmark submission2026-10
Qwen3.6 27B4bit (MLX)oMLX (version not stated)11 tok/s240 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Qwen3.6 27B6bit (MLX)oMLX (version not stated)13 tok/s484 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Qwen3.6 27B8bit (MLX)oMLX (version not stated)6.1 tok/s212 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Qwen3.8 27B4-bit MLX (Qwen3.8-27B-OptiQ-4bit)oMLX (version not stated) (MLX)14 tok/s464 tok/s1,024-token prompt1,024a machine with the same chipoMLX benchmark submission2026-10
Qwen3.8 27BQ8_0llama.cpp master (2026-09-28)9.2 tok/s383 tok/s512-token prompt0a machine with the same chipllama.cpp benchmark discussion2026-09

With speculative decoding

A small draft model or extra prediction heads guess several tokens ahead. Generation is faster on text the guesses get right, so these are kept out of the medians above.

Runs with speculative decoding
ModelQuantBackendGenerationPromptContextMeasured onSource
Gemma 4 26B-A4B IT8bit (MLX)oMLX (version not stated)62 tok/s2,238 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Gemma 4 26B-A4B IT8bit (MLX)oMLX (version not stated)29 tok/s975 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Gemma 4 31B IT4bit (MLX)oMLX (version not stated)22 tok/s384 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Gemma 4 31B IT4bit (MLX)oMLX (version not stated)15 tok/s509 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Gemma 4 31B IT8bit (MLX)oMLX (version not stated)17 tok/s458 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Gemma 4 31B IT8bit (MLX)oMLX (version not stated)12 tok/s471 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Nemotron 3.5 Lightning 30B-A3B4bit (MLX)oMLX (version not stated)102 tok/s1,346 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Qwen3.6 27B4bit (MLX)oMLX (version not stated)32 tok/s480 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Qwen3.6 35B-A3B4bit (MLX)oMLX (version not stated)108 tok/s3,189 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Qwen3.6 35B-A3B4bit (MLX)oMLX (version not stated)103 tok/s1,962 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Qwen3.6 35B-A3B8bit (MLX)oMLX (version not stated)87 tok/s1,740 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Qwen3.8 27B4bit (MLX)oMLX (version not stated)34 tok/s502 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Qwen3.8 27B4bit (MLX)oMLX (version not stated)33 tok/s697 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Qwen3.8 Flash-Next3bit (MLX)oMLX (version not stated)20 tok/s280 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Qwen3.8 Flash-Next3bit (MLX)oMLX (version not stated)18 tok/s328 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Qwen3.8 Flash-Next4bit (MLX)oMLX (version not stated)37 tok/s842 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Qwen3.8 Flash-Next4bit (MLX)oMLX (version not stated)12 tok/s191 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10

Deep into a long context

Measured with more than 4,096 tokens already in context, where every new token also reads the context memory.

Runs at long context
ModelQuantBackendGenerationPromptContextMeasured onSource
Gemma 4 31B IT4-bit MLX (gemma-4-31b-it-4bit)oMLX (version not stated) (MLX)11 tok/s331 tok/s16,384-token prompt16,384a machine with the same chipoMLX benchmark submission2026-10
gpt-oss-20b4-bit MLX (gpt-oss-20b-MXFP4-Q8)oMLX (version not stated) (MLX)69 tok/s2,565 tok/s16,384-token prompt16,384a machine with the same chipoMLX benchmark submission2026-10
gpt-oss-20b4-bit MLX (gpt-oss-20b-MXFP4-Q8)oMLX (version not stated) (MLX)55 tok/s1,917 tok/s32,768-token prompt32,768a machine with the same chipoMLX benchmark submission2026-09
Llama 3.1 8B InstructQ4_K_Mllama.cpp master (2026-10-16)43 tok/s–8,192a machine with the same chipllama.cpp benchmark discussion2026-10
Llama 3.1 8B InstructQ4_K_Mllama.cpp master (2026-10-16)28 tok/s–32,768a machine with the same chipllama.cpp benchmark discussion2026-10
Qwen3 Coder 30B-A3B Instruct4-bit MLX (Qwen3-Coder-30B-A3B-Instruct-4bit)oMLX (version not stated) (MLX)55 tok/s1,709 tok/s16,384-token prompt16,384a machine with the same chipoMLX benchmark submission2026-09
Qwen3 Coder 30B-A3B Instruct4-bit MLX (Qwen3-Coder-30B-A3B-Instruct)oMLX (version not stated) (MLX)40 tok/s1,099 tok/s32,768-token prompt32,768a machine with the same chipoMLX benchmark submission2026-07
Qwen3.5 9B4-bit MLX (Qwen3.5-9B-4bit)oMLX (version not stated) (MLX)52 tok/s1,759 tok/s16,384-token prompt16,384a machine with the same chipoMLX benchmark submission2026-10
Qwen3.5 9B4-bit MLX (Qwen3.5-9B-MLX-4bit)oMLX (version not stated) (MLX)45 tok/s1,579 tok/s32,768-token prompt32,768a machine with the same chipoMLX benchmark submission2026-10
Qwen3.6 27B4-bit MLX (Qwen3.6-27B-4bit)oMLX (version not stated) (MLX)16 tok/s386 tok/s32,768-token prompt32,768a machine with the same chipoMLX benchmark submission2026-08
Qwen3.6 27B4-bit MLX (Qwen3.6-27B-4bit)oMLX (version not stated) (MLX)13 tok/s306 tok/s16,384-token prompt16,384a machine with the same chipoMLX benchmark submission2026-08
Qwen3.8 27BQ8_0llama.cpp master (2026-10-16)9.2 tok/s–8,192a machine with the same chipllama.cpp benchmark discussion2026-10
Qwen3.8 27BQ8_0llama.cpp master (2026-10-14)9.1 tok/s324 tok/s512-token prompt8,192a machine with the same chipllama.cpp benchmark discussion2026-10
Qwen3.8 27BQ8_0llama.cpp master (2026-10-16)8.4 tok/s–32,768a machine with the same chipllama.cpp benchmark discussion2026-10
Qwen3.8 27BQ8_0llama.cpp master (2026-09-28)–296 tok/s512-token prompt8,192a machine with the same chipllama.cpp benchmark discussion2026-09
Qwen3.8 27BQ8_0llama.cpp master (2026-09-28)–174 tok/s512-token prompt32,768a machine with the same chipllama.cpp benchmark discussion2026-09

Specifications

Chip
M5 Pro (18-core CPU, 20-core GPU)
Memory
unified LPDDR (Apple does not state the generation)
Memory bandwidth
307 GB/s
FP16 compute
Apple does not publish TFLOPS for the M5 Pro GPU or its Neural Accelerators
Software
Metal, MLX
Ships with
macOS
Power
155 W (Maximum continuous power, Apple tech specs)
Form factor
Mini PC
Networking
2.5GbE (10GbE option); three Thunderbolt 5, which Apple says can cluster multiple Mac minis
Released
2026-09
Maker page
apple.com

Sources

  • apple.com: M5 Pro chip, 307GB/s, memory options, 155W max continuous power, ports
  • apple.com: base prices $1,699 (15-core) and $1,899 (18-core)
  • apple.com: Thunderbolt 5 clustering, 2.5GbE
  • apple.com: available 2026-09-22
  • apple.com: memory deltas: 24GB +$0, 48GB +$600, 64GB +$1,000 over $1,899
  • github.com: how far the GPU memory limit can be raised on a Mac (sysctl iogpu.wired_limit_mb)
  • github.com: the default GPU memory limit on a Mac and how to raise it

Compared with

Similar machines