deepseek-ai

DeepSeek-R1-0528

684.5B parameters · mixture-of-experts · reasoning · Reasoning · DeepSeek family

mit hash verified source matched revision pinned

Which version should I download?

Default pick: GGUF · UD-Q2_K_XL — Unsloth UD-Q2_K_XL dynamic 2-bit quant of DeepSeek-R1-0528 (684.531B total, 256-expert MoE) — recommended balanced pick. MIT.

Set your rig to confirm it fits and to see if a higher-quality quant runs fully on your hardware.

Set your rig

GGUF · UD-Q2_K_XL

233.86 GB

Est. speed
Swarm
1S / 0L webseed OK

Unsloth UD-Q2_K_XL dynamic 2-bit quant of DeepSeek-R1-0528 (684.531B total, 256-expert MoE) — recommended balanced pick. MIT.

Want a different quant? Request it on the board →

Runs fully on

Green = the model's best quant fits fully in GPU/unified memory at 8K context. Tap a card for its full "what runs on it" page.

Context

Advertised 160k · usable ≈ 64–128k (measured — LongBench v2)

How we know

Evidence grade: measured — a published evaluation we can cite, with task and length stated.

LongBench v2 leaderboard: 56.7 overall w/ CoT; long bucket 51.4 — lower than original R1 (59.3). Release note publishes no context statements.

Reviewed on Jul 18, 2026.

Capabilities (as declared by the maintainer): reasoning tool calling

Run it

Runtime completeness (UD-Q2_K_XL torrent): llama.cpp ✅ Ollama – vision sidecar –

  • Ollama — runs the GGUF directly; no Modelfile bundled
  • vision sidecar — not a vision model

Context / KV 8,192 tokens · FP16 set above the quant table

Generic commands (no rig set). GPU-offload values assume the model fits on your GPU — set your rig for values tuned to your hardware.

Start the server
llama-server -m DeepSeek-R1-0528-UD-Q2_K_XL-00001-of-00006.gguf -c 8192 -ngl 999

Use llama-cli in place of llama-server for a one-shot prompt. This model compresses its KV cache, but only on llama.cpp b5137 (April 2025) or newer AND a GGUF converted after that date. Older files -- including some still-popular DeepSeek-R1 and V3-0324 quants -- fall back to the uncompressed layout and use about 5 MB per token instead of 70 KB. Check the quant repo date if long context is the point.

Save as Modelfile next to the GGUF (Modelfile)
FROM ./DeepSeek-R1-0528-UD-Q2_K_XL-00001-of-00006.gguf
PARAMETER num_ctx 8192
PARAMETER num_gpu 999
PARAMETER stop "<|end▁of▁sentence|>"
PARAMETER temperature 0.6
PARAMETER top_p 0.95
# Chat template: Ollama uses the template embedded in the GGUF (no TEMPLATE directive needed).
Create
ollama create deepseek-ai-deepseek-r1-0528 -f Modelfile
Run
ollama run deepseek-ai-deepseek-r1-0528

GGUF is not a first-class vLLM format.

vLLM GGUF support is experimental and single-file only; prefer safetensors/GPTQ/AWQ for production. If you must, pass the .gguf path to `vllm serve` with --load-format gguf on a recent vLLM.

transformers does not load GGUF weights.

GGUF weights run under llama.cpp, Ollama or LM Studio.

Load DeepSeek-R1-0528-UD-Q2_K_XL-00001-of-00006.gguf, set the context length to 8192 tokens. Set GPU offload to Max (all layers).

MLX runs MLX-format weights only (Apple Silicon). This quant is a GGUF build.

GGUF weights run under llama.cpp, Ollama or LM Studio.

Technical details

Chat template

