DeepSeek V3 / R1 VRAM requirements
DeepSeek V3 / R1 needs about 425 GB of VRAM at Q4_K_M with 8K context, so it needs a 640 GB setup such as 8× H100 SXM; a 24 GB card is too small. DeepSeek V3 / R1 has 684.5B parameters, of which about 37B are used per token; all 256 experts still have to be in memory. With the same 8K context and one request it needs 702 GB at FP8 and 1,404 GB at FP16/BF16. The published weights take 641 GB (FP8). It does not fit on a 24 GB card at Q4_K_M; the smallest setup here that holds it with an 8K context is 8× H100 SXM (640 GB).
425 GB at Q4_K_M, 8K context, one request
- FP8
- 702 GB
- FP16 / BF16
- 1,404 GB
- Published weights
- 641 GB
- Smallest setup, Q4_K_M
- 8× H100 SXM (640 GB)
Worked example: DeepSeek V3 / R1 with 32K tokens
Inputs: DeepSeek V3 / R1 · Q4_K_M weights · 32,768 tokens of context · one request · FP16 KV cache
- Weights (684.5B at Q4_K_M)
- 386 GB
- KV cache (69 KB per token)
- 2.14 GB
- Buffers and runtime (0.5 GB + 10%)
- 39.3 GB
- Total
- 427 GB
The smallest setup here that holds it is 8× H100 SXM (640 GB): split across the 8 cards, with the 0.5 GB runtime base on each of them, it takes 431 GB and leaves about 209 GB to spare. Change the inputs in the calculator
What makes DeepSeek V3 / R1's memory use different
It uses multi-head latent attention: each layer caches a latent of 576 values per token instead of 40,960 for 128 full key and value heads, 71.1× less.
As a mixture-of-experts model it reads about 20.8 GB of its 386 GB Q4_K_M weights per generated token (5%), so it writes like a much smaller model while needing memory for all of them.
How much VRAM does DeepSeek V3 / R1 need?
DeepSeek V3 / R1 needs 425 GB at Q4_K_M, 746 GB at Q8_0 and 1,404 GB at FP16 with 8,192 tokens of context and one request. Each total below is the weights plus the FP16 KV cache and the runtime overhead (0.5 GB plus 10%), and each row opens the calculator with that setting. What the GGUF names mean.
| Precision | Weights | Total | Smallest setup |
|---|---|---|---|
| As published (FP8) | 641 GB | 707 GB | 8× H200 (1,128 GB) |
| FP16 / BF16 | 1,275 GB | 1,404 GB | None listed |
| FP8 / INT8 | 638 GB | 702 GB | 8× H200 (1,128 GB) |
| INT4 (AWQ / GPTQ) | 339 GB | 374 GB | M3 Ultra Mac Studio (512 GB, 384 GB usable) |
| GGUF Q8_0 | 677 GB | 746 GB | 8× H200 (1,128 GB) |
| GGUF Q6_K | 523 GB | 576 GB | 8× H100 SXM (640 GB) |
| GGUF Q5_K_M | 452 GB | 498 GB | 8× H100 SXM (640 GB) |
| GGUF Q4_K_M | 386 GB | 425 GB | 8× H100 SXM (640 GB) |
| GGUF IQ4_XS | 347 GB | 382 GB | M3 Ultra Mac Studio (512 GB, 384 GB usable) |
| GGUF Q3_K_M | 312 GB | 344 GB | M3 Ultra Mac Studio (512 GB, 384 GB usable) |
| GGUF IQ3_XXS | 263 GB | 290 GB | M3 Ultra Mac Studio (512 GB, 384 GB usable) |
| GGUF Q2_K | 267 GB | 295 GB | M3 Ultra Mac Studio (512 GB, 384 GB usable) |
Fine-tuning DeepSeek V3 / R1? DeepSeek V3 / R1 VRAM for LoRA, QLoRA and full training.
DeepSeek V3 / R1 GGUF files on Hugging Face
The 5 GGUF files llama.cpp picks for DeepSeek V3 / R1 with -hf <repo>:<QUANT>, with the bytes the Hugging Face file list reported on 2026-09-29. Each total is that file plus the FP16 KV cache and 0.5 GB + 10%, one request. "vs estimate" compares the file with the bits-per-weight size the table above uses.
| Quant | File | Size | vs estimate | 8K | 32K | 128K |
|---|---|---|---|---|---|---|
| Q3_K_M | unsloth/ | 297 GB319,198,395,296 bytes | −5% | 328 GB | 330 GB | 337 GB |
| Q4_K_M | unsloth/ | 377 GB404,430,187,072 bytes | −2% | 415 GB | 417 GB | 424 GB |
| Q5_K_M | unsloth/ | 443 GB475,396,557,600 bytes | −2% | 488 GB | 490 GB | 497 GB |
| Q6_K | unsloth/ | 513 GB550,798,326,368 bytes | −2% | 565 GB | 567 GB | 574 GB |
| Q8_0 | unsloth/ | 664 GB713,286,514,080 bytes | −2% | 732 GB | 734 GB | 741 GB |
GB here is GiB (1024³ bytes), as everywhere on this site; Hugging Face shows the Q4_K_M file as 404.4 GB, in 10⁹ bytes.
Which DeepSeek V3 / R1 GGUF fits a 16, 24, 32, 48 or 80 GB GPU or a Mac
From the file sizes above: the largest file that fits each machine with an 8K context and 0.5 GB left free, the longest context it then has room for, and the longest context for Q4_K_M (377 GB). One request, FP16 KV cache. The Q4_K_M file is 9.04 GB under its bits-per-weight estimate; the estimate tables and the llama-server command on this page count the estimate, so they show less context.
| Hardware | Largest GGUF, 8K | Its longest context | Q4_K_M, longest context |
|---|---|---|---|
| RTX 5060 Ti 16GB | None fits | — | No |
| RTX 4090 (24 GB) | None fits | — | No |
| RTX 5090 (32 GB) | None fits | — | No |
| L40S (48 GB) | None fits | — | No |
| H100 SXM (80 GB) | None fits | — | No |
| M4 Pro Mac (64 GB, 48 GB usable) | None fits | — | No |
| M4 Max Mac (128 GB, 96 GB usable) | None fits | — | No |
Run DeepSeek V3 / R1 with llama.cpp
llama-server -hf unsloth/DeepSeek-V3-GGUF:Q4_K_M -c 163840 DeepSeek-V3-Q4_K_M/
DeepSeek V3 / R1 at 8K, 32K, 128K and 160K (full) tokens of context
All 61 layers use multi-head latent attention. Each extra token of context adds 69 KB of FP16 cache per request. The last column is the smallest setup here, one card or a group, that holds it at Q4_K_M. How the KV cache works.
| Context | KV cache, FP16 | Total at Q4_K_M | Total at Q8_0 | Smallest setup, Q4_K_M |
|---|---|---|---|---|
| 8K tokens | 549 MB | 425 GB | 746 GB | 8× H100 SXM (640 GB) |
| 32K tokens | 2.14 GB | 427 GB | 748 GB | 8× H100 SXM (640 GB) |
| 128K tokens | 8.58 GB | 434 GB | 755 GB | 8× H100 SXM (640 GB) |
| 160K tokens | 10.7 GB | 437 GB | 757 GB | 8× H100 SXM (640 GB) |
How fast DeepSeek V3 / R1 writes on a multi-GPU group
Tokens per second for one request with 8,192 tokens of context, estimated from memory bandwidth and the parameters read per token. No single card or machine holds it at Q4_K_M or FP8 (the precisions below), so these rows are the GPU groups here that do, in tensor parallel with their combined bandwidth. A dash means it does not fit at that precision. Try other settings in the speed calculator.
| Hardware | Bandwidth | Q4_K_M | FP8 |
|---|---|---|---|
| 8× H100 SXM | 26,800 GB/s | 157–332 | — |
| 8× H200 | 38,400 GB/s | 182–401 | 148–307 |
Longest context on a multi-GPU group
No single card or machine holds it at Q4_K_M, Q8_0 or FP8 (the precisions below), so these rows use GPU groups: how many tokens of context DeepSeek V3 / R1 fits on each, in one tensor-parallel group with one request, an FP16 KV cache and 0.5 GB left free. "Full" means the model's whole context window fits.
| Group | Memory | Q4_K_M | Q8_0 | FP8 |
|---|---|---|---|---|
| 2× RTX 3060 12GB | 24 GB | No | No | No |
| 2× RTX 3090 | 48 GB | No | No | No |
| 2× RTX 4090 | 48 GB | No | No | No |
| 2× RTX 5090 | 64 GB | No | No | No |
| 4× RTX 3090 | 96 GB | No | No | No |
| 8× H100 SXM | 640 GB | 160K (full) | No | No |
| 8× H200 | 1,128 GB | 160K (full) | 160K (full) | 160K (full) |
Model details
- Parameters
- 684.5B (684,531,386,000)
- Experts
- 256 routed experts, all loaded
- Active per token
- 37B
- Layers
- All 61 layers use multi-head latent attention
- Attention cache
- 576 values per token (compressed latent)
- Context length
- 163,840 tokens
- Published weights
- 641 GB (FP8)
- On Hugging Face
- deepseek-ai/
DeepSeek-V3
Why this estimate looks this way
At Q4_K_M and an 8K-token context, DeepSeek V3 / R1 uses 386 GB for weights, 549 MB for its FP16 KV cache and 39.1 GB for estimated runtime overhead, totaling 425 GB. The overhead is a 0.5 GB base plus 10% of weights and cache.
This is a mixture-of-experts model: all 256 experts contribute to the 684.5B parameters held in memory, even though only about 37B parameters run per token. Using only active parameters would understate VRAM.
Its attention layout matters for long context: all 61 layers use multi-head latent attention. The FP16 cache grows by about 69 KB per additional token per request.
The architecture and published checkpoint size come from the model's config.json and weight files. These are estimates rather than measured peak memory; inference engines can reserve extra buffers or preallocate the full configured cache.
DeepSeek V3 / R1 next to similar-sized models
The three models here closest to it in parameter count, at Q4_K_M with 8,192 tokens of context.
| Model | Parameters | Total | KV per token | Smallest setup |
|---|---|---|---|---|
| DeepSeek V3 / R1 | 684.5B, 37B active | 425 GB | 69 KB | 8× H100 SXM (640 GB) |
| DeepSeek V3.2 | 685.4B, 37B active | 426 GB | 76 KB | 8× H100 SXM (640 GB) |
| GLM-5.3 | 753.3B, 40B active | 468 GB | 90 KB | 8× H100 SXM (640 GB) |
| GLM-5.2 | 753.3B, 40B active | 468 GB | 90 KB | 8× H100 SXM (640 GB) |
DeepSeek V3 / R1 VRAM questions
How much VRAM do I need to run DeepSeek V3 / R1 locally?
About 425 GB at Q4_K_M with an 8K context and one request, by the bits-per-weight estimate, and 1,404 GB at BF16. The Q4_K_M GGUF DeepSeek-V3-Q4_K_M/
Can I run DeepSeek V3 / R1 on a 24 GB GPU?
No. The RTX 4090 (24 GB) alone cannot hold it: the smallest listed GGUF, Q3_K_M at 297 GB, needs 328 GB with an 8K context.
Which quantization of DeepSeek V3 / R1 fits in 16 GB of VRAM?
The RTX 5060 Ti 16GB alone cannot hold it: the smallest listed GGUF, Q3_K_M at 297 GB, needs 328 GB with an 8K context.
Can I run DeepSeek V3 / R1 on a Mac?
The M4 Pro Mac (64 GB, 48 GB usable) alone cannot hold it: the smallest listed GGUF, Q3_K_M at 297 GB, needs 328 GB with an 8K context. The M4 Max Mac (128 GB, 96 GB usable) alone cannot hold it: the smallest listed GGUF, Q3_K_M at 297 GB, needs 328 GB with an 8K context. By default macOS lets the GPU use about 75% of unified memory.
How much more VRAM does DeepSeek V3 / R1 need for 32K or 128K tokens of context?
Its FP16 KV cache is 549 MB at 8K, 2.14 GB at 32K, 8.58 GB at 128K for one request, so 128K adds 8.04 GB over 8K, plus 10% overhead. A q8_0 cache
Why does DeepSeek V3 / R1 use more VRAM than its GGUF file size?
The file holds only the weights. At Q4_K_M with an 8K context: 377 GB of weights (the file's 404,430,187,072 bytes) + 549 MB of FP16 KV cache + 38.2 GB of compute buffers and runtime (0.5 GB + 10%) = 415 GB.
Does DeepSeek V3 / R1 need less VRAM because only 37B parameters are active?
No. All 256 experts stay loaded, so the Q4_K_M file takes 377 GB. The active parameters decide speed: each generated token reads about 20.8 GB of them.
Badge for your model card
Paste it into a Hugging Face or GitHub README; it shows the Q4_K_M total above and links to this page. Q8_0 and FP16 badges.
Numbers read from the model files on Hugging Face on . Compare it with other models in the reproducible model and GPU report.