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.

What hardware do I need for DeepSeek-R1 671B? →

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

QuantWeightsTotal @ 8KMax contextTok/sQualityFit
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

terminal
$ 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.
See all models for this rig Compare with another model