Views
No views yet
Qwen3.6-27B-DFlash weights against the Qwen3.8 tokenizer and target-model metadata.57.2% first speculative-token acceptance
34.0% overall draft-token acceptance
31.94 tok/s — 34.6% faster than plain Qwen3.8 in this test
1Plain Qwen3.8 23.73 tok/s
2DFlash bootstrap 31.94 tok/s
3Native MTP3 50.70 tok/sQwen3.8-27B-UD-Q4_K_XL.gguf, 2× RTX 4060 Ti 16 GB, tensor split 1,1, 75K context, 4096/1024 batch, parallel 1, temperature 1.0, top-k 20, and top-p 0.95. Speculative runs use n_max=3.| Mode | Decode tok/s | vs Plain | Draft acceptance | Avg tokens / verification | Acceptance by position |
|---|---|---|---|---|---|
| Plain Qwen3.8 Q4 | 23.73 | baseline | — | — | — |
| Qwen3.6 → Qwen3.8 DFlash | 31.94 | +34.6% | 34.04% | 2.02 | 57.2%, 29.7%, 15.2% |
| Native Qwen3.8 MTP | 50.70 | +113.7% | 71.65% | 3.15 | 85.5%, 71.0%, 58.5% |
1prompt: 1008.97 tok/s (5,163 tokens)
2decode: 23.73 tok/s (25,974 tokens)n_max=3 run:1prompt: 783.93 tok/s (5,163 tokens)
2decode: 31.94 tok/s (21,202 tokens)
3
4avg tokens/verify = 2.02
5acc per pos = (0.572, 0.297, 0.152)1draft calls = 10,490
2draft tokens = 31,470
3accepted tokens = 10,713
4overall accept = 34.04%n_max=3 run:1prompt: 959.32 tok/s (5,163 tokens)
2decode: 50.70 tok/s (22,852 tokens)
3
4avg tokens/verify = 3.15
5acc per pos = (0.855, 0.710, 0.585)1draft calls = 7,256
2draft tokens = 21,768
3accepted tokens = 15,596
4overall accept = 71.65%n_max | Decode tok/s | Overall acceptance | Avg tokens / verification | Acceptance by position |
|---|---|---|---|---|
| 1 | ~27.2* | — | — | — |
| 2 | ~32.2* | — | — | — |
| 3 | 31.94 | 34.04% | 2.02 | 57.2%, 29.7%, 15.2% |
| 4 | 32.02† | 26.81% | 2.07 | 55.1%, 29.3%, 15.0%, 7.8% |
| 10 | ~25.8* | — | — | — |
* Interrupted runs; throughput is provisional and no final acceptance statistics were recorded.† The earlier n_max=4 run used inherited/tensor-parallel draft placement rather than the later single-GPU pinned topology, so its acceptance curve is useful but its throughput is not directly comparable.1 n=3 n=4
2
3position 1 57.2% 55.1%
4position 2 29.7% 29.3%
5position 3 15.2% 15.0%
6position 4 — 7.8%n_max=2 or n_max=3 appears to be the useful operating region.1[Qwen38-Q4-PLAIN]
2hf-repo = unsloth/Qwen3.8-27B-GGUF
3hf-file = Qwen3.8-27B-UD-Q4_K_XL.gguf
4
5split-mode = tensor
6tensor-split = 1,1
7
8ctx-size = 75000
9
10batch-size = 4096
11ubatch-size = 1024
12flash-attn = on
13parallel = 11[Qwen38-Q4-MTP3]
2hf-repo = unsloth/Qwen3.8-27B-GGUF
3hf-file = Qwen3.8-27B-UD-Q4_K_XL.gguf
4
5split-mode = tensor
6tensor-split = 1,1
7
8ctx-size = 75000
9
10batch-size = 4096
11ubatch-size = 1024
12flash-attn = on
13parallel = 1
14
15spec-type = draft-mtp
16spec-draft-n-max = 31[Qwen38-Q4-DFlash3-bootstrap]
2hf-repo = unsloth/Qwen3.8-27B-GGUF
3hf-file = Qwen3.8-27B-UD-Q4_K_XL.gguf
4
5split-mode = tensor
6tensor-split = 1,1
7
8ctx-size = 75000
9
10batch-size = 4096
11ubatch-size = 1024
12flash-attn = on
13parallel = 1
14
15spec-type = draft-dflash
16spec-draft-model = /path/Qwen3.8-27B-DFlash-bootstrap-Q8_0.gguf
17spec-draft-n-max = 3
18spec-draft-n-min = 0
19
20device-draft = CUDA0
21n-gpu-layers-draft = all#26636: with a tensor-parallel target, the DFlash drafter can inherit the same tensor-parallel placement.CUDA0:1device-draft = CUDA0
2n-gpu-layers-draft = all#26636.1llama.cpp build 10457
2commit 5ad147554#26636 is therefore only required for this pinned-draft topology, not for using the DFlash GGUF generally.1architecture = dflash
2parameters = 1.73B
3block_count = 5
4block_size = 16
5embedding_length = 5120
6feed_forward_length = 17408
7
8attention heads = 32
9KV heads = 8
10head dimension = 128
11
12target layers = [2, 17, 32, 47, 62]
13sliding window = 204811.71 GiB
28.50 BPWz-lab/Qwen3.6-27B-DFlashQwen/Qwen3.8-27B1unsloth/Qwen3.8-27B-GGUF
2Qwen3.8-27B-UD-Q4_K_XL.gguf1mkdir -p /data/drafters/Qwen3.6-27B-DFlash
2
3hf download z-lab/Qwen3.6-27B-DFlash \
4 --local-dir /data/drafters/Qwen3.6-27B-DFlash1mkdir -p /data/drafters/Qwen3.8-27B-target-meta
2
3hf download Qwen/Qwen3.8-27B \
4 config.json \
5 tokenizer.json \
6 tokenizer_config.json \
7 generation_config.json \
8 --local-dir /data/drafters/Qwen3.8-27B-target-meta1python convert_hf_to_gguf.py \
2 /data/drafters/Qwen3.6-27B-DFlash \
3 --target-model-dir /data/drafters/Qwen3.8-27B-target-meta \
4 --outtype bf16 \
5 --outfile Qwen3.8-27B-DFlash-bootstrap-bf16.gguf1dflash.block_count = 5
2dflash.block_size = 16
3dflash.target_layers = [2, 17, 32, 47, 62]
4dflash.embedding_length = 5120llama-quantize is not already built:1cmake -B build \
2 -DGGML_NATIVE=ON \
3 -DLLAMA_BUILD_TESTS=OFF \
4 .
5
6cmake --build build --target llama-quantize -j"$(nproc)"1./build/bin/llama-quantize \
2 Qwen3.8-27B-DFlash-bootstrap-bf16.gguf \
3 Qwen3.8-27B-DFlash-bootstrap-Q8_0.gguf \
4 Q8_0~1.71 GiB1Plain 23.73 tok/s
2DFlash3 31.94 tok/s (+34.6%)
3MTP3 50.70 tok/s (+113.7%)