Qwen3.8-27B-DFlash

A DFlash speculative-decoding draft for the Qwen3.8-27B verifier. The draft is trained from scratch (random initialization) against teacher signals from the verifier; it is not a fine-tune of the 27B weights. This is an experimental research artifact and a proof of concept, not a production-ready speedup.

The model proposes up to 15 tokens per verification step. It is used with the 27B verifier; it is not a standalone language model.

Model details

Architecture DFlash draft (speculators, DFlashDraftModel)
Verifier Qwen3.8-27B (teacher, not weight initialization)
Initialization from scratch (random); no verifier weights copied
Transformer layers 5
Hidden size 5120 (20 heads, 4 KV heads, head dim 256)
Draft vocabulary 248,320 (full verifier vocab)
Block size 16 → max 15 speculative tokens
Attention non-causal in-block, sliding window 2048
Target hidden layers 6, 20, 34, 48, 62
sample_from_anchor false
Parameters / dtype ~1.78 B / BF16
File model.safetensors (3.57 GB)
SHA-256 d9ddbd219b56e951e7b84fc5c68a74ebcd58f9a0b7347edda6795fe9c2df4f35

Training data

Prompts were sampled from public datasets (chat, WildChat, competitive programming, science/STEM, code, and math corpora). The answers, teacher samples, and verifier hidden states were generated locally with the BF16 Qwen3.8-27B on the Strix Halo machine. Totals across all corpora (deduplicated):

category rows tokens supervised tokens avg tokens/row
chat 27,652 75,761,390 38,102,599 2,740
competitive_programming 9,167 53,650,870 38,565,149 5,853
wildchat 16,624 46,611,390 27,688,987 2,804
science_stem 5,934 39,849,906 38,046,804 6,716
code 7,682 32,967,200 31,893,335 4,291
math 1,519 21,437,359 21,297,502 14,113
total 68,578 270,278,115 195,594,376 3,941

Usage

config.py is required because the checkpoint uses the speculators configuration layout:

import speculators  # noqa: F401  (registers the "dflash" speculator type)
from transformers import AutoConfig

config = AutoConfig.from_pretrained(
    "asf0/Qwen3.8-27B-DFlash",
    trust_remote_code=True,
)

Installing speculators (the checkpoint records 0.8.0.dev0) and a recent transformers (records 5.16.1) is required. Loading the draft together with the verifier is handled by the speculators/DFlash runtime; this repository only contains the draft weights.

For llama.cpp, use the GGUF build instead: asf0/Qwen3.8-27B-DFlash-GGUF.

Benchmarks

Measured on the same Strix Halo machine. Greedy decoding, thinking disabled, Qwen3.8-27B Q8_0 verifier, q8_0 KV, llama.cpp, --spec-draft-n-max 15.

Same-session head-to-head (12-prompt set, p-min 0.4):

model tok/s tok/step ms/step drafted/step acceptance
this draft 18.44 3.07 166 4.18 49.4%
native MTP 19.07 3.29 173 3.95 57.9%
DFlash2 20.95 3.87 185 5.25 54.7%

Best tuning found (18-prompt balanced set, 3 per category):

config tok/s tok/step ms/step drafted/step acceptance
n-max 15, p-min 0.4 18.38 3.10 169 4.16 50.5%
n-max 15, p-min 0.3 18.49 3.17 171 5.92 36.6%

Lower p-min drafts more aggressively: acceptance drops but throughput rises slightly. The three head-to-head rows are from one session on the same prompt set; the tuning rows use the balanced set and are not directly comparable to them.

Block size

dflash.block_size = 16 caps a draft step at 15 proposed tokens, so --spec-draft-n-max above 15 has no effect. The sweep over n-max {7,11,15} × p-min {0.1,0.2,0.3,0.4} confirmed 15 is the ceiling: lower values lose throughput, higher values are clamped. The practical limit is about 3.2 tokens per verify step.

Limitations

  • Not faster than DFlash2 or native MTP. It improves over the earlier v3 draft but does not win overall.
  • Requires a DFlash-enabled runtime. The GGUF needs a llama.cpp build with --spec-type draft-dflash; this is not guaranteed to be in mainline.
  • Quality plateau. Validation EAL was flat from epoch 3 onward; the last two epochs produced no measurable gain, and the corpus is only ~270 M tokens.
  • Benchmarks are from a single machine and a modest prompt set; treat them as a reproducibility record rather than a universal speed claim.

Author

Built by asf0.

Citation

@misc{asf0_qwen38_dflash_2026,
  title        = {Qwen3.8-27B-DFlash: a DFlash speculative-decoding draft for Qwen3.8-27B},
  author       = {asf0},
  year         = {2026},
  howpublished = {\url{https://huggingface.co/asf0/Qwen3.8-27B-DFlash}},
  note         = {Experimental speculative-decoding draft; verifier: Qwen3.8-27B}
}

License and attribution

Apache-2.0. The draft is trained from scratch; it is not a fine-tune of Qwen3.8-27B, which is used as the verifier and teacher (Apache-2.0). The DFlash architecture and checkpoint format come from the speculators project (Apache-2.0). See NOTICE.

Downloads last month
-
Safetensors
Model size
2B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for asf0/Qwen3.8-27B-DFlash

Quantizations
1 model