← All machines

Apple unified memory · Apple

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

The cheaper M5 Pro Mac mini, configurable to 64GB. A small, quiet box for running mid-size models.

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,699–$2,699

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,699
16 GB default gpu limitassumption
16 GB limit raised with sysctlassumption
48 GB~$2,299
36 GB default gpu limitassumption
40 GB limit raised with sysctlassumption
64 GB~$2,699
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 config~56–100 tok/sestimate
Llama 3.3 70B Instruct70B · Q4_K_M43.6 GBFitsassumed limitfrom the 64 GB config~5.3–6.6 tok/sestimate
Nemotron 3.5 Lightning 30B-A3B30B, 3B active · Q4_K_M25.3 GBcontext memory estimatedFitsassumed limitfrom the 48 GB config~40–71 tok/sestimate
Qwen3.6 35B-A3B35B, 3B active · Q4_K_M22.4 GBcontext memory estimatedFitsassumed limitfrom the 48 GB config107 tok/smedian of 3 runs
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 config92 tok/smedian of 1 run
Gemma 4 31B IT30.7B · Q4_K_M18.9 GBcontext memory estimatedFitsassumed limitfrom the 48 GB config~12–15 tok/sestimate
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 config18 tok/smedian of 3 runs
Gemma 4 26B-A4B IT25.2B, 3.8B active · Q4_K_M17.4 GBcontext memory estimatedFitsassumed limitfrom the 48 GB config~40–71 tok/sestimate
Qwen3.6 27B27B · Q4_K_M17.7 GBcontext memory estimatedFitsassumed limitfrom the 48 GB config~13–17 tok/sestimate
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 config44 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

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

Plain single-user runs
ModelQuantBackendGenerationPromptContextMeasured onSource
gpt-oss-120b2bit (MLX)oMLX (version not stated)59 tok/s870 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-04
gpt-oss-120b2bit (MLX)oMLX (version not stated)49 tok/s845 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-03
gpt-oss-20b4-bit MLX (gpt-oss-20b-MXFP4-Q8)oMLX (version not stated) (MLX)84 tok/s2,423 tok/s1,024-token prompt1,024a machine with the same chipoMLX benchmark submission2026-10
gpt-oss-20b4bit (MLX)oMLX (version not stated)80 tok/s2,354 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
gpt-oss-20b4bit (MLX)oMLX (version not stated)80 tok/s2,530 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Llama 3.1 8B InstructQ4_K_MLocalScore (llamafile/llama.cpp, version not stated)44 tok/s341 tok/s0a machine with the same chipLocalScore2026-10
Nemotron 3.5 Lightning 30B-A3B6bit (MLX)oMLX (version not stated)77 tok/s1,670 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Qwen3 Coder 30B-A3B Instruct4-bit MLX (Qwen3-Coder-30B-A3B-Instruct-MLX-4bit)oMLX (version not stated) (MLX)92 tok/s2,056 tok/s1,024-token prompt1,024a machine with the same chipoMLX benchmark submission2026-10
Qwen3.5 9B4-bit MLX (Qwen3.5-9B-MLX-4bit)oMLX (version not stated) (MLX)56 tok/s1,331 tok/s1,024-token prompt1,024a machine with the same chipoMLX benchmark submission2026-10
Qwen3.6 35B-A3B4-bit MLX (Qwen3.6-35B-A3B-4bit)oMLX (version not stated) (MLX)110 tok/s2,267 tok/s1,024-token prompt1,024a machine with the same chipoMLX benchmark submission2026-10
Qwen3.6 35B-A3B4bit (MLX)oMLX (version not stated)107 tok/s2,891 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Qwen3.6 35B-A3B4bit (MLX)oMLX (version not stated)68 tok/s1,350 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Qwen3.8 27B4-bit MLX (Qwen3.8-27B-MLX-4bit)oMLX (version not stated) (MLX)18 tok/s390 tok/s1,024-token prompt1,024a machine with the same chipoMLX benchmark submission2026-10
Qwen3.8 27B4bit (MLX)oMLX (version not stated)18 tok/s418 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Qwen3.8 27B4bit (MLX)oMLX (version not stated)14 tok/s588 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10

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 IT4bit (MLX)oMLX (version not stated)48 tok/s2,014 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Qwen3.6 35B-A3B4bit (MLX)oMLX (version not stated)96 tok/s1,584 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Qwen3.6 35B-A3B4bit (MLX)oMLX (version not stated)75 tok/s2,559 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Qwen3.8 Flash-Next4bit (MLX)oMLX (version not stated)10 tok/s269 tok/s4,096-token prompt4,096a machine with the same chipoMLX benchmark submission2026-10
Qwen3.8 Flash-Next4bit (MLX)oMLX (version not stated)9.9 tok/s269 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)13 tok/s292 tok/s16,384-token prompt16,384a machine with the same chipoMLX benchmark submission2026-10
gpt-oss-20b4-bit MLX (gpt-oss-20b-OptiQ-4bit)oMLX (version not stated) (MLX)72 tok/s2,272 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)53 tok/s2,001 tok/s32,768-token prompt32,768a machine with the same chipoMLX benchmark submission2026-10
Qwen3.5 9B4-bit MLX (Qwen3.5-9B-MLX-4bit)oMLX (version not stated) (MLX)33 tok/s816 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)29 tok/s774 tok/s32,768-token prompt32,768a machine with the same chipoMLX benchmark submission2026-10
Qwen3.6 35B-A3B4-bit MLX (Qwen3.6-35B-A3B-4bit)oMLX (version not stated) (MLX)64 tok/s2,060 tok/s16,384-token prompt16,384a machine with the same chipoMLX benchmark submission2026-10
Qwen3.8 27B4-bit MLX (Qwen3.8-27B-4bit)oMLX (version not stated) (MLX)17 tok/s591 tok/s16,384-token prompt16,384a machine with the same chipoMLX benchmark submission2026-10
Qwen3.8 27B4-bit MLX (Qwen3.8-27B-4bit)oMLX (version not stated) (MLX)15 tok/s516 tok/s32,768-token prompt32,768a machine with the same chipoMLX benchmark submission2026-10

Specifications

Chip
M5 Pro (15-core CPU, 16-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,699
  • 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

Similar machines