alessandrobologna commited on
Commit
f00f9bd
·
verified ·
1 Parent(s): 74983fc

Add Q2_K/Q8_0 DSpark auxiliary

Browse files

Deterministic 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 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
- The artifact uses GGUF v3 with the custom architecture
34
- `deepseek_v4_flash_dspark_draft` and contains 81 tensors:
 
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-expert FP4 nibbles and E8M0 scales repacked without requantization |
 
42
 
43
- The MXFP4 transformation is bit-preserving. Q8_0 and F16 transformations are
44
- lossy and are checked against explicit numeric error bounds. This repository
45
- does not claim that the complete conversion is lossless.
 
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 mxfp4-q8_0 \
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, and Q8_0
90
- encoding plus reconstruction error against a fresh FP8 source decode.
 
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/validation.json) and
105
- [`manifest/build.json`](manifest/build.json).
 
 
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
+ }