lightseekorg/kimi-k3-eagle3-mla

Model

1

stars

6

commits

5

linked in READMEs

Aug 26, 2026

updated

eagle3
kimi_k2
kimi-k3
safetensors
speculative-decoding
text-generation
torchspec
Browse cluster: Speculative Decoding for LLM Inference

README

kimi-k3-eagle3-mla

Model Overview

kimi-k3-eagle3-mla is an Eagle3 MTP draft model with MLA (Multi-Latent Attention) for accelerating inference of Kimi-K3, trained with TorchSpec — an online speculative decoding training framework that runs FSDP training and inference concurrently. If you find this draft model useful, please give our project TorchSpec a star on GitHub.

Why an MLA (Multi-Latent Attention) Draft Model

Compared with an MHA draft model, the MLA variant is a better fit for Kimi-K3 deployment:

  • Uses less KV cache, which reduces serving memory pressure.
  • Matches Kimi-K3's MLA architecture, so it fits more naturally into the inference engine's KV-cache handling under different serving scenarios such as PD-Disaggregation.

Performance

The primary metric is accept_length - the average number of tokens accepted per speculation step with topk=1, num_steps=3, num_draft_tokens=4. Higher is better; the ceiling for this configuration is 4.

Measured against an NVFP4 Kimi-K3 target on GB300 (TP=8) served with TokenSpeed, at temperature=1.0, top_p=0.95, reasoning effort max. Acceptance is attributed per request from the scheduler log, so N is the number of requests measured.

CategoryBenchmarkNAcc Len
DialogueMTBench1602.794
ChineseCEval13462.397
MultilingualSPEED-Bench multilingual802.932
MathGSM8K13193.556
MathMATH5005003.097
MathAIME 2026302.208
CodeHumanEval1643.291
CodeSPEED-Bench coding893.089
RAGSPEED-Bench rag913.017
QASPEED-Bench qa802.710
WritingSPEED-Bench writing842.447

Quick Start

Requirements

Launch Server (TokenSpeed)

This is the configuration the acceptance numbers above were measured on.

python3 -m tokenspeed.cli serve /models/Kimi-K3 \
  --served-model-name nvidia/Kimi-K3-NVFP4 \
  --attn-tp-size 8 --moe-tp-size 8 --mm-encoder-tp-mode data \
  --max-model-len 80000 --max-num-seqs 16 \
  --gpu-memory-utilization 0.92 --trust-remote-code \
  --attention-backend tokenspeed_mla --kda-backend cutedsl_kda \
  --moe-backend flashinfer_trtllm --kv-cache-dtype fp8 \
  --speculative-algorithm EAGLE3 \
  --speculative-draft-model-path /models/eagle3 \
  --speculative-num-steps 3 --speculative-eagle-topk 1 \
  --speculative-num-draft-tokens 4 \
  --speculative-draft-model-quantization unquant \
  --sampling-backend flashinfer \
  --drafter-attention-backend tokenspeed_mla \
  --max-cudagraph-capture-size 16 --cudagraph-capture-sizes 1 2 4 8 16 \
  --host 0.0.0.0 --port 8000

/models/Kimi-K3 is the target checkpoint and /models/eagle3 is this draft; point both at your local paths.

--sampling-backend flashinfer keeps rejection sampling faithful to the requested temperature / top_p, which is required to reproduce the acceptance numbers above.

Launch Server (vLLM)

vllm serve moonshotai/Kimi-K3 \
    --tensor-parallel-size 8 \
    --speculative-config '{"model": "lightseekorg/kimi-k3-eagle3-mla", "method": "eagle3", "num_speculative_tokens": 3}' \
    --trust-remote-code

Launch Server (SGLang)

sglang serve \
  --model-path moonshotai/Kimi-K3 \
  --tp 8 \
  --trust-remote-code \
  --reasoning-parser kimi_k2 \
  --tool-call-parser kimi_k2 \
  --speculative-algorithm EAGLE3 \
  --speculative-num-steps 3 \
  --speculative-eagle-topk 1 \
  --speculative-num-draft-tokens 4 \
  --speculative-draft-model-path lightseekorg/kimi-k3-eagle3-mla

Citation

