A quantization of deepseek-ai/DeepSeek-V4.1-Flash @ 2cba9e42aa026125f3ed06c6d98c1db82f7ca027, made to be served at tensor parallel 2 on two NVIDIA DGX Sparks (GB10) by upstream vLLM with the patches and plugin in github.com/sudoingX/dgx-spark-deepseek-v41.
wq_a, wq_b, wo_b and the shared expert at K4, wo_a at K5; the LM head at K4.This checkpoint loads only with that engine: vLLM main 6e517b15 + the repo's patch series + the vllm_exl3_moe plugin (the release image). Stock vLLM does not know its quant method (deepseek_v41_exl3). Other engines: not tested.
Measured on two DGX Sparks. Method below.
| this build | native | |
|---|---|---|
| KLD vs native on the panel (mean, nats; the 8 domains weighted equally) | 0.0243 (0.0398) | reference |
| top-1 agreement | 95.57% | reference |
| perplexity on the panel | 1.5167 | 1.4978 |
| HumanEval+ (164), base / plus | 97.0 / 90.9 | 97.6 / 92.1 |
| MBPP+ (378), base / plus | 91.3 / 78.6 | 91.0 / 77.5 |
| IFEval (541), prompt strict / instruction strict | 87.6 / 91.6 | 89.5 / 92.9 |
decode, kit_bench.py set b, code / prose / structured, DSpark on (k = 5, per-round depth) |
103.0 / 58.3 / 141.3 tok/s | |
| context per request | 262,144 tokens; needles 3/3 at 8K, 32K, 64K, 128K and 256K (a 255,709-token prompt) | |
| MemAvailable after load, head / worker | 9 / 9 GiB |
No suite differs significantly from native (IFEval prompt strict vs native: paired p = 0.13).
For comparison on the same panel with the same reference implementation: 0xSero's J268 build (2.43 bpw in memory, 2.77 per decoded token) scores KLD 0.0327 (domains weighted equally 0.0516), top-1 95.00%, perplexity 1.5277; Mia-AiLab's 2.9 bpw pack scores KLD 0.0295 (domains weighted equally 0.0443), top-1 94.99%, perplexity 1.5221. This build is closer to native on 7 of the 8 domains and with the domains weighted equally; Mia-AiLab's pack is closer on multilingual (per-domain table in the README).
| file | what |
|---|---|
config.json |
the official config plus quantization_config: quant_method: deepseek_v41_exl3 and an exl3_moe block (plan file, decode kernel coop, tp_layout: channels, exllamav3_version 1.6.0, head: exl3 with head_k 4, and dense: the K of each dense module, backbone and drafter) |
exl3_moe_plan.json |
the bit width of every routed expert: per layer, one character per expert; a drafter section for the drafter's experts |
model-exl3-L00-p0.safetensors to model-exl3-L39-p1.safetensors |
each layer's EXL3 routed experts in two halves, as the two Sparks encoded them: layers.L.ffn.experts.E.w{1,2,3}.{trellis,suh,svh,mul1} |
model-exl3-dense-L00.safetensors to model-exl3-dense-L39.safetensors |
each layer's EXL3 dense linears: wq_a, wq_b, wo_a (8 head-group slices), wo_b, the shared expert |
model-exl3-head.safetensors |
the EXL3 K4 head, head.{trellis,suh,svh,mul1} |
model-exl3-mtp.safetensors, model-exl3-mtp-experts.safetensors |
the DSpark drafter's EXL3 dense linears (K5) and routed experts (K3) |
model-NNNNN-of-00046.safetensors |
every other official tensor, unchanged: attention norms and compressors, routers, embeddings, vision tower, the drafter's remaining tensors. Copied from the official shards minus the tensors EXL3 replaces. |
model.safetensors.index.json |
tensor to file map, including the Engram tensors in model-00047-of-00048.safetensors and model-00048-of-00048.safetensors |
tokenizer.json, tokenizer_config.json, chat_template.jinja, encoding/ |
official, unchanged |
LICENSE |
DeepSeek's MIT license, unchanged |
MANIFEST.sha256 |
sha256 of every top-level file of the assembled folder, the two Engram shards included |
Download size: 196 GB (182.8 GiB), plus 203 GB for the two official Engram shards.
Both Sparks need the full folder at the same absolute path, the serving image built from the GitHub repo, and passwordless ssh from a control machine. Full steps, image build and launcher settings: the GitHub README.
# on both Sparks
hf download sudoingx/DeepSeek-V4.1-Flash-EXL3-2.7bpw --local-dir ~/models/dsv41-exl3
hf download deepseek-ai/DeepSeek-V4.1-Flash model-00047-of-00048.safetensors model-00048-of-00048.safetensors \
--revision 2cba9e42aa026125f3ed06c6d98c1db82f7ca027 --local-dir ~/models/dsv41-exl3
(cd ~/models/dsv41-exl3 && sha256sum -c MANIFEST.sha256)
# from the control machine, in a clone of the GitHub repo
HEAD=<ssh-host-of-rank-0> WORKER=<ssh-host-of-rank-1> MODEL_DIR=/absolute/path/to/dsv41-exl3 \
./scripts/launch/dsv41_tp2.sh up
The launcher runs vllm serve in one container per Spark with --tensor-parallel-size 2 --nnodes 2, NCCL over RoCE on the ConnectX link, VLLM_DISABLED_KERNELS=FlashInferCutlassMxfp8LinearKernel (Marlin for every MXFP8 linear), DSpark speculative decoding, Engram disk offload, FULL_DECODE_ONLY CUDA graphs, FlashInfer autotune off, the V4.1 tool-call and reasoning parsers, and text-only input by default. OpenAI API on the head node, port 8000, model name dsv41.
83f5b3b78a9e220b468d5ab68c979aaedd4743c014d13a86532c781009cfe41f. A supplement of 392 native conversations (304,875 tokens): instruction following with format, case, length and language constraints, chat, writing, and 30 languages; no prompt shares an 8-gram with IFEval.scripts/quantize/p4_link_variant.py and the variant tools). Everything is reproducible from the GitHub repo; see its RECIPE.md.39e0db2f0b58aa432a512aed7b425e3feb1b424c9e02cc315be39bc9b7b71cf2.inference/model.py, streamed layer by layer on a Spark, for the native weights and for every quantized build alike; each build's own tensors are loaded into it, everything else stays official.kit_bench.py set b: single stream, greedy, thinking off, 384-token replies, median of 9 reps a prompt.MIT, as the base model. These weights are a derivative of DeepSeek-V4.1-Flash; DeepSeek's LICENSE file ships unchanged. The serving code, patches and plugin in the GitHub repo are Apache-2.0.
DeepSeek for the model and its reference implementation. turboderp for exllamav3 (MIT): the EXL3 quantizer and kernels. The vLLM project, with upstream PRs #56509 (zeenat28-ui) and #58560 (bluemelov1) carried as patches. bertholomus for kit_bench.py. 0xSero's and Mia-AiLab's DeepSeek-V4.1-Flash builds for two Sparks were measured as baselines; nothing of theirs is in these weights.
model-00048-of-00048.safetensors 102 GBmodel-00047-of-00048.safetensors 102 GBmodel-exl3-mtp-experts.safetensors 5.1 GBmodel-exl3-L00-p0.safetensors 2.9 GBmodel-exl3-L00-p1.safetensors 2.8 GBmodel-exl3-L05-p1.safetensors 2.8 GBmodel-exl3-L04-p1.safetensors 2.7 GBmodel-exl3-L04-p0.safetensors 2.7 GBmodel-exl3-L05-p0.safetensors 2.7 GBmodel-exl3-L08-p0.safetensors 2.7 GBmodel-exl3-L07-p1.safetensors 2.7 GBmodel-exl3-L08-p1.safetensors 2.7 GBmodel-exl3-L01-p0.safetensors 2.7 GBmodel-exl3-L01-p1.safetensors 2.7 GBmodel-exl3-L07-p0.safetensors 2.7 GBmodel-exl3-L06-p0.safetensors 2.6 GBmodel-exl3-L02-p1.safetensors 2.6 GBmodel-exl3-L03-p1.safetensors 2.6 GBmodel-exl3-L02-p0.safetensors 2.6 GBmodel-exl3-L09-p1.safetensors 2.6 GBmodel-exl3-L03-p0.safetensors 2.6 GBmodel-exl3-L10-p1.safetensors 2.6 GBmodel-exl3-L38-p1.safetensors 2.6 GBmodel-exl3-L37-p0.safetensors 2.6 GBmodel-exl3-L39-p1.safetensors 2.6 GBmodel-exl3-L09-p0.safetensors 2.6 GBmodel-exl3-L37-p1.safetensors 2.6 GBmodel-exl3-L38-p0.safetensors 2.6 GBmodel-exl3-L39-p0.safetensors 2.6 GBmodel-exl3-L10-p0.safetensors 2.6 GBmodel-exl3-L06-p1.safetensors 2.5 GBmodel-exl3-L11-p1.safetensors 2.5 GBmodel-exl3-L11-p0.safetensors 2.5 GBmodel-exl3-L12-p1.safetensors 2.5 GBmodel-exl3-L14-p1.safetensors 2.5 GBmodel-exl3-L15-p0.safetensors 2.4 GBmodel-exl3-L12-p0.safetensors 2.4 GBmodel-exl3-L13-p0.safetensors 2.4 GBmodel-exl3-L19-p1.safetensors 2.4 GBmodel-exl3-L13-p1.safetensors 2.4 GBmodel-exl3-L19-p0.safetensors 2.4 GBmodel-exl3-L16-p0.safetensors 2.4 GBmodel-exl3-L14-p0.safetensors 2.3 GBmodel-exl3-L16-p1.safetensors 2.3 GBmodel-exl3-L18-p0.safetensors 2.3 GBmodel-exl3-L15-p1.safetensors 2.3 GBmodel-exl3-L17-p0.safetensors 2.3 GBmodel-exl3-L18-p1.safetensors 2.3 GBmodel-exl3-L17-p1.safetensors 2.3 GBmodel-exl3-L20-p0.safetensors 2.3 GBmodel-exl3-L20-p1.safetensors 2.3 GBmodel-exl3-L21-p0.safetensors 2.3 GBmodel-exl3-L21-p1.safetensors 2.2 GBmodel-exl3-L22-p1.safetensors 2.2 GBmodel-exl3-L22-p0.safetensors 2.2 GBmodel-exl3-L24-p1.safetensors 2.2 GBmodel-exl3-L23-p0.safetensors 2.2 GBmodel-exl3-L23-p1.safetensors 2.2 GBmodel-exl3-L24-p0.safetensors 2.1 GBmodel-exl3-L25-p1.safetensors 2.1 GBmodel-exl3-L25-p0.safetensors 2.1 GBmodel-exl3-L27-p1.safetensors 2.1 GBmodel-exl3-L26-p0.safetensors 2.0 GBmodel-exl3-L26-p1.safetensors 2.0 GBmodel-exl3-L28-p0.safetensors 2.0 GBmodel-exl3-L28-p1.safetensors 2.0 GBmodel-exl3-L27-p0.safetensors 1.9 GBmodel-exl3-L29-p0.safetensors 1.9 GBmodel-exl3-L29-p1.safetensors 1.9 GBmodel-exl3-L30-p0.safetensors 1.9 GBmodel-exl3-L30-p1.safetensors 1.8 GBmodel-exl3-L31-p0.safetensors 1.8 GBmodel-exl3-L32-p1.safetensors 1.8 GBmodel-exl3-L31-p1.safetensors 1.8 GBmodel-exl3-L33-p0.safetensors 1.7 GBmodel-exl3-L32-p0.safetensors 1.7 GBmodel-exl3-L34-p0.safetensors 1.7 GBmodel-exl3-L33-p1.safetensors 1.7 GBmodel-exl3-L35-p0.safetensors 1.7 GBmodel-exl3-L36-p0.safetensors 1.7 GBmodel-exl3-L34-p1.safetensors 1.7 GBmodel-exl3-L36-p1.safetensors 1.7 GBmodel-exl3-L35-p1.safetensors 1.7 GBmodel-00002-of-00046.safetensors 1.3 GBmodel-00001-of-00046.safetensors 971 MBmodel-exl3-head.safetensors 331 MBmodel-exl3-mtp.safetensors 241 MBmodel-00046-of-00046.safetensors 171 MBmodel-00044-of-00046.safetensors 118 MBmodel-exl3-dense-L10.safetensors 85 MBmodel-exl3-dense-L11.safetensors 85 MBmodel-exl3-dense-L12.safetensors 85 MBmodel-exl3-dense-L13.safetensors 85 MBmodel-exl3-dense-L14.safetensors 85 MBmodel-exl3-dense-L15.safetensors 85 MBmodel-exl3-dense-L16.safetensors 85 MBmodel-exl3-dense-L17.safetensors 85 MBmodel-exl3-dense-L18.safetensors 85 MBmodel-exl3-dense-L19.safetensors 85 MBmodel-exl3-dense-L20.safetensors 85 MBmodel-exl3-dense-L21.safetensors 85 MBmodel-exl3-dense-L22.safetensors 85 MBmodel-exl3-dense-L23.safetensors 85 MBmodel-exl3-dense-L24.safetensors 85 MBmodel-exl3-dense-L25.safetensors 85 MBmodel-exl3-dense-L26.safetensors 85 MBmodel-exl3-dense-L27.safetensors 85 MBmodel-exl3-dense-L28.safetensors 85 MBmodel-exl3-dense-L29.safetensors 85 MBmodel-exl3-dense-L30.safetensors 85 MBmodel-exl3-dense-L31.safetensors 85 MBmodel-exl3-dense-L32.safetensors 85 MBmodel-exl3-dense-L33.safetensors 85 MBmodel-exl3-dense-L34.safetensors 85 MBmodel-exl3-dense-L35.safetensors 85 MBmodel-exl3-dense-L36.safetensors 85 MBmodel-exl3-dense-L37.safetensors 85 MBmodel-exl3-dense-L38.safetensors 85 MBmodel-exl3-dense-L39.safetensors 85 MBmodel-exl3-dense-L00.safetensors 85 MBmodel-exl3-dense-L01.safetensors 85 MBmodel-exl3-dense-L02.safetensors 85 MBmodel-exl3-dense-L03.safetensors 85 MBmodel-exl3-dense-L04.safetensors 85 MBmodel-exl3-dense-L05.safetensors 85 MBmodel-exl3-dense-L06.safetensors 85 MBmodel-exl3-dense-L07.safetensors 85 MBmodel-exl3-dense-L08.safetensors 85 MBmodel-exl3-dense-L09.safetensors 85 MBmodel-00045-of-00046.safetensors 39 MBmodel-00017-of-00046.safetensors 24 MBmodel-00005-of-00046.safetensors 24 MBmodel-00011-of-00046.safetensors 24 MBmodel-00023-of-00046.safetensors 19 MBmodel-00027-of-00046.safetensors 13 MBmodel-00031-of-00046.safetensors 13 MBmodel-00035-of-00046.safetensors 13 MBmodel-00039-of-00046.safetensors 13 MBmodel-00013-of-00046.safetensors 8 MBmodel-00014-of-00046.safetensors 8 MBmodel-00015-of-00046.safetensors 8 MBmodel-00016-of-00046.safetensors 8 MBmodel-00018-of-00046.safetensors 8 MBmodel-00019-of-00046.safetensors 8 MBmodel-00020-of-00046.safetensors 8 MBmodel-00021-of-00046.safetensors 8 MBmodel-00022-of-00046.safetensors 8 MBmodel-00024-of-00046.safetensors 8 MBmodel-00025-of-00046.safetensors 8 MBmodel-00026-of-00046.safetensors 8 MBmodel-00028-of-00046.safetensors 8 MBmodel-00029-of-00046.safetensors 8 MBmodel-00030-of-00046.safetensors 8 MBmodel-00032-of-00046.safetensors 8 MBmodel-00033-of-00046.safetensors 8 MBmodel-00034-of-00046.safetensors 8 MBmodel-00036-of-00046.safetensors 8 MBmodel-00037-of-00046.safetensors 8 MBmodel-00038-of-00046.safetensors 8 MBmodel-00040-of-00046.safetensors 8 MBmodel-00041-of-00046.safetensors 8 MBmodel-00042-of-00046.safetensors 8 MBmodel-00003-of-00046.safetensors 8 MBmodel-00004-of-00046.safetensors 8 MBmodel-00006-of-00046.safetensors 8 MBmodel-00007-of-00046.safetensors 8 MBmodel-00008-of-00046.safetensors 8 MBmodel-00009-of-00046.safetensors 8 MBmodel-00010-of-00046.safetensors 8 MBmodel-00012-of-00046.safetensors 8 MBmodel-00043-of-00046.safetensors 10.4 kBHave the files? Submit a torrent.
Submit a torrentHave the complete files and permission to share them? Replace the example folder path. The script checks the files, makes a torrent and submits its magnet and checksums. Keep your torrent client seeding. Get your community key from your settings, and read the script before running it.
curl -fsSL https://pirateface.co/package.sh | bash -s -- --repo manateelazycat/DeepSeek-V4.1-Flash-Thor-EXL3-2.7bpw ./model-folder