{% if not add_generation_prompt is defined %}{% set add_generation_prompt = false %}{% endif %}{% set ns = namespace(is_first=false, is_tool=false, is_output_first=true, system_prompt='', is_first_sp=true, is_last_user=false) %}{%- for message in messages %}{%- if message['role'] == 'system' %}{%- if ns.is_first_sp %}{% set ns.system_prompt = ns.system_prompt + message['content'] %}{% set ns.is_first_sp = false %}{%- else %}{% set ns.system_prompt = ns.system_prompt + '

' + message['content'] %}{%- endif %}{%- endif %}{%- endfor %}{{ bos_token }}{{ ns.system_prompt }}{%- for message in messages %}{% set content = message['content'] %}{%- if message['role'] == 'user' %}{%- set ns.is_tool = false -%}{%- set ns.is_first = false -%}{%- set ns.is_last_user = true -%}{{'<|User|>' + content + '<|Assistant|>'}}{%- endif %}{%- if message['role'] == 'assistant' %}{% if '</think>' in content %}{% set content = content.split('</think>')[-1] %}{% endif %}{% endif %}{%- if message['role'] == 'assistant' and message['tool_calls'] is defined and message['tool_calls'] is not none %}{%- set ns.is_last_user = false -%}{%- if ns.is_tool %}{{'<|tool▁outputs▁end|>'}}{%- endif %}{%- set ns.is_first = false %}{%- set ns.is_tool = false -%}{%- set ns.is_output_first = true %}{%- for tool in message['tool_calls'] %}{%- if not ns.is_first %}{%- if content is none %}{{'<|tool▁calls▁begin|><|tool▁call▁begin|>' + tool['type'] + '<|tool▁sep|>' + tool['function']['name'] + '
' + '```json' + '
' + tool['function']['arguments'] + '
' + '```' + '<|tool▁call▁end|>'}}{%- else %}{{content + '<|tool▁calls▁begin|><|tool▁call▁begin|>' + tool['type'] + '<|tool▁sep|>' + tool['function']['name'] + '
' + '```json' + '
' + tool['function']['arguments'] + '
' + '```' + '<|tool▁call▁end|>'}}{%- endif %}{%- set ns.is_first = true -%}{%- else %}{{'
' + '<|tool▁call▁begin|>' + tool['type'] + '<|tool▁sep|>' + tool['function']['name'] + '
' + '```json' + '
' + tool['function']['arguments'] + '
' + '```' + '<|tool▁call▁end|>'}}{%- endif %}{%- endfor %}{{'<|tool▁calls▁end|><|end▁of▁sentence|>'}}{%- endif %}{%- if message['role'] == 'assistant' and (message['tool_calls'] is not defined or message['tool_calls'] is none)%}{%- set ns.is_last_user = false -%}{%- if ns.is_tool %}{{'<|tool▁outputs▁end|>' + content + '<|end▁of▁sentence|>'}}{%- set ns.is_tool = false -%}{%- else %}{{content + '<|end▁of▁sentence|>'}}{%- endif %}{%- endif %}{%- if message['role'] == 'tool' %}{%- set ns.is_last_user = false -%}{%- set ns.is_tool = true -%}{%- if ns.is_output_first %}{{'<|tool▁outputs▁begin|><|tool▁output▁begin|>' + content + '<|tool▁output▁end|>'}}{%- set ns.is_output_first = false %}{%- else %}{{'
<|tool▁output▁begin|>' + content + '<|tool▁output▁end|>'}}{%- endif %}{%- endif %}{%- endfor -%}{% if ns.is_tool %}{{'<|tool▁outputs▁end|>'}}{% endif %}{% if add_generation_prompt and not ns.is_last_user and not ns.is_tool %}{{'<|Assistant|>'}}{% endif %}

Sampling defaults

top_p
0.95
temperature
0.6

Stop strings

<|end▁of▁sentence|>

Evidence & provenance

Source

Revision pin
4236a6af538feda4548eca9ab308586007567f52
Manifest
Present

License

Name
mit
Commercial use
yes
Access
Open

How verification works →

File hashes (SHA-256)

  • deepseek-r1-0528-ud-q2-k-xl/DeepSeek-R1-0528-UD-Q2_K_XL-00001-of-00006.gguf 89f68bb6419306d71d6673868c86166161e4789426641a8059de2a7591c377d8
  • deepseek-r1-0528-ud-q2-k-xl/DeepSeek-R1-0528-UD-Q2_K_XL-00002-of-00006.gguf 2233f06c0d12548b5c23a06c6602645b19707f7c780a7eaa29667847e7f2cca9
  • deepseek-r1-0528-ud-q2-k-xl/DeepSeek-R1-0528-UD-Q2_K_XL-00003-of-00006.gguf 1346d009eed02e1c94f2446e805cb2e96528c66fefd63d1176c50a1ea3b06db7
  • deepseek-r1-0528-ud-q2-k-xl/DeepSeek-R1-0528-UD-Q2_K_XL-00004-of-00006.gguf 4fc7fbc476358469c4c0932d28af6e5867ec33cf803cbc9d1d56c47b20e45686
  • deepseek-r1-0528-ud-q2-k-xl/DeepSeek-R1-0528-UD-Q2_K_XL-00005-of-00006.gguf 1443d966973cc0d63e262edcb94dfde9c8be2951043588a023e02ebf6c07c3a4
  • deepseek-r1-0528-ud-q2-k-xl/DeepSeek-R1-0528-UD-Q2_K_XL-00006-of-00006.gguf 43b00c3a057a438e215f9fdca19787fb4e18701cdf7bc054585cb6014d168f96
  • deepseek-r1-0528-ud-q2-k-xl/LICENSE f2c6c602815669d292889e5be8c802f2ed950653b77999b1584e8e6aed25d040
  • deepseek-r1-0528-ud-q2-k-xl/README.md aac62a327dcc249441b491b49855a9c69c5122b1b69a34de69983155da318e84

Explore further

Get an email when a better quant fits your rig.

Set your rig once; we'll alert you when a new or better-fitting build lands.

Set your rig

Performance reports

Real-world throughput reported by the community (and scraped sources).

Community

Reviews, sampler presets and community runtime reports. Be the first to contribute.

Reviews (0)

Log in to write a structured review of this model.

No reviews yet.

Sampler presets

Log in to share a sampler preset or vote on presets.

No presets yet.

Community runtime reports

Unofficial, community-submitted "it loads for me" reports. These are not the official verified-working badge — an admin reviews reports before anything is marked officially verified.

Log in to report whether a quant loads in your runtime.

No community reports yet.

selected to compare · pick at least 2