Engineering Guide

How to Run DeepSeek Locally (and When Not To)

"Run DeepSeek locally" means two very different things. The distilled models — DeepSeek's six official R1 distills from 1.5B to 70B parameters — genuinely run on a laptop or a single gaming GPU through Ollama. The full DeepSeek-R1 is a 671B-parameter Mixture-of-Experts model; even at 4-bit quantization its weights are 404 GB, which is server-class hardware, not a desktop. This guide draws that line precisely: a "what you actually need" VRAM/RAM table sourced from real download sizes, the quantization trade-off, and the honest cost math on when a hosted API beats buying a GPU at all.

Running DeepSeek locally — which distill fits your GPU and when to use the API instead

Can you run DeepSeek locally?

Yes — the distilled models run on a laptop or a single GPU; the full model does not. This is the whole trick to setting up DeepSeek locally: there is no single "DeepSeek" you download. There is a family.

So "can you run DeepSeek locally?" is really "which DeepSeek, on what hardware?" The rest of this guide answers exactly that, with numbers from the official Ollama library and Hugging Face model cards.

Which DeepSeek: distill vs the full model

The distills are not the 671B model — they are much smaller models that borrowed its reasoning style. DeepSeek released six official distilled models, each fine-tuned on reasoning traces from DeepSeek-R1 onto an existing open base:

Distilled modelBase modelLicense
R1-Distill-Qwen-1.5BQwen2.5-Math-1.5BApache 2.0
R1-Distill-Qwen-7BQwen2.5-Math-7BApache 2.0
R1-Distill-Llama-8BLlama-3.1-8BMeta Llama
R1-Distill-Qwen-14BQwen2.5-14BApache 2.0
R1-Distill-Qwen-32BQwen2.5-32BApache 2.0
R1-Distill-Llama-70BLlama-3.3-70B-InstructMeta Llama

Two things follow from this. First, these are dense models — every parameter is active per token — not the sparse MoE of the full R1, so a "7B distill" behaves like a 7B model, not a slice of a 671B one. Second, they inherit their base licenses: the Qwen-based distills follow Qwen's Apache 2.0, the Llama-based ones follow the respective Meta Llama license — only the full DeepSeek-R1 (and the newer V3-line weights) is MIT. If you are comparing DeepSeek's open reasoning against other open weights, see DeepSeek-R1 vs GPT-OSS.

What you actually need to run DeepSeek locally

Match the model size to your VRAM — or your unified/system RAM — before you download 404 GB by accident. The table below is synthesized from Ollama's published download sizes (the weights alone, at the default Q4_K_M quantization), with a practical headroom margin added for the KV cache, context, and runtime overhead. Treat the hardware column as the minimum comfortable target, not a floor.

ModelDownload (Q4_K_M)Practical memoryExample hardware
deepseek-r1:1.5b1.1 GB~4-6 GBAny modern GPU, or CPU/RAM only
deepseek-r1:7b4.7 GB~8 GB VRAMRTX 3060 / 4060
deepseek-r1:8b (default)5.2 GB~8 GB VRAMRTX 3060 / 4060
deepseek-r1:14b9.0 GB~12 GB VRAMRTX 3060 12GB / 4070
deepseek-r1:32b20 GB~24 GB VRAMRTX 3090 / 4090, or 32GB+ Apple Silicon
deepseek-r1:70b43 GB~48 GB VRAM2×24GB, an A6000, or 64GB+ unified
deepseek-r1:671b404 GBmulti-GPU / ~512 GB RAM~8× H100-80GB, or high-RAM server

Sizes from the Ollama deepseek-r1 tags (verified July 2026). "Practical memory" adds ~20-40% headroom over the raw weights for context and KV cache; it is our derived estimate, not a vendor spec. Apple Silicon uses unified memory, so its usable ceiling is roughly total RAM minus what the OS needs.

