Can It Run?
Home โ€บ DeepSeek-R1-Distill-Qwen-32B โ€บ M3 Ultra 256GB

Can an M3 Ultra 256GB Mac run DeepSeek-R1-Distill-Qwen-32B?

M3 Ultra ยท 256 GB unified memory ยท 819 GB/s ยท Mac Studio (M3 Ultra)

Yes โ€” DeepSeek-R1-Distill-Qwen-32B runs on an M3 Ultra 256GB Mac.

At Q4_K_M it needs about 22.4 GiB, leaving 217.6 GiB spare out of the ~240.0 GiB macOS will let you use. Expect roughly 33 tokens/sec โ€” comfortable for interactive chat.

Weights
18.7 GiB
32.8B params @ Q4_K_M
KV cache
2.0 GiB
8K context, FP16
Overhead
1.7 GiB
runtime + activations
Total needed
22.4 GiB
of ~240.0 GiB usable
Est. speed
33 tok/s
819 GB/s bandwidth
Max context
128K tokens
at Q4_K_M

Where the memory goes

Three things occupy memory when a model is loaded: the weights themselves, the KV cache that holds the conversation, and the runtime's own working buffers. Only the first is fixed โ€” the KV cache grows with every token in your context.

QuantisationWeightsTotalTok/sFits?
FP1661.1 GiB66.9 GiB10Yes, comfortably
Q8_032.5 GiB36.9 GiB19Yes, comfortably
Q6_K25.2 GiB29.3 GiB24Yes, comfortably
Q5_K_M21.8 GiB25.7 GiB28Yes, comfortably
Q4_K_M18.7 GiB22.4 GiB33Yes, comfortably
Q3_K_M14.9 GiB18.4 GiB41Yes, comfortably
Q2_K11.5 GiB14.8 GiB53Yes, comfortably

The default. Best quality-per-gigabyte for most people.

How long a context fits

The KV cache is often what breaks a setup that looked fine at load time. Quantising it to 8-bit roughly halves its footprint with little measurable quality cost.

ContextKV cacheTotalFP16 KVQ8 KV
2K0.5 GiB20.7 GiBYes, comfortablyYes, comfortably
4K1.0 GiB21.3 GiBYes, comfortablyYes, comfortably
8K2.0 GiB22.4 GiBYes, comfortablyYes, comfortably
16K4.0 GiB24.7 GiBYes, comfortablyYes, comfortably
32K8.0 GiB29.3 GiBYes, comfortablyYes, comfortably
128K32.0 GiB56.9 GiBYes, comfortablyYes, comfortably

How to run it

Ollama is the shortest path. It picks a quantisation automatically โ€” usually Q4_K_M, which is what the numbers above assume.

brew install ollama
ollama serve &
ollama run deepseek-r1:32b

For MLX โ€” Apple's own array framework, typically a little faster than llama.cpp on Apple Silicon:

pip install mlx-lm
mlx_lm.generate --model mlx-community/DeepSeek-R1-Distill-Qwen-32B-4bit --prompt "Hello"

Macs that run DeepSeek-R1-Distill-Qwen-32B comfortably

The smallest configuration that handles it is the M1 Max 32GB (MacBook Pro 14" (M1 Max)).

MacMemoryBandwidthTok/s
M1 Max 32GB32 GB400 GB/s16
M2 Max 32GB32 GB400 GB/s16
M4 32GB32 GB120 GB/s5
M3 Max 36GB36 GB300 GB/s12
M4 Max 36GB36 GB410 GB/s16
M4 Pro 48GB48 GB273 GB/s11
M4 Max 48GB48 GB546 GB/s22
M1 Max 64GB64 GB400 GB/s16
M2 Ultra 64GB64 GB800 GB/s32
M4 Pro 64GB64 GB273 GB/s11
M4 Max 64GB64 GB546 GB/s22
M2 Max 96GB96 GB400 GB/s16

Common questions

Can an M3 Ultra 256GB Mac run DeepSeek-R1-Distill-Qwen-32B?
Yes. At Q4_K_M it needs about 22.4 GiB of the roughly 240.0 GiB available, generating around 33 tokens per second.
How fast is DeepSeek-R1-Distill-Qwen-32B on an Mac?
Around 33 tokens per second. Token generation on Apple Silicon is limited by memory bandwidth, and this machine has 819 GB/s.
How much memory does DeepSeek-R1-Distill-Qwen-32B need?
18.7 GiB for the weights at Q4_K_M, plus 2.0 GiB for an 8K-token KV cache and about 1.7 GiB of runtime overhead โ€” 22.4 GiB in total.