Yes — with 8.7 GB to spare
Devstral Small 2 24B at Q4_K_M fits your M4 · 32 GB entirely in unified memory at 8K context, at an estimated 5.0 tokens per second. Past 63K the KV cache pushes it over — quantise the cache to q8_0, or step down a quantisation, to go longer.
Fully in unified memory
8K context
Q4_K_M · 13.5 GB
Apache 2.0
Released Dec 2025
Vision
Not in the Ollama library
Built for software-engineering agents (OpenHands, Cline). Dense 24B, 384K window. Not in the Ollama library.
The VRAM budget
weights 13.5 GB
Weights 13.5 GB
KV cache @ 8K 1.25 GB
Runtime overhead 0.6 GB
Free 8.7 GB of 24.0 GB
Quantisation ladder
| Quant | Weights | Total @ 8K | Max context | Tok/s | Quality | Fit |
|---|---|---|---|---|---|---|
| Q8_0 | 23.7 GB | 25.6 GB | — | ~2.8 | −0.1% ppl | 1.6 GB over |
| Q6_K | 18.3 GB | 20.2 GB | 32K | 3.7 | −0.4% ppl | Long context |
| Q5_K_M | 15.8 GB | 17.7 GB | 48K | 4.2 | −0.8% ppl | Long context |
| Q4_K_M | 13.5 GB | 15.3 GB | 63K | 5.0 | −1.9% ppl | Recommended |
| Q3_K_M | 10.9 GB | 12.8 GB | 79K | 6.1 | −5.4% ppl | Long context |
| Q2_K | 9.4 GB | 11.2 GB | 89K | 7.2 | −15% ppl | Long context |
Quality is the published perplexity delta against f16 weights. Max context assumes an f16 KV cache; q8_0 roughly doubles it.
How to run it
$ pip install mlx-lm $ mlx_lm.generate --model mlx-community/Devstral-Small-2-24B-Instruct-2512-4bit \ --max-tokens 512 --prompt "Hello"
Apple's own array framework. The fastest path on Apple Silicon. More on MLX.
01Download is 13.5 GB. Keep it on an SSD — a first load off a spinning disk takes minutes.
02macOS caps what the GPU may wire down at about 24.0 GB of 32 GB. Raising it with iogpu.wired_limit_mb is possible, and risky.
03There is room to go to 63K context on this card.