The jump that surprises people is the last row: the full 671B model is ~9× larger on disk than the 70B distill (and ~45× the 14B). There is no consumer GPU that holds it — this is the line between "local" and "a small cluster."

Local (consumer) ← download size, log scale → Server-class 1.5b1.1 GB 7b4.7 GB 8b5.2 GB 14b9.0 GB 32b20 GB 70b43 GB 671b404 GB
DeepSeek-R1 Q4_K_M download sizes on Ollama (log scale). The green 671B bar is the full MoE; the blue bars are the distills. Source: Ollama deepseek-r1 tags, July 2026.

Install and run DeepSeek with Ollama

One command pulls a distill; a tag picks the size. Ollama is the simplest path for the distilled models. After installing Ollama, the bare command pulls the default 8B distill (a 5.2 GB download):

# Default: the 8B distill (5.2 GB, Q4_K_M)
ollama run deepseek-r1

# Pick a size explicitly
ollama run deepseek-r1:1.5b    # 1.1 GB — laptop / CPU-only
ollama run deepseek-r1:7b      # 4.7 GB — ~8 GB VRAM
ollama run deepseek-r1:14b     # 9.0 GB — ~12 GB VRAM
ollama run deepseek-r1:32b     # 20 GB  — ~24 GB VRAM (RTX 3090/4090)
ollama run deepseek-r1:70b     # 43 GB  — ~48 GB VRAM

The unsuffixed tags default to Q4_K_M quantization. The distill tags advertise a 128K context window; the full 671b tag advertises 160K. If you want the newer DeepSeek-V3 line, deepseek-v3.1 is in the Ollama library (671b, a 404 GB download, 160K context) — but note that DeepSeek-V3.2 / V3.2-Exp is not yet in the Ollama library as of the July 2026 check, so there is no one-command local path to it there.

Quantization: the memory-vs-quality lever

Lower precision shrinks the weights roughly proportionally — that is how a 671B model goes from 1.3 TB to 404 GB. Quantization stores each weight in fewer bits. On Ollama the full DeepSeek-R1 is offered at three precisions, and the footprint scales directly with the bit-width:

PrecisionOllama tagFull 671B sizeRelative to fp16
16-bit671b-fp161.3 TB100%
8-bit671b-q8_0713 GB~55%
4-bit671b-q4_K_M404 GB~31%

The trade-off is accuracy for memory: fewer bits per weight means a smaller model that fits in less VRAM/RAM, at some cost to fidelity. Q4_K_M is the common default balance — it is what the unsuffixed Ollama tags ship, and it is why the "404 GB" figure is the one you see quoted for local 671B. The same R1-0528 update variants (671b-0528-q4_K_M and so on) are offered at matching sizes. If you only remember one number: 4-bit is roughly a third of the full-precision footprint.

Running the full 671B model locally

It is possible, but it is a server build, not a desktop one. The full DeepSeek-R1 is a 671B-total / 37B-active MoE. Even though only 37B parameters activate per token (which helps throughput), the whole 671B must be resident in memory. From the 404 GB Q4_K_M weights, realistic paths are:

The newer DeepSeek-V3.2-Exp keeps the same 671B-class MoE (its canonical config file is config_671B_v3.2.json; the Hugging Face card header shows "685B params", which reflects the summed tensor count including its new sparse-attention indexer — sources conflict on which label to cite) and adds DeepSeek Sparse Attention for long-context efficiency, with a ~160K context window. It is an experimental release and, as noted, not yet a one-command Ollama pull. None of that changes the hardware reality: this is a large model regardless of the attention trick.

Self-host vs API: the honest cost

For the full-quality 671B model, a hosted API is almost always cheaper than the hardware to run it — and the gap is not close. Be honest with yourself about which column you are really in:

ScenarioLocal self-hostHosted API / gateway
Small distill, GPU you ownGreat — free marginal cost, private, offlineFine, but you already have the hardware
Full 671B, occasional useNeeds ~8× H100 or ~512 GB RAM — huge upfront cost, idle most of the timePay per token; no hardware, no idle cost
Full 671B, high sustained volumeCan pencil out if utilization is near-constant and you can operate the clusterPredictable per-token cost, no ops burden
Privacy / air-gapped requirementOften the deciding factor for localNot applicable if data cannot leave