@misc{torchspec2026,
  title={TorchSpec: An Online Speculative Decoding Training Framework},
  url={https://github.com/torchspec-project/TorchSpec},
  year={2026}
}

Contributors

lightseek

6 commits

lightseekorg/kimi-k3-eagle3-mla

Model

1

stars

6

commits

5

linked in READMEs

Aug 26, 2026

updated

eagle3
kimi_k2
kimi-k3
safetensors
speculative-decoding
text-generation
torchspec
Browse cluster: Speculative Decoding for LLM Inference

README

kimi-k3-eagle3-mla

Model Overview

kimi-k3-eagle3-mla is an Eagle3 MTP draft model with MLA (Multi-Latent Attention) for accelerating inference of Kimi-K3, trained with TorchSpec — an online speculative decoding training framework that runs FSDP training and inference concurrently. If you find this draft model useful, please give our project TorchSpec a star on GitHub.

Why an MLA (Multi-Latent Attention) Draft Model

Compared with an MHA draft model, the MLA variant is a better fit for Kimi-K3 deployment:

  • Uses less KV cache, which reduces serving memory pressure.
  • Matches Kimi-K3's MLA architecture, so it fits more naturally into the inference engine's KV-cache handling under different serving scenarios such as PD-Disaggregation.

Performance

The primary metric is accept_length - the average number of tokens accepted per speculation step with topk=1, num_steps=3, num_draft_tokens=4. Higher is better; the ceiling for this configuration is 4.

Measured against an NVFP4 Kimi-K3 target on GB300 (TP=8) served with TokenSpeed, at temperature=1.0, top_p=0.95, reasoning effort max. Acceptance is attributed per request from the scheduler log, so N is the number of requests measured.

CategoryBenchmarkNAcc Len
DialogueMTBench1602.794
ChineseCEval13462.397
MultilingualSPEED-Bench multilingual802.932
MathGSM8K13193.556
MathMATH5005003.097
MathAIME 2026302.208
CodeHumanEval1643.291
CodeSPEED-Bench coding893.089
RAGSPEED-Bench rag913.017
QASPEED-Bench qa802.710
WritingSPEED-Bench writing842.447

Quick Start

Requirements

Launch Server (TokenSpeed)

This is the configuration the acceptance numbers above were measured on.

python3 -m tokenspeed.cli serve /models/Kimi-K3 \
  --served-model-name nvidia/Kimi-K3-NVFP4 \
  --attn-tp-size 8 --moe-tp-size 8 --mm-encoder-tp-mode data \
  --max-model-len 80000 --max-num-seqs 16 \
  --gpu-memory-utilization 0.92 --trust-remote-code \
  --attention-backend tokenspeed_mla --kda-backend cutedsl_kda \
  --moe-backend flashinfer_trtllm --kv-cache-dtype fp8 \
  --speculative-algorithm EAGLE3 \
  --speculative-draft-model-path /models/eagle3 \
  --speculative-num-steps 3 --speculative-eagle-topk 1 \
  --speculative-num-draft-tokens 4 \
  --speculative-draft-model-quantization unquant \
  --sampling-backend flashinfer \
  --drafter-attention-backend tokenspeed_mla \
  --max-cudagraph-capture-size 16 --cudagraph-capture-sizes 1 2 4 8 16 \
  --host 0.0.0.0 --port 8000

/models/Kimi-K3 is the target checkpoint and /models/eagle3 is this draft; point both at your local paths.

--sampling-backend flashinfer keeps rejection sampling faithful to the requested temperature / top_p, which is required to reproduce the acceptance numbers above.

Launch Server (vLLM)

vllm serve moonshotai/Kimi-K3 \
    --tensor-parallel-size 8 \
    --speculative-config '{"model": "lightseekorg/kimi-k3-eagle3-mla", "method": "eagle3", "num_speculative_tokens": 3}' \
    --trust-remote-code

Launch Server (SGLang)

sglang serve \
  --model-path moonshotai/Kimi-K3 \
  --tp 8 \
  --trust-remote-code \
  --reasoning-parser kimi_k2 \
  --tool-call-parser kimi_k2 \
  --speculative-algorithm EAGLE3 \
  --speculative-num-steps 3 \
  --speculative-eagle-topk 1 \
  --speculative-num-draft-tokens 4 \
  --speculative-draft-model-path lightseekorg/kimi-k3-eagle3-mla

Citation

@misc{torchspec2026,
  title={TorchSpec: An Online Speculative Decoding Training Framework},
  url={https://github.com/torchspec-project/TorchSpec},
  year={2026}
}

Contributors

lightseek

6 commits