Add Q2_K/Q8_0 DSpark auxiliary
Browse filesDeterministic q2_k-q8_0 build from pinned DeepSeek V4 Flash 0731 shards 46-48, with complete source verification, structural and numeric validation, and a byte-identical repeat build.
- DeepSeek-V4-Flash-0731-DSpark-Drafter-Q2_K-Q8_0.gguf +3 -0
- README.md +24 -12
- SHA256SUMS +1 -0
- manifest/build-q2_k-q8_0.json +38 -0
- manifest/validation-q2_k-q8_0.json +48 -0
DeepSeek-V4-Flash-0731-DSpark-Drafter-Q2_K-Q8_0.gguf
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:a3f1156e1e4d2f46e1d4367b1bd09e6923adee61aecd41e880e233df33d30a7b
|
| 3 |
+
size 6971241728
|
README.md
CHANGED
|
@@ -29,20 +29,24 @@ pin, and build results are published alongside the artifact.
|
|
| 29 |
| File | Bytes | SHA-256 |
|
| 30 |
|---|---:|---|
|
| 31 |
| `DeepSeek-V4-Flash-0731-DSpark-Drafter-MXFP4-Q8_0.gguf` | 10,897,110,272 | `5c8a1ce75e4797c170e22ac65080281a1b694c77f2e4fa7a703fbf09c5de0e33` |
|
|
|
|
| 32 |
|
| 33 |
-
|
| 34 |
-
`deepseek_v4_flash_dspark_draft` and
|
|
|
|
| 35 |
|
| 36 |
| Output type | Tensors | Transformation |
|
| 37 |
|---|---:|---|
|
| 38 |
| F32 | 45 | BF16 expanded exactly to F32, or source F32 bytes preserved |
|
| 39 |
| F16 | 2 | BF16 Markov heads rounded to F16 |
|
| 40 |
| Q8_0 | 25 | FP8 E4M3 weights with E8M0 block scales dequantized, then quantized to Q8_0 |
|
| 41 |
-
| MXFP4 | 9 | Routed-
|
|
|
|
| 42 |
|
| 43 |
-
The MXFP4 transformation is bit-preserving. Q8_0 and F16
|
| 44 |
-
lossy and are checked against explicit numeric error
|
| 45 |
-
does not claim that
|
|
|
|
| 46 |
|
| 47 |
## Pinned source
|
| 48 |
|
|
@@ -72,12 +76,14 @@ uv pip install --python .venv/bin/python \
|
|
| 72 |
.venv/bin/python -m unittest discover -s tests -v
|
| 73 |
.venv/bin/python scripts/reproduce.py \
|
| 74 |
--sources sources \
|
| 75 |
-
--recipe
|
| 76 |
--manifest-dir manifest \
|
| 77 |
--repeat-check
|
| 78 |
sha256sum -c SHA256SUMS
|
| 79 |
```
|
| 80 |
|
|
|
|
|
|
|
| 81 |
`--repeat-check` performs a second clean conversion and requires its complete
|
| 82 |
GGUF SHA-256 to match the verified first build byte for byte. The converter
|
| 83 |
memory-maps the source shards and processes FP8 tensors in bounded bands. It
|
|
@@ -86,8 +92,9 @@ does not require PyTorch, CUDA, safetensors, a GGUF package, or a GPU.
|
|
| 86 |
## Verification
|
| 87 |
|
| 88 |
The included verifier checks pinned source hashes and tensor inventories, GGUF
|
| 89 |
-
structure and metadata, exact F32/F16 bytes, exact MXFP4 repacking,
|
| 90 |
-
encoding plus reconstruction error against a
|
|
|
|
| 91 |
|
| 92 |
Reference-build results:
|
| 93 |
|
|
@@ -96,13 +103,18 @@ Reference-build results:
|
|
| 96 |
| Tensor count | 81 |
|
| 97 |
| Exact F32/F16 tensors | 47 |
|
| 98 |
| Exact MXFP4 tensors | 9 |
|
|
|
|
|
|
|
|
|
|
| 99 |
| Maximum Q8_0 block-relative error | 0.00396728515625 |
|
| 100 |
| Q8_0 limit | 0.01 |
|
| 101 |
| Repeat build | byte-identical |
|
| 102 |
|
| 103 |
-
Machine-readable observations are in
|
| 104 |
-
[`manifest/validation.json`](manifest/
|
| 105 |
-
|
|
|
|
|
|
|
| 106 |
|
| 107 |
## Compatibility and limitations
|
| 108 |
|
|
|
|
| 29 |
| File | Bytes | SHA-256 |
|
| 30 |
|---|---:|---|
|
| 31 |
| `DeepSeek-V4-Flash-0731-DSpark-Drafter-MXFP4-Q8_0.gguf` | 10,897,110,272 | `5c8a1ce75e4797c170e22ac65080281a1b694c77f2e4fa7a703fbf09c5de0e33` |
|
| 32 |
+
| `DeepSeek-V4-Flash-0731-DSpark-Drafter-Q2_K-Q8_0.gguf` | 6,971,241,728 | `a3f1156e1e4d2f46e1d4367b1bd09e6923adee61aecd41e880e233df33d30a7b` |
|
| 33 |
|
| 34 |
+
Both artifacts use GGUF v3 with the custom architecture
|
| 35 |
+
`deepseek_v4_flash_dspark_draft` and contain the same 81 tensors. They differ
|
| 36 |
+
only in the encoding of the nine routed-expert tensors:
|
| 37 |
|
| 38 |
| Output type | Tensors | Transformation |
|
| 39 |
|---|---:|---|
|
| 40 |
| F32 | 45 | BF16 expanded exactly to F32, or source F32 bytes preserved |
|
| 41 |
| F16 | 2 | BF16 Markov heads rounded to F16 |
|
| 42 |
| Q8_0 | 25 | FP8 E4M3 weights with E8M0 block scales dequantized, then quantized to Q8_0 |
|
| 43 |
+
| MXFP4 | 9 | Routed experts in the `mxfp4-q8_0` artifact: FP4 nibbles and E8M0 scales repacked without requantization |
|
| 44 |
+
| Q2_K | 9 | Routed experts in the `q2_k-q8_0` artifact: source MXFP4 decoded, then quantized to Q2_K |
|
| 45 |
|
| 46 |
+
The MXFP4 transformation is bit-preserving. Q2_K, Q8_0, and F16
|
| 47 |
+
transformations are lossy and are checked against explicit numeric error
|
| 48 |
+
bounds. This repository does not claim that either complete conversion is
|
| 49 |
+
lossless.
|
| 50 |
|
| 51 |
## Pinned source
|
| 52 |
|
|
|
|
| 76 |
.venv/bin/python -m unittest discover -s tests -v
|
| 77 |
.venv/bin/python scripts/reproduce.py \
|
| 78 |
--sources sources \
|
| 79 |
+
--recipe q2_k-q8_0 \
|
| 80 |
--manifest-dir manifest \
|
| 81 |
--repeat-check
|
| 82 |
sha256sum -c SHA256SUMS
|
| 83 |
```
|
| 84 |
|
| 85 |
+
Use `--recipe mxfp4-q8_0` to reproduce the MXFP4/Q8_0 artifact instead.
|
| 86 |
+
|
| 87 |
`--repeat-check` performs a second clean conversion and requires its complete
|
| 88 |
GGUF SHA-256 to match the verified first build byte for byte. The converter
|
| 89 |
memory-maps the source shards and processes FP8 tensors in bounded bands. It
|
|
|
|
| 92 |
## Verification
|
| 93 |
|
| 94 |
The included verifier checks pinned source hashes and tensor inventories, GGUF
|
| 95 |
+
structure and metadata, exact F32/F16 bytes, exact MXFP4 repacking, Q2_K
|
| 96 |
+
reconstruction error, and Q8_0 encoding plus reconstruction error against a
|
| 97 |
+
fresh source decode.
|
| 98 |
|
| 99 |
Reference-build results:
|
| 100 |
|
|
|
|
| 103 |
| Tensor count | 81 |
|
| 104 |
| Exact F32/F16 tensors | 47 |
|
| 105 |
| Exact MXFP4 tensors | 9 |
|
| 106 |
+
| Q2_K tensors | 9 |
|
| 107 |
+
| Maximum Q2_K block-relative error | 0.49072265625 |
|
| 108 |
+
| Q2_K limit | 0.5 |
|
| 109 |
| Maximum Q8_0 block-relative error | 0.00396728515625 |
|
| 110 |
| Q8_0 limit | 0.01 |
|
| 111 |
| Repeat build | byte-identical |
|
| 112 |
|
| 113 |
+
Machine-readable observations are in the MXFP4/Q8_0
|
| 114 |
+
[`validation`](manifest/validation.json) and [`build`](manifest/build.json)
|
| 115 |
+
manifests, and the Q2_K/Q8_0
|
| 116 |
+
[`validation`](manifest/validation-q2_k-q8_0.json) and
|
| 117 |
+
[`build`](manifest/build-q2_k-q8_0.json) manifests.
|
| 118 |
|
| 119 |
## Compatibility and limitations
|
| 120 |
|
SHA256SUMS
CHANGED
|
@@ -1 +1,2 @@
|
|
| 1 |
5c8a1ce75e4797c170e22ac65080281a1b694c77f2e4fa7a703fbf09c5de0e33 DeepSeek-V4-Flash-0731-DSpark-Drafter-MXFP4-Q8_0.gguf
|
|
|
|
|
|
| 1 |
5c8a1ce75e4797c170e22ac65080281a1b694c77f2e4fa7a703fbf09c5de0e33 DeepSeek-V4-Flash-0731-DSpark-Drafter-MXFP4-Q8_0.gguf
|
| 2 |
+
a3f1156e1e4d2f46e1d4367b1bd09e6923adee61aecd41e880e233df33d30a7b DeepSeek-V4-Flash-0731-DSpark-Drafter-Q2_K-Q8_0.gguf
|
manifest/build-q2_k-q8_0.json
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"artifact": {
|
| 3 |
+
"filename": "DeepSeek-V4-Flash-0731-DSpark-Drafter-Q2_K-Q8_0.gguf",
|
| 4 |
+
"sha256": "a3f1156e1e4d2f46e1d4367b1bd09e6923adee61aecd41e880e233df33d30a7b",
|
| 5 |
+
"size": 6971241728
|
| 6 |
+
},
|
| 7 |
+
"build_inputs": {
|
| 8 |
+
"manifest/source.json": "bd7744f0efffd71d45e6233bfd8008e02acf422e01d701f82277d8821938b9c5",
|
| 9 |
+
"requirements-linux-aarch64-py314.lock": "f66db1728c9a0702b511a12bfe8cffbfab0fba4fbbf56f10d0e1d96ee70ee66d",
|
| 10 |
+
"scripts/convert.py": "319dc5083a5dc1b0a3cbce16702ae2378594b415ecf3f4198b2b84662fe31c43",
|
| 11 |
+
"scripts/download_sources.py": "2c39fff99a0c91b3ad099a5d685c394563e7b7a963b0a88cd1f668ee6bee51d1",
|
| 12 |
+
"scripts/formats.py": "4963ff62387bdbdbf0276b9db98e53da04ae621cb2cad231330cfff9f1533149",
|
| 13 |
+
"scripts/recipe.py": "661bf7b14ee5f2fc46770b5494cf6641407b5268c83ef5de6fc2d3e77e25b937",
|
| 14 |
+
"scripts/reproduce.py": "05956fbff7c6e32c9eeab6a959fc3d4dcd29d04a097296ea66cd000c64bfaa45",
|
| 15 |
+
"scripts/verify.py": "9073c95f157bee37c0fdea5d26b029b9495ef63f1c46e1d2022afdceb5cc9cc0"
|
| 16 |
+
},
|
| 17 |
+
"environment": {
|
| 18 |
+
"machine": "aarch64",
|
| 19 |
+
"numpy": "2.5.1",
|
| 20 |
+
"platform": "Linux-6.17.0-1026-nvidia-aarch64-with-glibc2.39",
|
| 21 |
+
"python": "3.14.6"
|
| 22 |
+
},
|
| 23 |
+
"format": {
|
| 24 |
+
"architecture": "deepseek_v4_flash_dspark_draft",
|
| 25 |
+
"gguf_version": 3,
|
| 26 |
+
"recipe": "q2_k-q8_0",
|
| 27 |
+
"recipe_version": 1
|
| 28 |
+
},
|
| 29 |
+
"repeat_build": {
|
| 30 |
+
"performed": true,
|
| 31 |
+
"sha256": "a3f1156e1e4d2f46e1d4367b1bd09e6923adee61aecd41e880e233df33d30a7b",
|
| 32 |
+
"status": "byte-identical"
|
| 33 |
+
},
|
| 34 |
+
"source": {
|
| 35 |
+
"repository": "deepseek-ai/DeepSeek-V4-Flash-0731",
|
| 36 |
+
"revision": "9e165c30e2704aec5d9d593cce3eebd58bbef1cb"
|
| 37 |
+
}
|
| 38 |
+
}
|
manifest/validation-q2_k-q8_0.json
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"artifact": {
|
| 3 |
+
"filename": "DeepSeek-V4-Flash-0731-DSpark-Drafter-Q2_K-Q8_0.gguf",
|
| 4 |
+
"sha256": "a3f1156e1e4d2f46e1d4367b1bd09e6923adee61aecd41e880e233df33d30a7b",
|
| 5 |
+
"size": 6971241728
|
| 6 |
+
},
|
| 7 |
+
"gguf": {
|
| 8 |
+
"alignment": 32,
|
| 9 |
+
"data_start": 5824,
|
| 10 |
+
"tensor_count": 81,
|
| 11 |
+
"types": {
|
| 12 |
+
"F16": 2,
|
| 13 |
+
"F32": 45,
|
| 14 |
+
"Q2_K": 9,
|
| 15 |
+
"Q8_0": 25
|
| 16 |
+
},
|
| 17 |
+
"version": 3
|
| 18 |
+
},
|
| 19 |
+
"recipe": "q2_k-q8_0",
|
| 20 |
+
"source": {
|
| 21 |
+
"files": {
|
| 22 |
+
"model-00046-of-00048.safetensors": {
|
| 23 |
+
"sha256": "5db924ca907e0d93acd975bd5079c3662717f9ac709f23d079bd8f816d29d9dd",
|
| 24 |
+
"size": 3610455184
|
| 25 |
+
},
|
| 26 |
+
"model-00047-of-00048.safetensors": {
|
| 27 |
+
"sha256": "62816173f9f6e136b20b48e3b6f16613ac9ea02b5603f636928b253244a548bd",
|
| 28 |
+
"size": 3560111960
|
| 29 |
+
},
|
| 30 |
+
"model-00048-of-00048.safetensors": {
|
| 31 |
+
"sha256": "cc43742bd24ae6bcdea343a91442f6f66aed2cfebcc6b235470204851ce2f8a9",
|
| 32 |
+
"size": 3692775244
|
| 33 |
+
}
|
| 34 |
+
},
|
| 35 |
+
"repository": "deepseek-ai/DeepSeek-V4-Flash-0731",
|
| 36 |
+
"revision": "9e165c30e2704aec5d9d593cce3eebd58bbef1cb"
|
| 37 |
+
},
|
| 38 |
+
"validation": {
|
| 39 |
+
"f16_exact_tensors": 2,
|
| 40 |
+
"f32_exact_tensors": 45,
|
| 41 |
+
"q2_k_limit": 0.5,
|
| 42 |
+
"q2_k_max_block_relative_error": 0.49072265625,
|
| 43 |
+
"q2_k_tensors": 9,
|
| 44 |
+
"q8_0_limit": 0.01,
|
| 45 |
+
"q8_0_max_block_relative_error": 0.00396728515625,
|
| 46 |
+
"status": "pass"
|
| 47 |
+
}
|
| 48 |
+
}
|