The math is blunt: a single H100 costs more than most teams spend on inference APIs in years, and the full model needs several of them plus the power, cooling, and ops to keep them fed. Unless you have near-constant utilization or a hard privacy requirement, buying GPUs to run the 671B model occasionally is the expensive option. For a laptop-sized distill on a GPU you already own, local is genuinely free at the margin — that is the sweet spot for self-hosting. For the full model, price a few providers first; our cheapest LLM API guide walks the per-token comparison.

When to reach for the gateway instead

If you want full-quality DeepSeek without owning a cluster, call it over an OpenAI-compatible endpoint. DataLLM Lab exposes 300+ chat models — including large open weights — behind one API key on a familiar base URL, so "running DeepSeek" becomes a single HTTP call with no 404 GB download:

from openai import OpenAI

client = OpenAI(
    base_url="https://www.datallmlab.com/v1",
    api_key="YOUR_DATALLMLAB_KEY",
)

resp = client.chat.completions.create(
    model="deepseek/deepseek-r1",
    messages=[{"role": "user", "content": "Explain MoE routing in one paragraph."}],
)
print(resp.choices[0].message.content)

Because the endpoint is OpenAI-compatible, the same base URL also serves other open-weight reasoning models — see GPT-OSS 120B (whose local footprint we break down in the GPT-OSS 120B requirements guide) and the best open-source LLMs of 2026. If you are choosing an open model to build on rather than to host, that comparison is the place to start.

Skip the 404 GB download

DataLLM Lab runs large open-weight models like DeepSeek on one OpenAI-compatible key — no GPUs, no quantization tuning, pay per token. Keep your laptop for the distills; use the gateway for the full model.

FAQ

Can you run DeepSeek locally?

Yes for the distills. The six official R1 distills (1.5B-70B) run on hardware from a laptop to a single high-end GPU via Ollama. The full 671B MoE (404 GB at 4-bit) needs multi-GPU server hardware or a ~512 GB workstation.

How much VRAM do I need for DeepSeek R1?

Derived from Ollama sizes: 1.5B ~4-6 GB; 7B/8B ~8 GB; 14B ~12 GB; 32B ~24 GB (RTX 3090/4090); 70B ~48 GB. The full 671B needs multi-GPU VRAM (~8× H100) or ~512 GB system RAM.

How do I install DeepSeek with Ollama?

Run ollama run deepseek-r1 for the default 8B distill (5.2 GB), or add a tag like :1.5b, :14b, :32b, :70b, or :671b. Unsuffixed tags use Q4_K_M quantization.

Is a distill the same as the full DeepSeek-R1?

No. Distills are smaller dense Qwen/Llama models fine-tuned on R1 reasoning data; they inherit their base licenses (Apache 2.0 / Meta Llama). Only the full 671B R1 is the MoE and is MIT-licensed.

What does quantization do to quality?

It stores weights at lower precision to save memory: the full 671B is 1.3 TB at fp16, 713 GB at q8_0, and 404 GB at Q4_K_M. Fewer bits means less memory at some accuracy cost; Q4_K_M is the common default balance.

Local or API — which is cheaper?

For the full 671B model, the API almost always wins: the ~8× H100 or ~512 GB hardware costs far more than years of per-token bills for typical volume. Local makes sense for small distills on a GPU you own, or for hard privacy/offline needs.

Written by
Kevin Fan

Founder of DataLLM Lab, the unified LLM gateway. Kevin tests models the boring way — same prompts, real costs, unedited outputs — and writes up what the runs actually show.

One API for every model

One API, every model.

Get a single API key for Claude Opus 4.7, GPT-5.4, and 300+ more — with automatic price comparison and routing to the best model for every request.