Yes, just — 5.6 GB spare
DeepSeek-R1 671B at Q4_K_M fits your M3 Ultra · 512 GB entirely in unified memory at 8K context, at an estimated 10 tokens per second. Past 91K 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 · 377.3 GB
MIT
Released Jan 2025
The January 2025 moment. Multi-head latent attention keeps its KV cache tiny; the weights do not.
The VRAM budget
weights 377.3 GB
Weights 377.3 GB
KV cache @ 8K 0.54 GB
Runtime overhead 0.6 GB
Free 5.6 GB of 384.0 GB
Quantisation ladder
| Quant | Weights | Total @ 8K | Max context | Tok/s | Quality | Fit |
|---|---|---|---|---|---|---|
| Q8_0 | 664.0 GB | 665.1 GB | — | ~5.7 | −0.1% ppl | 281.1 GB over |
| Q6_K | 512.4 GB | 513.6 GB | — | ~7.4 | −0.4% ppl | 129.6 GB over |
| Q5_K_M | 442.9 GB | 444.0 GB | — | ~8.5 | −0.8% ppl | 60.0 GB over |
| Q4_K_M | 377.3 GB | 378.4 GB | 91K | 10 | −1.9% ppl | Recommended |
| Q3_K_M | 305.4 GB | 306.6 GB | 128K | 12 | −5.4% ppl | Long context |
| Q2_K | 261.7 GB | 262.8 GB | 128K | 14 | −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. This model uses multi-head latent attention, so its cache is a compressed latent rather than full K and V.
How to run it
$ pip install mlx-lm $ mlx_lm.generate --model mlx-community/DeepSeek-R1-4bit \ --max-tokens 512 --prompt "Hello"
Apple's own array framework. The fastest path on Apple Silicon. More on MLX.
01Download is 377.3 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 384.0 GB of 512 GB. Raising it with iogpu.wired_limit_mb is possible, and risky.
03Only 5.6 GB is spare, so a long system prompt can still push it over. Its real ceiling here is 91K context.