lightseekorg/kimi-k3-dflash2

Model

4

stars

6

commits

2

linked in READMEs

Sep 2, 2026

updated

dflash2
kimi-k3
qwen3
safetensors
speculative-decoding

README

Kimi-K3 DFlash2 draft

Draft model for speculative decoding on moonshotai/Kimi-K3, served with TokenSpeed (--speculative-algorithm DFLASH).

Architecture

5-layer, lookahead-8, MLA + SWA

  • DFlash2DraftModel, 5 layers, hidden size 7168, bfloat16
  • block_size: 8 (lookahead-8), attention_mode: mla
  • target_layer_ids: [19, 37, 66, 78, 90] - five auxiliary hidden-state taps
  • layer_types: 4x sliding_attention (window 4096) + 1x full_attention
  • yarn RoPE, rope_theta: 50000.0, factor: 32.0
  • 3.69 B parameters, 7.39 GB of weights

Benchmarks

Acceptance length acc_len = 1 + accepted/steps at 7 speculative proposals, served with TokenSpeed DFLASH on two GB300 nodes (8 GPUs, TP8), MLA target and drafter. Target is moonshotai/Kimi-K3 with the serving flags shown at the bottom of this card. Production sampling only: temperature=1.0, top_p=0.95, reasoning effort max, no top_k.

Ten-benchmark matrix

benchmarkacc_lenproposal acceptancepromptsrequeststruncatedmean out tok
GSM8K5.90170.0%131913190.0%254
HumanEval5.08058.3%1641640.6%989
MATH-5004.63651.9%5005000.8%803
SPEED-Bench coding4.43149.0%80891.1%1341
SPEED-Bench RAG3.95842.3%80911.1%691
SPEED-Bench multilingual3.84940.7%80801.2%655
MT-Bench3.58536.9%801609.4%1759
SPEED-Bench QA3.21331.6%80803.8%1018
AIME 20262.78525.5%303013.3%6091
SPEED-Bench writing2.78025.4%808464.3%3588

Long context

RULER multi-key needle retrieval over natural-text paragraphs, with only the input length varying. retrieval is exact match on the needle value, recorded so that acceptance cannot be credited to a model that has stopped reading its context.

bucketinput tokensacc_lenproposal acceptanceretrieval
8k82035.66666.7%1.000
32k325964.97356.8%1.000
64k651134.80554.4%1.000
128k1301514.85455.1%1.000

Serving

python3 -m tokenspeed.cli serve <Kimi-K3> \
  --speculative-algorithm DFLASH \
  --speculative-draft-model-path <this repo> \
  --speculative-num-steps 7 --speculative-eagle-topk 1 \
  --speculative-num-draft-tokens 8 \
  --speculative-draft-model-quantization unquant \
  --attention-backend mla --drafter-attention-backend mla \
  --sampling-backend flashinfer --trust-remote-code \
  --tensor-parallel-size 8 --moe-backend flashinfer_trtllm \
  --max-model-len 32768 --gpu-memory-utilization 0.90 \
  --max-num-seqs 4 --max-cudagraph-capture-size 4 \
  --cudagraph-capture-sizes 1 2 3 4 \
  --disable-prefill-graph --disable-kvstore

At startup the engine reports the auxiliary taps it captured; confirm they match (19, 37, 66, 78, 90).

Contributors

lightseek

6 commits

lightseekorg/kimi-k3-dflash2

Model

4

stars

6

commits

2

linked in READMEs

Sep 2, 2026

updated

dflash2
kimi-k3
qwen3
safetensors
speculative-decoding

README

Kimi-K3 DFlash2 draft

Draft model for speculative decoding on moonshotai/Kimi-K3, served with TokenSpeed (--speculative-algorithm DFLASH).

Architecture

5-layer, lookahead-8, MLA + SWA

  • DFlash2DraftModel, 5 layers, hidden size 7168, bfloat16
  • block_size: 8 (lookahead-8), attention_mode: mla
  • target_layer_ids: [19, 37, 66, 78, 90] - five auxiliary hidden-state taps
  • layer_types: 4x sliding_attention (window 4096) + 1x full_attention
  • yarn RoPE, rope_theta: 50000.0, factor: 32.0
  • 3.69 B parameters, 7.39 GB of weights

Benchmarks

Acceptance length acc_len = 1 + accepted/steps at 7 speculative proposals, served with TokenSpeed DFLASH on two GB300 nodes (8 GPUs, TP8), MLA target and drafter. Target is moonshotai/Kimi-K3 with the serving flags shown at the bottom of this card. Production sampling only: temperature=1.0, top_p=0.95, reasoning effort max, no top_k.

Ten-benchmark matrix

benchmarkacc_lenproposal acceptancepromptsrequeststruncatedmean out tok
GSM8K5.90170.0%131913190.0%254
HumanEval5.08058.3%1641640.6%989
MATH-5004.63651.9%5005000.8%803
SPEED-Bench coding4.43149.0%80891.1%1341
SPEED-Bench RAG3.95842.3%80911.1%691
SPEED-Bench multilingual3.84940.7%80801.2%655
MT-Bench3.58536.9%801609.4%1759
SPEED-Bench QA3.21331.6%80803.8%1018
AIME 20262.78525.5%303013.3%6091
SPEED-Bench writing2.78025.4%808464.3%3588

Long context

RULER multi-key needle retrieval over natural-text paragraphs, with only the input length varying. retrieval is exact match on the needle value, recorded so that acceptance cannot be credited to a model that has stopped reading its context.

bucketinput tokensacc_lenproposal acceptanceretrieval
8k82035.66666.7%1.000
32k325964.97356.8%1.000
64k651134.80554.4%1.000
128k1301514.85455.1%1.000

Serving

python3 -m tokenspeed.cli serve <Kimi-K3> \
  --speculative-algorithm DFLASH \
  --speculative-draft-model-path <this repo> \
  --speculative-num-steps 7 --speculative-eagle-topk 1 \
  --speculative-num-draft-tokens 8 \
  --speculative-draft-model-quantization unquant \
  --attention-backend mla --drafter-attention-backend mla \
  --sampling-backend flashinfer --trust-remote-code \
  --tensor-parallel-size 8 --moe-backend flashinfer_trtllm \
  --max-model-len 32768 --gpu-memory-utilization 0.90 \
  --max-num-seqs 4 --max-cudagraph-capture-size 4 \
  --cudagraph-capture-sizes 1 2 3 4 \
  --disable-prefill-graph --disable-kvstore

At startup the engine reports the auxiliary taps it captured; confirm they match (19, 37, 66, 78, 90).

Contributors

lightseek

6 commits