DeepSeek R1 14B VRAM Requirement by Quantization, plus Ollama Setup for Every Distill (2026)
Want to go deeper than this article?
Free account unlocks the first chapter of all 25 courses — RAG, agents, MCP, voice AI, MLOps, real GitHub repos.
Ollama’s running. Here’s what to build with it. Go from “ollama run” to RAG apps, agents, and fine-tuned models — structured and hands-on. First chapter free.
To run DeepSeek R1 locally, install Ollama and pull a distilled model sized to your VRAM: ollama run deepseek-r1:8b (5.2GB) needs an 8GB card, deepseek-r1:14b (9.0GB) needs 12GB at a 4K context or 16GB at 16K, deepseek-r1:32b (20GB) needs 24GB, and the full deepseek-r1:671b is a 404GB download. The 32B distill is the best single-GPU option, scoring 72.6% on AIME 2024 per DeepSeek's model card; its bandwidth ceiling on an RTX 4090 is 1,008GB/s ÷ 20GB ≈ 50 tok/s, and real runs land below that. R1 is MIT-licensed, free for commercial use, and shows its reasoning live through visible <think> tokens. Setup takes about 10 minutes. Tags and sizes on this page were read from ollama.com on 2 November 2026.
DeepSeek R1 Quick Start
Choose Your Version:
Quick Install (3 commands):
curl -fsSL https://ollama.com/install.sh | sh
ollama pull deepseek-r1:32b
ollama run deepseek-r1:32b
DeepSeek R1 14B: VRAM requirement by quantization
deepseek-r1:14b (DeepSeek-R1-Distill-Qwen-14B) is a 9.0GB Q4_K_M download that needs about 11GB of VRAM at a 4K context and about 13GB at 16K — so a 12GB card at short context, a 16GB card for anything longer. The q8_0 tag is 16GB and needs a 24GB card; the fp16 tag is 30GB and fits no card below the 32GB RTX 5090. Nothing in this table fits an 8GB card. Ollama publishes exactly three 14b tags; the two in-between quants come from Hugging Face.
The KV cache is arithmetic from the model's config.json: 48 layers (num_hidden_layers), 8 KV heads (num_key_value_heads), head dim 128 (hidden_size 5120 ÷ num_attention_heads 40). Bytes per token = 2 (keys and values) × 48 × 8 × 128 × 2 bytes (f16) = 196,608, which is 0.8GB at 4,096 tokens, 3.2GB at 16,384, 6.4GB at 32,768 and 25.8GB at the full 131,072 the model supports — the full window is a 48GB proposition on its own. The VRAM columns are download size + KV cache + a 1GB allowance for llama.cpp's compute buffers; the exact buffer is printed at load time.
| Ollama tag | Download | VRAM at 4K context | VRAM at 16K context | Consumer GPU that fits |
|---|---|---|---|---|
| deepseek-r1:14b (= 14b-qwen-distill-q4_K_M) | 9.0GB | ~10.8GB | ~13.2GB | 12GB at 4K (RTX 5070, RTX 3060 12GB); 16GB at 16K (RTX 5060 Ti 16GB, 5070 Ti, 5080, 4060 Ti 16GB, 4080) |
| hf.co/bartowski/DeepSeek-R1-Distill-Qwen-14B-GGUF:Q5_K_M (not in the library) | 10.5GB | ~12.3GB | ~14.7GB | 16GB at either context; a 12GB card only with a quantized KV cache and a short context |
| hf.co/bartowski/DeepSeek-R1-Distill-Qwen-14B-GGUF:Q6_K (not in the library) | 12.1GB | ~13.9GB | ~16.3GB | 16GB at 4K; 24GB (RTX 3090/4090) at 16K |
| deepseek-r1:14b-qwen-distill-q8_0 | 16GB | ~17.8GB | ~20.2GB | 24GB at either context; does not fit 16GB |
| deepseek-r1:14b-qwen-distill-fp16 | 30GB | ~31.8GB | ~34.2GB | A 32GB RTX 5090 at 4K, and only just; otherwise 48GB or two cards |
Speed for the 9.0GB tag is bounded by the card's memory bandwidth ÷ 9.0GB: about 50 tok/s on an RTX 5060 Ti 16GB (448GB/s), 75 on an RTX 5070 (672GB/s), 100 on a 5070 Ti (896GB/s), 104 on an RTX 3090 (936GB/s), 112 on an RTX 4090 (1,008GB/s) and 199 on an RTX 5090 (1,792GB/s) — ceilings from the vendor figures, not measurements, and real runs land below them.
Two levers move the VRAM numbers: --cache-type-k q8_0 --cache-type-v q8_0 in llama.cpp (or OLLAMA_KV_CACHE_TYPE=q8_0) halves the KV column, so Q5_K_M at 16K drops to about 13GB; and Ollama's num_ctx decides which column applies, so set it deliberately rather than inheriting a default. If you have an 8GB card, run the 8B distill from the quick-start above instead. For how the K-quant names trade size for quality, see quantization explained; for what else fits these cards, see the 12GB and 16GB picks and the Ollama RAM/VRAM table.
Reading articles is good. Building is better.
Free account = the first chapter of all 25 courses, with a per-chapter AI tutor. No card.
What is DeepSeek R1?
DeepSeek R1 is a 671 billion parameter reasoning model that revolutionized open-source AI when released on January 20, 2025. Built by Chinese AI lab DeepSeek for approximately $5.6 million in training costs, it matches or beats OpenAI's o1 and GPT-4 on complex reasoning tasks—and it's completely open source under the MIT license.
What makes R1 groundbreaking isn't just performance. It's the first open model to demonstrate transparent chain-of-thought reasoning through visible <think> tokens. Unlike closed models that hide their reasoning, R1 shows you exactly how it solves problems step by step. You can watch it explore solutions, catch its own mistakes, and course-correct in real-time.
The model uses a Mixture-of-Experts (MoE) architecture with 671B total parameters but only 37B active per token. This makes it computationally efficient while maintaining massive capability. DeepSeek achieved this through pure reinforcement learning—the model learned to reason without pre-programmed chains of thought.
Andrej Karpathy, founding member of OpenAI, commented: "DeepSeek making it look easy today with an open weights release of a frontier-grade LLM trained on a joke of a budget (2048 GPUs for 2 months, $6M)."
DeepSeek Model Family: Complete Version History
Understanding the DeepSeek ecosystem helps you choose the right model:
DeepSeek LLM 7B and 67B (November 29, 2023)
DeepSeek's first open models, and the ones the R1 family replaced. Per the model card, DeepSeek LLM was trained from scratch on 2 trillion tokens of English and Chinese and released as 7B and 67B Base and Chat models; the scaling work behind it is in the DeepSeek LLM paper. Dense models with a 4,096-token context, under the DeepSeek model license.
- On Ollama:
deepseek-llm:7b(4.0GB) anddeepseek-llm:67b(38GB) - Today: superseded. For a DeepSeek model at the same 7-8B size,
deepseek-r1:8b(5.2GB) reasons far better and has a much longer context; keepdeepseek-llm:7bonly for an old pipeline that was built around it
DeepSeek V3 (December 26, 2024)
The foundation model. General-purpose 671B MoE optimized for broad capabilities across coding, writing, and conversation.
- Parameters: 671B total, 37B active
- Context: 128K tokens
- Best for: General tasks, coding, writing
DeepSeek R1 (January 20, 2025)
The reasoning specialist. Same architecture as V3 but trained specifically for complex reasoning using reinforcement learning.
- Parameters: 671B total, 37B active
- Context: 128K-160K tokens
- Best for: Math, logic, multi-step problems, debugging
DeepSeek R1-0528 (May 28, 2025)
Upgrade to the 671B model. Per DeepSeek's model card: AIME 2025 accuracy up from 70% to 87.5%, longer reasoning (23K tokens per question on average, versus 12K), a reduced hallucination rate, function calling and system-prompt support.
- New distill: DeepSeek-R1-0528-Qwen3-8B — R1-0528's chain of thought distilled into Qwen3 8B Base; 86.0 on AIME 2024 versus 76.0 for stock Qwen3-8B
- On Ollama:
deepseek-r1:8banddeepseek-r1:671bare the 0528 builds (tags8b-0528-qwen3-q4_K_M,671b-0528-q4_K_M); the 1.5B/7B/14B/32B/70B tags remain the January distills - Best for: Production use, API integration
DeepSeek V3.1 (August 21, 2025)
Hybrid model combining V3's versatility with R1's reasoning. Can switch between thinking and non-thinking modes.
- Unique feature: Dynamic mode switching
- Best for: Users wanting both capabilities in one model
DeepSeek V3.2 (December 2025)
Latest general-purpose release with performance improvements across all benchmarks.
DeepSeek V4 (April 24, 2026)
Next-generation flagship, released as a preview in two sizes under the MIT license: V4-Pro (1.6T total / 49B active) and V4-Flash (284B total / 13B active). Both ship with a 1M-token context window and a focus on coding, agents, and tool use. V4-Pro scores ~80% on SWE-bench Verified. V4 introduces an Engram memory architecture and hybrid attention for efficient long context.
DeepSeek R1 Benchmark Performance
R1's benchmark scores explain why it disrupted the AI industry:
Mathematics Benchmarks
| Benchmark | DeepSeek R1 | OpenAI o1-1217 | GPT-4o | Claude 3.5 |
|---|---|---|---|---|
| AIME 2024 (Math Olympiad) | 79.8% | 79.2% | 9.3% | 16.0% |
| MATH-500 | 97.3% | 96.4% | 74.6% | 78.3% |
| GSM8K | 95.8% | 94.8% | 92.0% | 91.6% |
Coding Benchmarks
| Benchmark | DeepSeek R1 | OpenAI o1 | GPT-4o | Claude 3.5 |
|---|---|---|---|---|
| Codeforces Elo | 2,029 | 1,891 | 1,891 | 1,886 |
| LiveCodeBench | 65.9% | 63.4% | 33.4% | 38.9% |
| SWE-Bench Verified | 49.2% | 48.9% | 33.2% | 40.6% |
Knowledge Benchmarks
| Benchmark | DeepSeek R1 | GPT-4o | Claude 3.5 |
|---|---|---|---|
| MMLU | 90.8% | 88.7% | 88.3% |
| MMLU-Pro | 84.0% | 80.3% | 78.0% |
| GPQA Diamond (PhD Science) | 71.5% | 49.9% | 59.4% |
The R1 scores are particularly impressive on hard benchmarks—AIME (math olympiad), Codeforces (competitive programming), and GPQA Diamond (PhD-level science). Beating GPT-4o and Claude 3.5 together on these benchmarks by significant margins was unprecedented for an open model.
Distilled Model Performance
The distilled versions retain most reasoning capability:
| Model | AIME 2024 | MATH-500 | Codeforces Elo |
|---|---|---|---|
| R1-Distill-Qwen-32B | 72.6% | 94.3% | 1,691 |
| R1-Distill-Llama-70B | 70.0% | 94.5% | 1,633 |
| R1-Distill-Qwen-14B | 69.7% | 93.9% | 1,481 |
| R1-Distill-Llama-8B | 50.4% | 89.1% | 1,205 |
The 32B distilled model achieves 72.6% on AIME—that's math olympiad performance from a model that runs on a single RTX 4090.
Run this on your own machine and stop paying every month
Pay once and keep it. No renewal, no per-token bill, and nothing you feed it ever leaves your hardware.
How DeepSeek R1's Thinking Mode Works
Understanding R1's reasoning mechanism helps you use it effectively.
Chain-of-Thought Architecture
When you send a prompt to R1, the model generates two distinct phases:
-
Thinking Phase (
<think>...</think>)- Internal reasoning tokens visible in raw output
- Problem breakdown and exploration
- Self-correction and verification
- Multiple solution paths evaluated
-
Response Phase
- Final answer based on thinking
- Clean, user-facing output
- Conclusions from reasoning process
The Four-Stage Reasoning Taxonomy
Research into R1's behavior reveals four distinct stages:
- Problem Definition: Initial understanding and constraint identification
- Blooming Cycle: Exploration of multiple solution approaches
- Reconstruction Cycles: Self-correction, rumination, "aha moments"
- Final Decision: Commitment to answer after verification
"Aha Moments" - Emergent Self-Correction
One of R1's most remarkable behaviors is spontaneous error correction. During reasoning, the model will:
- Recognize when an approach is failing
- Explicitly state "Wait, this doesn't seem right..."
- Backtrack and try alternative methods
- Verify final answers against original constraints
This emerged purely from reinforcement learning—DeepSeek did not pre-program these behaviors.
Example Thinking Output
<think>
Let me break down this math problem...
First, I need to identify the variables: x represents...
Wait, I should check my assumption about...
Actually, that approach won't work because...
Let me try a different method using...
Now I can verify: if x = 5, then...
Yes, this satisfies all constraints.
</think>
The answer is x = 5, which I verified by substituting back into the original equation.
Controlling Thinking Mode
- Temperature 0.6 (recommended): Balanced reasoning
- Temperature 0.3-0.5: More focused, less exploration
- Temperature 0.7-0.8: More creative, more exploration
- Prompt engineering: "Think step by step" encourages extended reasoning
- V3.1 hybrid: Automatically decides when to think based on complexity
Complete Model Specifications
Full 671B Model
| Specification | Value |
|---|---|
| Total Parameters | 671B (originally 685B) |
| Active Parameters | 37B per token |
| Architecture | Mixture of Experts (MoE) |
| Expert Count | 256 experts |
| Active Experts | 8 per token |
| Context Window | 128K-160K tokens |
| Training Tokens | 14.8 trillion |
| Training Cost | ~$5.6 million |
| License | MIT |
Distilled Model Specifications
Download sizes are Ollama's default (Q4_K_M) tags, read from the deepseek-r1 tags page; base models are from DeepSeek's model card.
| Model | Ollama tag | Download (Q4_K_M) | Base model | Context |
|---|---|---|---|---|
| R1-Distill-Qwen-1.5B | deepseek-r1:1.5b | 1.1GB | Qwen2.5 series | 128K |
| R1-Distill-Qwen-7B | deepseek-r1:7b | 4.7GB | Qwen2.5 series | 128K |
| R1-0528-Qwen3-8B | deepseek-r1:8b | 5.2GB | Qwen3-8B-Base | 128K |
| R1-Distill-Llama-8B | deepseek-r1:8b-llama-distill-q4_K_M | 4.9GB | Llama-3.1-8B | 128K |
| R1-Distill-Qwen-14B | deepseek-r1:14b | 9.0GB | Qwen2.5-14B | 128K |
| R1-Distill-Qwen-32B | deepseek-r1:32b | 20GB | Qwen2.5-32B | 128K |
| R1-Distill-Llama-70B | deepseek-r1:70b | 43GB | Llama-3.3-70B-Instruct | 128K |
| R1-0528 (full) | deepseek-r1:671b | 404GB | — | 160K |
Step-by-Step Local Setup with Ollama
Step 1: Install Ollama
macOS/Linux:
curl -fsSL https://ollama.com/install.sh | sh
Windows: Download the installer from ollama.com/download and run it.
Verify installation:
ollama --version
# Should show: ollama version 0.5.x or higher
Step 2: Choose and Pull Your Model
Select based on your VRAM:
# 4GB VRAM - Basic reasoning (1.1GB download)
ollama pull deepseek-r1:1.5b
# 8GB VRAM - Good balance, this is the 0528 Qwen3 distill (5.2GB)
ollama pull deepseek-r1:8b
# 12GB at 4K context / 16GB at 16K - Better reasoning (9.0GB)
ollama pull deepseek-r1:14b
# 24GB VRAM - Best local experience (20GB)
ollama pull deepseek-r1:32b
# 48GB+ VRAM - Near-full capability (43GB)
ollama pull deepseek-r1:70b
# 404GB download - Full R1-0528 (enterprise hardware)
ollama pull deepseek-r1:671b
Step 3: Run the Model
ollama run deepseek-r1:32b
Test with a reasoning problem:
A farmer has 17 sheep. All but 9 run away. How many sheep does the farmer have left?
Watch R1 reason through the problem—it will show its thinking process (internally) before answering correctly: 9 sheep.
Step 4: Advanced Configuration
Create a custom Modelfile for optimized settings:
cat > Modelfile << 'EOF'
FROM deepseek-r1:32b
# Optimal settings for reasoning
PARAMETER temperature 0.6
PARAMETER top_p 0.95
PARAMETER num_ctx 8192
# System prompt for reasoning tasks
SYSTEM """You are DeepSeek R1, an advanced reasoning assistant.
For complex problems:
1. Break down the problem systematically
2. Show your reasoning process clearly
3. Verify your answer before finalizing
4. If you notice an error, correct it explicitly
Think carefully and explain your logic step by step."""
EOF
# Create optimized model
ollama create deepseek-r1-reasoning -f Modelfile
# Run optimized version
ollama run deepseek-r1-reasoning
Step 5: Make Sure You Have the R1-0528 Builds
The library's deepseek-r1:8b and deepseek-r1:671b tags already point at the May 2025 R1-0528 builds (the library page says to run ollama pull deepseek-r1 if you downloaded before the upgrade). The explicit tags, and the Hugging Face route if you want a quant Ollama does not publish:
# The 0528 builds in the Ollama library (explicit tags)
ollama pull deepseek-r1:8b-0528-qwen3-q4_K_M # 5.2GB; q8_0 is 8.9GB, fp16 16GB
ollama pull deepseek-r1:671b-0528-q4_K_M # 404GB; q8_0 713GB, fp16 1.3TB
# Unsloth's dynamic quants of the full model, straight from Hugging Face
ollama pull hf.co/unsloth/DeepSeek-R1-0528-GGUF:UD-TQ1_0 # 162GB
VRAM Requirements: Complete Guide
Distilled Models by Quantization
Download sizes are the three quantizations Ollama publishes for every distill, read from the tags page. Ollama does not publish Q5_K_M or Q6_K for these models; the 14B section above has the Hugging Face sizes for those. "Minimum GPU" assumes the Q4_K_M file plus a short context.
| Model | fp16 | q8_0 | Q4_K_M (default tag) | Minimum GPU for Q4_K_M |
|---|---|---|---|---|
| R1 1.5B | 3.6GB | 1.9GB | 1.1GB | Any 4GB card, or CPU |
| R1 7B | 15GB | 8.1GB | 4.7GB | 8GB (RTX 4060, 5060, 3060 8GB) |
| R1 8B (0528, Qwen3) | 16GB | 8.9GB | 5.2GB | 8GB (RTX 4060, 5060) |
| R1 8B (Llama distill) | 16GB | 8.5GB | 4.9GB | 8GB |
| R1 14B | 30GB | 16GB | 9.0GB | 12GB at 4K context (RTX 5070, 3060 12GB); 16GB at 16K |
| R1 32B | 66GB | 35GB | 20GB | 24GB (RTX 3090, 4090) |
| R1 70B | 141GB | 75GB | 43GB | 48GB: two 24GB cards, or 64GB+ unified memory |
Full 671B Model Quantization Options
Sizes for the Ollama tags are from the tags page; the dynamic quants are from Unsloth's R1-0528 GGUF card. "80GB GPUs to hold it" is the file size ÷ 80GB rounded up, before any KV cache. The last column is a bandwidth ceiling for a Mac Studio that holds the whole file in unified memory — Apple's figure for the chip ÷ file size — not a measurement; the M3 Ultra figure uses 800GB/s because Apple states "over 800GB/s".
| Quantization | File | 80GB GPUs to hold it | Fits a 512GB Mac Studio? | Ceiling, M5 Ultra (1,200GB/s) / M3 Ultra (800GB/s) |
|---|---|---|---|---|
| BF16 (Ollama 671b-0528-fp16) | 1.3TB | 17 | No | — |
| Q8_0 (Ollama 671b-0528-q8_0) | 713GB | 9 | No | — |
| Q4_K_M (Ollama deepseek-r1:671b) | 404GB | 6 | Yes | ~3 / ~2 tok/s |
| UD-Q2_K_XL (Unsloth, 2.51-bit) | 251GB | 4 | Yes, also 256GB | ~4.8 / ~3.2 tok/s |
| UD-IQ2_XXS (Unsloth, 2.22-bit) | 217GB | 3 | Yes, also 256GB | ~5.5 / ~3.7 tok/s |
| UD-IQ1_M (Unsloth, 1.73-bit) | 200GB | 3 | Yes, also 256GB | ~6 / ~4 tok/s |
| UD-IQ1_S (Unsloth, 1.58-bit) | 185GB | 3 | Yes, also 256GB | ~6.5 / ~4.3 tok/s |
| UD-TQ1_0 (Unsloth, 1.66-bit) | 162GB | 3 | Yes, also 256GB | ~7.4 / ~4.9 tok/s |
The original January R1 dynamic quants (UD-IQ1_S 131GB, UD-IQ1_M 158GB, UD-IQ2_XXS 183GB, UD-Q2_K_XL 212GB on Unsloth's R1 card) are smaller than their 0528 counterparts; both repos list the Q4_K_M at 404–405GB. On a PC, none of these fits in VRAM: the file lives in system RAM with a few layers offloaded, and generation runs at system-RAM bandwidth, which is why the Mac Studio is the practical single-box route.
Consumer Hardware Configurations
Ceilings, not measurements: the card's memory bandwidth from NVIDIA's published figures (50-series compare table; the Ada whitepaper for the RTX 4090 and the GA102 whitepaper for the RTX 3090) divided by the Ollama download. Real decode speed lands below the ceiling — our measured 7B–8B runs on an M3 Pro reach 80–90% of theirs.
| Hardware | VRAM | Vendor bandwidth | Best R1 version | Download | Bandwidth ceiling |
|---|---|---|---|---|---|
| RTX 5060 Ti 16GB | 16GB | 448GB/s | R1 14B Q4_K_M, 16K context | 9.0GB | ~50 tok/s |
| RTX 5070 | 12GB | 672GB/s | R1 14B Q4_K_M, 4K context (or R1 8B) | 9.0GB (5.2GB) | ~75 tok/s (~129) |
| RTX 5070 Ti | 16GB | 896GB/s | R1 14B Q4_K_M, 16K context | 9.0GB | ~100 tok/s |
| RTX 5080 | 16GB | 960GB/s | R1 14B Q4_K_M, 16K context | 9.0GB | ~107 tok/s |
| RTX 3090 | 24GB | 936GB/s | R1 32B Q4_K_M | 20GB | ~47 tok/s |
| RTX 4090 | 24GB | 1,008GB/s | R1 32B Q4_K_M | 20GB | ~50 tok/s |
| RTX 5090 | 32GB | 1,792GB/s | R1 32B Q4_K_M with long context, or R1 14B q8_0 | 20GB (16GB) | ~90 tok/s (~112) |
Apple Silicon Performance
Same arithmetic, with Apple's published memory bandwidth for each chip (newsroom and tech-spec pages linked in the sources) divided by the Ollama download. Ceilings only.
| Mac | Memory bandwidth | Memory | Best R1 version | Download | Bandwidth ceiling |
|---|---|---|---|---|---|
| M2 (MacBook Air / mini) | 100GB/s | 16GB | R1 8B Q4_K_M | 5.2GB | ~19 tok/s |
| M4 (MacBook Air / mini) | 120GB/s | 16–32GB | R1 8B Q4_K_M; 14B at 24GB+ | 5.2GB (9.0GB) | ~23 tok/s (~13) |
| M4 Pro | 273GB/s | 24–64GB | R1 14B Q4_K_M; 32B at 48GB+ | 9.0GB (20GB) | ~30 tok/s (~14) |
| M5 Pro | 307GB/s | 24–64GB | R1 32B Q4_K_M at 48GB+ | 20GB | ~15 tok/s |
| M4 Max (top configuration) | 546GB/s | up to 128GB | R1 70B Q4_K_M at 128GB | 43GB | ~13 tok/s |
| M5 Max (40-core GPU) | 614GB/s | 48–128GB | R1 32B; 70B at 128GB | 20GB (43GB) | ~31 tok/s (~14) |
| M3 Ultra (Mac Studio) | over 800GB/s | 96–512GB | R1 671B UD-TQ1_0 at 256GB; Q4_K_M at 512GB | 162GB (404GB) | ~4.9 tok/s (~2) |
| M5 Ultra (Mac Studio) | 1.2TB/s | 96–512GB | R1 671B UD-TQ1_0 at 256GB; Q4_K_M at 512GB | 162GB (404GB) | ~7.4 tok/s (~3) |
What we measured ourselves: R1 8B on an Apple M3 Pro
The tables above are configurations, not runs. This one is a run. deepseek-r1:8b (the Qwen3-based 8B distill, Q4_K_M, 5.23 GB) on our own 18GB M3 Pro, with the 7B/8B models people compare it against measured in the same session:
| Model (Ollama tag) | Params | Quant | File | Measured tok/s | Run spread | Ceiling | Share | Date |
|---|---|---|---|---|---|---|---|---|
| llama3.2:3b | 3.2B | Q4_K_M | 2.02 GB | 55.6 | 53.4–55.8 | 74 | 75% | 2026-11-02 |
| qwen2.5-coder:3b-base | 3.1B | Q4_K_M | 1.93 GB | 55.0 | 53.8–56.6 | 78 | 71% | 2026-11-02 |
| qwen3:4b | 4.0B | Q4_K_M | 2.50 GB | 44.7 | 44.1–44.8 | 60 | 75% | 2026-11-02 |
| phi4-mini | 3.8B | Q4_K_M | 2.49 GB | 43.7 | 42.8–45.2 | 60 | 73% | 2026-11-02 |
| mistral:7b | 7.2B | Q4_K_M | 4.37 GB | 29.0 | 29.0–29.0 | 34 | 84% | 2026-11-02 |
| qwen2.5-coder:7b | 7.6B | Q4_K_M | 4.68 GB | 29.0 | 28.9–29.0 | 32 | 90% | 2026-11-02 |
| llama3.1:8b | 8.0B | Q4_K_M | 4.92 GB | 27.2 | 26.9–27.4 | 30 | 89% | 2026-11-02 |
| deepseek-r1:8b | 8.2B | Q4_K_M | 5.23 GB | 25.4 | 25.4–25.5 | 29 | 89% | 2026-11-02 |
| qwen3:8b | 8.2B | Q4_K_M | 5.23 GB | 25.3 | 25.2–25.3 | 29 | 88% | 2026-11-02 |
| gemma3:12b | 11.8B | Q4_K_M | 7.31 GB | 16.7 | 16.1–16.8 | 21 | 81% | 2026-11-02 |
| deepseek-r1:14b | 14.8B | Q4_K_M | 8.99 GB | 14.7 | 14.6–14.8 | 17 | 88% | 2026-11-02 |
| qwen2.5-coder:14b | 14.8B | Q4_K_M | 8.99 GB | 14.5 | 14.4–14.6 | 17 | 87% | 2026-11-02 |
| qwen3:14b | 14.8B | Q4_K_M | 9.28 GB | 14.5 | 14.4–14.5 | 16 | 90% | 2026-11-02 |
Measured on an Apple M3 Pro, 18 GB unified memory, Ollama 0.40.13, macOS 27.0.1 (Darwin 27.0.0, arm64), Metal, 2 November 2026. Median generation rate of 6 runs after a discarded warm-up, computed from Ollama's raw eval_count and eval_duration over its HTTP API (not scraped from the terminal); any run that produced fewer than 30 tokens is thrown out rather than averaged. The same prompt, 7 runs, for every model. Ceiling = 150 GB/s (Apple's figure for the M3 Pro) ÷ the file size Ollama downloaded. One machine is a data point, not a survey; download the script (MIT) if you want the same table for yours, and see how each row is measured.
Also measured: deepseek-r1:8b 46.2 tok/s on the NVIDIA L4 (24 GB), rented cloud VM, Ollama 0.40.13, 2026-11-03; deepseek-r1:14b 26.8 tok/s on the NVIDIA L4 (24 GB), rented cloud VM, Ollama 0.40.13, 2026-11-03; deepseek-r1:32b 12.3 tok/s on the NVIDIA L4 (24 GB), rented cloud VM, Ollama 0.40.13, 2026-11-03. Every row is in the open benchmark dataset.
R1 8B is the slowest row per token because it is the largest file, and it also writes the longest answers: its reasoning trace is counted in the tokens-per-second figure, so a reply takes two to four times longer in wall-clock time than llama3.1:8b at a nearly identical per-token rate. Budget for that when you pick a context length.
Integration Options
Open WebUI (ChatGPT-like Interface)
docker run -d -p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
--name open-webui \
ghcr.io/open-webui/open-webui:main
Access at http://localhost:3000 and select deepseek-r1:32b from the model dropdown.
VS Code Integration (Continue Extension)
- Install the Continue extension
- Open Continue settings (Ctrl+Shift+P > "Continue: Open Config")
- Add configuration:
{
"models": [
{
"title": "DeepSeek R1 32B",
"provider": "ollama",
"model": "deepseek-r1:32b",
"contextLength": 8192
}
]
}
Python API Integration
import ollama
# Basic chat
response = ollama.chat(
model='deepseek-r1:32b',
messages=[{
'role': 'user',
'content': 'Solve step by step: What is the derivative of x^3 * sin(x)?'
}]
)
print(response['message']['content'])
# Streaming for long reasoning
for chunk in ollama.chat(
model='deepseek-r1:32b',
messages=[{'role': 'user', 'content': 'Your complex question here'}],
stream=True
):
print(chunk['message']['content'], end='', flush=True)
OpenAI-Compatible API
Ollama exposes an OpenAI-compatible endpoint:
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama" # any string works
)
response = client.chat.completions.create(
model="deepseek-r1:32b",
messages=[{"role": "user", "content": "Explain quantum entanglement"}],
temperature=0.6
)
print(response.choices[0].message.content)
llama.cpp Direct (Advanced)
For maximum control with the full 671B model:
./llama.cpp/llama-cli \
--model DeepSeek-R1-GGUF/DeepSeek-R1-UD-IQ1_S/DeepSeek-R1-UD-IQ1_S-00001-of-00003.gguf \
--cache-type-k q4_0 \
--threads 16 \
--temp 0.6 \
--ctx-size 8192 \
--n-gpu-layers 7 \
-no-cnv \
--prompt "<|User|>Your prompt here<|Assistant|>"
Real-World Use Cases
1. Mathematical Problem Solving
R1 excels at competition math. Feed it IMO problems, calculus derivations, or statistical analysis. Use prompts like: "Please reason step by step, and put your final answer within \boxed{}"
2. Code Architecture and Debugging
Ask R1 to design system architectures or debug complex logic. Its reasoning shows the "why" behind decisions—invaluable for learning and code review.
3. Legal and Contract Analysis
R1 can parse complex documents, identify issues, and explain implications step-by-step. The visible reasoning creates an audit trail.
4. Scientific Research Assistance
Use for hypothesis evaluation, experimental design, and paper analysis. R1's 71.5% on GPQA Diamond (PhD-level science) demonstrates deep technical understanding.
5. Educational Tutoring
R1's visible reasoning makes it ideal for teaching. Students see the problem-solving process, not just answers. Perfect for math, physics, and programming education.
6. Complex Decision Analysis
Multi-criteria decisions benefit from R1's systematic reasoning. It naturally explores trade-offs and edge cases.
DeepSeek R1 vs Other Models
Reasoning Model Comparison
| Feature | DeepSeek R1 | OpenAI o1 | Claude 3.5 | GPT-4 |
|---|---|---|---|---|
| Visible Reasoning | Yes ( | No | No | No |
| AIME 2024 | 79.8% | 79.2% | 16.0% | 9.3% |
| MATH-500 | 97.3% | 96.4% | 78.3% | 74.6% |
| Codeforces Elo | 2,029 | - | 1,886 | 1,891 |
| License | MIT (Open) | Proprietary | Proprietary | Proprietary |
| Local Running | Yes | No | No | No |
Local Model Comparison
Downloads are the default Ollama tags; the last column is the RTX 4090 bandwidth ceiling (1,008GB/s ÷ download), which only applies when the file actually fits the card's 24GB.
| Model | Ollama download (Q4) | Reasoning | Coding | RTX 4090 ceiling |
|---|---|---|---|---|
| DeepSeek R1 32B (deepseek-r1:32b) | 20GB | Excellent | Excellent | ~50 tok/s |
| Llama 3.1 70B (llama3.1:70b) | 43GB | Good | Excellent | Does not fit a 24GB card |
| Qwen 2.5 72B (qwen2.5:72b) | 47GB | Good | Excellent | Does not fit a 24GB card |
| Mistral Small 24B (mistral-small:24b) | 14GB | Good | Good | ~72 tok/s |
| Phi-4 14B (phi4:14b) | 9.1GB | Good | Good | ~111 tok/s |
Verdict: For reasoning-heavy tasks, R1 32B is unmatched in the "runs on single 4090" category. Our wider ranking, with and without reasoning, is the best Ollama models guide; if you want R1 with its refusals removed, huihui_ai publishes abliterated builds of every distill — see the uncensored Ollama models page.
Troubleshooting Common Issues
Model Loads Slowly
# Pre-load into memory and keep warm
ollama run deepseek-r1:32b "warmup" --keepalive 1h
Out of Memory Errors
# The default 32b tag is already Q4_K_M (20GB); there is no smaller
# official 32B quant, so step down a size instead
ollama pull deepseek-r1:14b # 9.0GB
# Reduce the context window (set before starting the server)
OLLAMA_CONTEXT_LENGTH=4096 ollama serve
Slow Generation Speed
# Verify GPU is being used
ollama ps
# Force GPU layers
OLLAMA_NUM_GPU=999 ollama run deepseek-r1:32b
# Check CUDA installation
nvidia-smi
Thinking Tokens Not Visible
Some interfaces hide <think> tags. Check settings for:
- "Show reasoning" or "Show thinking"
- "Raw output mode"
- Or use the CLI directly to see full output
Model Gives Truncated Responses
# Increase max tokens
ollama run deepseek-r1:32b --num-predict 4096
Function Calling and Structured Output (Pre-R1-0528)
R1-0528 added function calling and system-prompt support (per DeepSeek's model card). On Ollama the 8B and 671B tags are already the 0528 builds; if you pulled before the upgrade, refresh them:
ollama pull deepseek-r1:8b
ollama pull deepseek-r1:671b
Key Takeaways
- DeepSeek R1 is the best open-source reasoning model, matching OpenAI o1 on complex math and coding benchmarks
- The 32B distilled version is ideal for single-GPU setups (RTX 4090 or 64GB Mac)
- Visible
<think>tokens make R1 uniquely transparent—you can watch it reason - MIT license means completely free commercial use with no API costs
- R1-0528 update added function calling and system prompts, cut hallucinations and lifted AIME 2025 from 70% to 87.5%; Ollama's 8B and 671B tags are already the 0528 builds
- Full 671B needs a 512GB Mac Studio or a multi-GPU server — even the smallest dynamic quant of R1-0528 is 162GB, and nothing below that fits consumer VRAM
- V4 shipped April 2026 (V4-Pro 1.6T / V4-Flash 284B, MIT, 1M context) with enhanced coding and agent capabilities
Next Steps
- Set up RAG for document analysis with DeepSeek R1
- Build AI agents using R1's reasoning capabilities
- Compare with Llama 4 for your specific use case
- Understand MoE architecture behind DeepSeek's efficiency
- Check VRAM requirements for different model configurations, or the Ollama RAM/VRAM table for every common tag
- Connect R1 to MCP servers through Ollama to give it files, GitHub and databases
- See what else fits your card — the 16GB picks, and the 12GB picks if you are running the 14B at a short context
DeepSeek R1 represents a paradigm shift in open-source AI. For the first time, anyone can run a model that rivals the best closed-source systems for complex reasoning—completely free, completely private, completely yours. The visible reasoning process makes it uniquely suited for education, debugging, and trust-critical applications. Whether you're running the 8B distilled on an 8GB GPU or the full 671B on enterprise hardware, R1 delivers reasoning capabilities that were impossible to access locally just a year ago.
Ollama’s running. Here’s what to build with it.
Go from “ollama run” to RAG apps, agents, and fine-tuned models — structured and hands-on. First chapter free.
Stop piecing Ollama together from blog posts
Ollama Mastery is 15 chapters end to end — install, model choice, Modelfiles, GPU offload, the API, and the 20 errors that actually happen. Plus 24 more courses.
Liked this? 25 full AI courses are waiting.
From fundamentals to RAG, agents, MCP servers, voice AI, and production deployment with real GitHub repos. First chapter free, every course.
Build Real AI on Your Machine
RAG, agents, NLP, vision, and MLOps - chapters across 25 courses that take you from reading about AI to building AI.
Want the structured version?
Hands-on courses on local AI, from $8.99 a month. The first chapter of each is free.
Keep going
- PILLARLocal AI Hardware Requirements (2026): Complete Guide
- Best Mac for Local AI: Every Apple Silicon Chip Ranked M1–M6
- Ollama System Requirements: Minimum RAM, GPU, Disk Size
- Run an LLM on Your Phone: Offline AI on Android & iPhone
- blog/best-gpus-for-ai-2025
- RTX 4090 vs 3090: Deep Learning & Local AI on 24GB
- RX 7900 XTX vs RTX 3090: Which 24GB Card for Local AI
- AI Server Build Under $1,500: Parts List and What Fits
- DeepSeek Coder V2 16B: Size, VRAM and Ollama Tags
- Ollama Not Using GPU: 8 Causes, One Test for Each
Comments (0)
No comments yet. Be the first to share your thoughts!
