CoreWolf commited on
Commit
eb24f78
·
verified ·
1 Parent(s): 6dac5e5

Upload folder using huggingface_hub

Browse files
.gitattributes CHANGED
@@ -34,3 +34,7 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
  DeepSeek-V4-Flash-Q3_K-0731.gguf filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
  DeepSeek-V4-Flash-Q3_K-0731.gguf filter=lfs diff=lfs merge=lfs -text
37
+ dspark/dspark-DeepSeek-V4-Flash-0731-BF16.gguf filter=lfs diff=lfs merge=lfs -text
38
+ dspark/dspark-DeepSeek-V4-Flash-0731-Q8_0.gguf filter=lfs diff=lfs merge=lfs -text
39
+ dspark-abliterated/dspark-DeepSeek-V4-Flash-0731-BF16.gguf filter=lfs diff=lfs merge=lfs -text
40
+ dspark-abliterated/dspark-DeepSeek-V4-Flash-0731-Q8_0.gguf filter=lfs diff=lfs merge=lfs -text
dspark-abliterated/README.md ADDED
@@ -0,0 +1,108 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # DSpark speculative decoding drafters for DeepSeek-V4-Flash-0731
2
+
3
+ Preliminary DSpark drafter modules extracted from the official
4
+ [deepseek-ai/DeepSeek-V4-Flash-0731](https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash-0731)
5
+ checkpoint, for use with llama.cpp speculative decoding.
6
+
7
+ These are **optional add-ons**. The quants in this repo are unchanged and work exactly as
8
+ before without them. Nothing in this folder is loaded unless you explicitly ask for it.
9
+
10
+ ## Files
11
+
12
+ | File | Size | FP8 source weights | Markov / confidence heads | Routed experts |
13
+ |---|---|---|---|---|
14
+ | `dspark-DeepSeek-V4-Flash-0731-BF16.gguf` | 11.31 GB | BF16, bit exact | BF16 (source fidelity) | MXFP4 passthrough |
15
+ | `dspark-DeepSeek-V4-Flash-0731-Q8_0.gguf` | 10.90 GB | Q8_0 | BF16 (source fidelity) | MXFP4 passthrough |
16
+
17
+ Both files contain 81 tensors and are `general.architecture = dflash`.
18
+
19
+ **Which one:** they measured identically in our testing (same acceptance rate, byte identical
20
+ output text). Take `BF16` if you want a provably exact reproduction of DeepSeek's weights,
21
+ or `Q8_0` to save 0.41 GB. There is no measured quality difference between them.
22
+
23
+ ### About the names
24
+
25
+ The 0731 checkpoint stores its drafter as 25 FP8 (`E4M3`) projections, natively FP4 routed
26
+ experts, and BF16/F32 for everything small. The two files differ **only** in how those 25 FP8
27
+ tensors are stored:
28
+
29
+ - `BF16` upcasts them exactly. FP8 `E4M3` carries 4 significant bits and its `E8M0` scale is a
30
+ pure power of two, so BF16 (8 significant bits, full F32 exponent range) reproduces every
31
+ value with zero error. Verified `max|diff| = 0.0` against an independent dequantisation of
32
+ the source safetensors. This file contains **no Q8_0 tensors at all**.
33
+ - `Q8_0` stores them as Q8_0, which is what upstream `convert_hf_to_gguf.py` does by default.
34
+
35
+ The routed experts are byte identical in both files. They are already MXFP4 in the source
36
+ checkpoint and are never requantised.
37
+
38
+ Note that `ggml-org/DeepSeek-V4-Flash-0731-GGUF` publishes a file also called `BF16` which is
39
+ equivalent to our `Q8_0` (its FP8 weights are Q8_0, and only 1.3% of it is actually BF16).
40
+ Our `BF16` is the fully lossless build, which is why it is larger.
41
+
42
+ ## Usage
43
+
44
+ Speculative decoding is opt in. Pass `--spec-type draft-dspark` or nothing happens.
45
+
46
+ ```bash
47
+ llama-server \
48
+ -m huihui-ai/Huihui-DeepSeek-V4-Flash-0731-abliterated-GGUF/DeepSeek-V4-Flash-Q2-0731.gguf \
49
+ -md huihui-ai/Huihui-DeepSeek-V4-Flash-0731-abliterated-GGUF/dspark-abliterated/dspark-DeepSeek-V4-Flash-0731-BF16.gguf \
50
+ --spec-type draft-dspark \
51
+ --spec-draft-n-max 5 \
52
+ --fit off \
53
+ -ngl 99 -ngld 99 -fa on -c 8192
54
+ ```
55
+
56
+ Requirements and gotchas:
57
+
58
+ - `--fit off` is required when using a DSpark drafter.
59
+ - Do **not** pass `-devd` / `--spec-draft-device`. The drafter ships no token embeddings or
60
+ output head by design and borrows the target's, so it must span the same devices as the
61
+ target. Pinning it to one GPU fails with
62
+ `pre-allocated tensor (output.weight) in a buffer (CUDA0) that cannot run the operation`.
63
+ - `--spec-draft-n-max` is clamped to the trained block size, which is 5 for this model.
64
+
65
+ ### Multi GPU requires a rebuild for now
66
+
67
+ On a device split target, speculative decoding currently aborts on stock builds:
68
+
69
+ ```
70
+ ggml/src/ggml-backend.cpp:1356: GGML_ASSERT(n_graph_inputs < GGML_SCHED_MAX_SPLIT_INPUTS) failed
71
+ ```
72
+
73
+ The DeepSeek-V4 graph needs 39 graph inputs once the speculative layer taps are enabled, and
74
+ the compile time default is 30. Until this is fixed upstream, rebuild llama.cpp with a higher
75
+ cap:
76
+
77
+ ```bash
78
+ cmake -B build -DGGML_CUDA=ON \
79
+ -DCMAKE_CXX_FLAGS="-DGGML_SCHED_MAX_SPLIT_INPUTS=48" \
80
+ -DCMAKE_CUDA_FLAGS="-DGGML_SCHED_MAX_SPLIT_INPUTS=48"
81
+ ```
82
+
83
+ Both flags are needed, otherwise translation units disagree on struct layout. There is no
84
+ runtime flag or environment variable for this. Single GPU setups are unaffected and work on
85
+ stock binaries. Raising the cap has no measured throughput or resident memory cost.
86
+
87
+ This is tracked upstream in the discussion on
88
+ [ggml-org/llama.cpp#25784](https://github.com/ggml-org/llama.cpp/pull/25784).
89
+
90
+ ## Measured performance
91
+
92
+ On 4x B200 against `UD-Q4_K_XL`, greedy, short completions:
93
+
94
+ | | tokens/s | acceptance |
95
+ |---|---|---|
96
+ | target only | 62.9 | n/a |
97
+ | `--spec-type draft-dspark --spec-draft-n-max 5` | 75.6 to 81.9 | 0.49 to 0.59 |
98
+
99
+ That is roughly **1.2x to 1.3x**. The gain is workload and hardware dependent; community
100
+ reports on larger GPU counts and longer generations have seen up to 2x. Acceptance rate is
101
+ stable across drafter variants but sensitive to prompt and generation length.
102
+
103
+ ### Output is not bit identical to non speculative decoding
104
+
105
+ Speculative decoding should be a pure speed optimisation, but on this model greedy output
106
+ diverges from a non speculative run of the same prompt. This is a known llama.cpp issue,
107
+ tracked at [ggml-org/llama.cpp#25618](https://github.com/ggml-org/llama.cpp/issues/25618),
108
+ and is not specific to these files.
dspark-abliterated/dspark-DeepSeek-V4-Flash-0731-BF16.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a08c6c65727622bcec535e3a9b86cfe68632eac459ae4f7b176338b79977229a
3
+ size 11314832480
dspark-abliterated/dspark-DeepSeek-V4-Flash-0731-Q8_0.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6575853d1c3736c160101bc7cd117c8edd39ca847cfdf2273d9a344108edfaf8
3
+ size 10896057440
dspark/README.md ADDED
@@ -0,0 +1,108 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # DSpark speculative decoding drafters for DeepSeek-V4-Flash-0731
2
+
3
+ Preliminary DSpark drafter modules extracted from the official
4
+ [deepseek-ai/DeepSeek-V4-Flash-0731](https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash-0731)
5
+ checkpoint, for use with llama.cpp speculative decoding.
6
+
7
+ These are **optional add-ons**. The quants in this repo are unchanged and work exactly as
8
+ before without them. Nothing in this folder is loaded unless you explicitly ask for it.
9
+
10
+ ## Files
11
+
12
+ | File | Size | FP8 source weights | Markov / confidence heads | Routed experts |
13
+ |---|---|---|---|---|
14
+ | `dspark-DeepSeek-V4-Flash-0731-BF16.gguf` | 11.31 GB | BF16, bit exact | BF16 (source fidelity) | MXFP4 passthrough |
15
+ | `dspark-DeepSeek-V4-Flash-0731-Q8_0.gguf` | 10.90 GB | Q8_0 | BF16 (source fidelity) | MXFP4 passthrough |
16
+
17
+ Both files contain 81 tensors and are `general.architecture = dflash`.
18
+
19
+ **Which one:** they measured identically in our testing (same acceptance rate, byte identical
20
+ output text). Take `BF16` if you want a provably exact reproduction of DeepSeek's weights,
21
+ or `Q8_0` to save 0.41 GB. There is no measured quality difference between them.
22
+
23
+ ### About the names
24
+
25
+ The 0731 checkpoint stores its drafter as 25 FP8 (`E4M3`) projections, natively FP4 routed
26
+ experts, and BF16/F32 for everything small. The two files differ **only** in how those 25 FP8
27
+ tensors are stored:
28
+
29
+ - `BF16` upcasts them exactly. FP8 `E4M3` carries 4 significant bits and its `E8M0` scale is a
30
+ pure power of two, so BF16 (8 significant bits, full F32 exponent range) reproduces every
31
+ value with zero error. Verified `max|diff| = 0.0` against an independent dequantisation of
32
+ the source safetensors. This file contains **no Q8_0 tensors at all**.
33
+ - `Q8_0` stores them as Q8_0, which is what upstream `convert_hf_to_gguf.py` does by default.
34
+
35
+ The routed experts are byte identical in both files. They are already MXFP4 in the source
36
+ checkpoint and are never requantised.
37
+
38
+ Note that `ggml-org/DeepSeek-V4-Flash-0731-GGUF` publishes a file also called `BF16` which is
39
+ equivalent to our `Q8_0` (its FP8 weights are Q8_0, and only 1.3% of it is actually BF16).
40
+ Our `BF16` is the fully lossless build, which is why it is larger.
41
+
42
+ ## Usage
43
+
44
+ Speculative decoding is opt in. Pass `--spec-type draft-dspark` or nothing happens.
45
+
46
+ ```bash
47
+ llama-server \
48
+ -m huihui-ai/Huihui-DeepSeek-V4-Flash-0731-abliterated-GGUF/DeepSeek-V4-Flash-Q2-0731.gguf \
49
+ -md huihui-ai/Huihui-DeepSeek-V4-Flash-0731-abliterated-GGUF/dspark/dspark-DeepSeek-V4-Flash-0731-BF16.gguf \
50
+ --spec-type draft-dspark \
51
+ --spec-draft-n-max 5 \
52
+ --fit off \
53
+ -ngl 99 -ngld 99 -fa on -c 8192
54
+ ```
55
+
56
+ Requirements and gotchas:
57
+
58
+ - `--fit off` is required when using a DSpark drafter.
59
+ - Do **not** pass `-devd` / `--spec-draft-device`. The drafter ships no token embeddings or
60
+ output head by design and borrows the target's, so it must span the same devices as the
61
+ target. Pinning it to one GPU fails with
62
+ `pre-allocated tensor (output.weight) in a buffer (CUDA0) that cannot run the operation`.
63
+ - `--spec-draft-n-max` is clamped to the trained block size, which is 5 for this model.
64
+
65
+ ### Multi GPU requires a rebuild for now
66
+
67
+ On a device split target, speculative decoding currently aborts on stock builds:
68
+
69
+ ```
70
+ ggml/src/ggml-backend.cpp:1356: GGML_ASSERT(n_graph_inputs < GGML_SCHED_MAX_SPLIT_INPUTS) failed
71
+ ```
72
+
73
+ The DeepSeek-V4 graph needs 39 graph inputs once the speculative layer taps are enabled, and
74
+ the compile time default is 30. Until this is fixed upstream, rebuild llama.cpp with a higher
75
+ cap:
76
+
77
+ ```bash
78
+ cmake -B build -DGGML_CUDA=ON \
79
+ -DCMAKE_CXX_FLAGS="-DGGML_SCHED_MAX_SPLIT_INPUTS=48" \
80
+ -DCMAKE_CUDA_FLAGS="-DGGML_SCHED_MAX_SPLIT_INPUTS=48"
81
+ ```
82
+
83
+ Both flags are needed, otherwise translation units disagree on struct layout. There is no
84
+ runtime flag or environment variable for this. Single GPU setups are unaffected and work on
85
+ stock binaries. Raising the cap has no measured throughput or resident memory cost.
86
+
87
+ This is tracked upstream in the discussion on
88
+ [ggml-org/llama.cpp#25784](https://github.com/ggml-org/llama.cpp/pull/25784).
89
+
90
+ ## Measured performance
91
+
92
+ On 4x B200 against `UD-Q4_K_XL`, greedy, short completions:
93
+
94
+ | | tokens/s | acceptance |
95
+ |---|---|---|
96
+ | target only | 62.9 | n/a |
97
+ | `--spec-type draft-dspark --spec-draft-n-max 5` | 75.6 to 81.9 | 0.49 to 0.59 |
98
+
99
+ That is roughly **1.2x to 1.3x**. The gain is workload and hardware dependent; community
100
+ reports on larger GPU counts and longer generations have seen up to 2x. Acceptance rate is
101
+ stable across drafter variants but sensitive to prompt and generation length.
102
+
103
+ ### Output is not bit identical to non speculative decoding
104
+
105
+ Speculative decoding should be a pure speed optimisation, but on this model greedy output
106
+ diverges from a non speculative run of the same prompt. This is a known llama.cpp issue,
107
+ tracked at [ggml-org/llama.cpp#25618](https://github.com/ggml-org/llama.cpp/issues/25618),
108
+ and is not specific to these files.
dspark/dspark-DeepSeek-V4-Flash-0731-BF16.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:df7a182b1f62acee6e9e33f11a03876db8031d9d147419309a448d0e776f82d8
3
+ size 11314832480
dspark/dspark-DeepSeek-V4-Flash-0731-Q8_0.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2c7ac54b0b64a99df1f139a9f1371a00198265e1d6a614b77597d20a655a4249
3
+ size 10896057440