A DFlash speculative-decoding
drafter for
moonshotai/Kimi-Linear-48B-A3B-Instruct — the first public Kimi-Linear DFlash drafter.
Offline mean-acceptance-length on Math500 (N=64, shuffle seed 0, greedy, no thinking) across the la-draftery training family:
Offline acceptance length is teacher-forced (draft argmax vs the target's own greedy continuation, parallel block-wise pass). Serving (online) acceptance via SGLang spec-v2 is a separate measurement and may differ — see la-draftery's docs/015 and docs/016 for the Phase 1.2 serving story.
The Kimi-Linear target needs an architectural bridge that the Qwen3.5 path doesn't: its custom forward returns
outputs.hidden_states=None, so DFlash can't grab per-layer hidden states the standard way. We capture them via forward hooks instead — see
la-draftery/specforge/modeling/target/dflash_target_model_kda.py and the full reproducibility recipe at
docs/017.
See
la-draftery/recipes/train_phase2_kimi_30k_proof.sh for the training launcher (the 240k run uses the same recipe with
DATA_PATH pointing at the full 240k jsonl), and
tools/bench/bench_dflash.py for offline benchmarking.
Apache 2.0.