Can an M1 16GB Mac run DeepSeek-R1-Distill-Qwen-14B?
M1 ยท 16 GB unified memory ยท 68 GB/s ยท MacBook Air (M1), Mac mini (M1)
DeepSeek-R1-Distill-Qwen-14B at Q4_K_M needs about 11.2 GiB against roughly 13.0 GiB usable โ that is 86% of your budget. It will load, but close your browser first, keep the context short, and expect memory pressure. Around 6 tokens/sec.
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.
| Quantisation | Weights | Total | Tok/s | Fits? |
|---|---|---|---|---|
| FP16 | 27.6 GiB | 31.2 GiB | 2 | No |
| Q8_0 | 14.6 GiB | 17.7 GiB | 3 | No |
| Q6_K | 11.4 GiB | 14.2 GiB | 4 | No |
| Q5_K_M | 9.8 GiB | 12.6 GiB | 5 | Yes, but tight |
| Q4_K_M | 8.4 GiB | 11.2 GiB | 6 | Yes, but tight |
| Q3_K_M | 6.7 GiB | 9.4 GiB | 8 | Yes, comfortably |
| Q2_K | 5.2 GiB | 7.7 GiB | 10 | Yes, 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.
| Context | KV cache | Total | FP16 KV | Q8 KV |
|---|---|---|---|---|
| 2K | 0.4 GiB | 9.8 GiB | Yes, comfortably | Yes, comfortably |
| 4K | 0.8 GiB | 10.3 GiB | Yes, comfortably | Yes, comfortably |
| 8K | 1.5 GiB | 11.2 GiB | Yes, but tight | Yes, comfortably |
| 16K | 3.0 GiB | 13.0 GiB | Yes, but tight | Yes, but tight |
| 32K | 6.0 GiB | 16.6 GiB | No | No |
| 128K | 24.0 GiB | 38.2 GiB | No | No |
What to run instead on an M1 16GB Mac
These are the largest models that fit comfortably on this machine at Q4_K_M with an 8K context.
| Model | Size | Total | Tok/s | |
|---|---|---|---|---|
| Qwen3 14B | 14.8B | 10.9 GiB | 6 | Yes, comfortably |
| Gemma 2 9B | 9.24B | 9.0 GiB | 10 | Yes, comfortably |
| Qwen3 8B | 8.2B | 6.8 GiB | 11 | Yes, comfortably |
| Llama 3.1 8B | 8.03B | 6.6 GiB | 11 | Yes, comfortably |
| DeepSeek-R1-Distill-Qwen-7B | 7.62B | 5.8 GiB | 12 | Yes, comfortably |
| Qwen2.5 7B | 7.62B | 5.8 GiB | 12 | Yes, 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:14b
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-14B-4bit --prompt "Hello"
sudo sysctl iogpu.wired_limit_mb=13926. This resets on reboot. Quantising the KV cache (--kv-cache-type q8_0 in llama.cpp) buys back 0.7 GiB.Macs that run DeepSeek-R1-Distill-Qwen-14B comfortably
The smallest configuration that handles it is the M3 Pro 18GB (MacBook Pro 14" (M3 Pro)).
| Mac | Memory | Bandwidth | Tok/s |
|---|---|---|---|
| M3 Pro 18GB | 18 GB | 150 GB/s | 13 |
| M2 24GB | 24 GB | 100 GB/s | 9 |
| M4 24GB | 24 GB | 120 GB/s | 11 |
| M4 Pro 24GB | 24 GB | 273 GB/s | 24 |
| M1 Max 32GB | 32 GB | 400 GB/s | 35 |
| M2 Max 32GB | 32 GB | 400 GB/s | 35 |
| M4 32GB | 32 GB | 120 GB/s | 11 |
| M3 Max 36GB | 36 GB | 300 GB/s | 26 |
| M4 Max 36GB | 36 GB | 410 GB/s | 36 |
| M4 Pro 48GB | 48 GB | 273 GB/s | 24 |
| M4 Max 48GB | 48 GB | 546 GB/s | 48 |
| M1 Max 64GB | 64 GB | 400 GB/s | 35 |
Common questions
- Can an M1 16GB Mac run DeepSeek-R1-Distill-Qwen-14B?
- Yes. At Q4_K_M it needs about 11.2 GiB of the roughly 13.0 GiB available, generating around 6 tokens per second.
- How fast is DeepSeek-R1-Distill-Qwen-14B on an Mac?
- Around 6 tokens per second. Token generation on Apple Silicon is limited by memory bandwidth, and this machine has 68 GB/s.
- How much memory does DeepSeek-R1-Distill-Qwen-14B need?
- 8.4 GiB for the weights at Q4_K_M, plus 1.5 GiB for an 8K-token KV cache and about 1.2 GiB of runtime overhead โ 11.2 GiB in total.