lightseekorg/kimi-k2.5-eagle3

Model

15

stars

6

commits

7

linked in READMEs

Mar 16, 2026

updated

draft-model
eagle3
kimi-k2.5
llama
safetensors
speculative-decoding
Browse cluster: LLM Inference Optimization β†’

README

Model Overview

kimi-k2.5-eagle3 is an Eagle3 MTP draft model for accelerating inference of Kimi-K2.5, 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 🌟 on GitHub.

Training data is available at lightseekorg/kimi-mtp-dataset.

Training Setup

  • Cluster: 4 nodes Γ— 8Γ— H200 (32 GPUs total)
  • Training: 2 nodes (16 GPUs), FSDP
  • Inference: 2 nodes (16 GPUs), Engine (TP=8 per node)
  • Duration: ~14 hours per phase

Training ran in two phases, each 20k steps (~300k samples):

  • Phase 1: Regenerated open-perfectblend dataset
  • Phase 2: Mixed dataset (English, VL, Chinese, function-call, agent, creative writing)

All training responses were regenerated by Kimi-K2.5 via Engine to match the base model's exact token distribution.

Training Curves

The plots show loss, token acceptance accuracy, and simulated accept_length during training. Both eval sets contain 256 samples drawn from each phase's own training corpus.

Phase 1 (steps 0 β†’ 20k):

Phase 1 training curves

Phase 2 (steps 20k β†’ 40k):

Phase 2 training curves


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.

Benchmarks were run using SpecForge's bench_eagle3.py. BFCL v3 benchmarks (†) use a custom extension to the original script.

accept_length by dataset and method

CategoryDatasetnPhase 1 (20k steps)Phase 2 (40k steps)
DialogueMTBench802.6242.687
ChineseCEval2121.4822.295
MathGSM8K5003.1233.201
CodeHumanEval1643.2423.285
MathMATH5005003.3233.342
MathAIME302.9723.033
VLMMStar2002.5662.787
Function Call †BFCL v3 simple4003.7293.798
Function Call †BFCL v3 multiple2003.7453.809
Function Call †BFCL v3 parallel2003.5963.669
Function Call †BFCL v3 parallel_multiple2003.5253.601
Function Call †BFCL v3 live_simple15473.5153.667
Function Call †BFCL v3 live_multiple10303.4073.453
Function Call †BFCL v3 live_parallel973.3033.410
Function Call †BFCL v3 live_parallel_multiple1703.0703.159

Quick Start

Requirements

Launch Server (vLLM)

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

For deployment configuration, refer to official vLLM recipes.

Launch Server (SGLang)

python -m sglang.launch_server \
    --model-path moonshotai/Kimi-K2.5 \
    --tp 8 \
    --trust-remote-code \
    --speculative-algorithm EAGLE3 \
    --speculative-draft-model-path lightseekorg/kimi-k2.5-eagle3 \
    --speculative-num-steps 3 \
    --speculative-eagle-topk 1 \
    --speculative-num-draft-tokens 4 \
    --mem-fraction-static 0.75 \
    --dtype bfloat16

Run Benchmarks

python bench_eagle3.py \
    --model-path moonshotai/Kimi-K2.5 \
    --port 30000 \
    --config-list 1,3,1,4 \
    --benchmark-list <benchmark_name> \
    --skip-launch-server

--config-list format: topk,num_steps,topk,num_draft_tokens.

Contributors

lightseek

5 commits

rogerwyf

1 commits

lightseekorg/kimi-k2.5-eagle3

Model

15

stars

6

commits

7

linked in READMEs

Mar 16, 2026

updated

draft-model
eagle3
kimi-k2.5
llama
safetensors
speculative-decoding
Browse cluster: LLM Inference Optimization β†’

README

Model Overview

kimi-k2.5-eagle3 is an Eagle3 MTP draft model for accelerating inference of Kimi-K2.5, 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 🌟 on GitHub.

Training data is available at lightseekorg/kimi-mtp-dataset.

Training Setup

  • Cluster: 4 nodes Γ— 8Γ— H200 (32 GPUs total)
  • Training: 2 nodes (16 GPUs), FSDP
  • Inference: 2 nodes (16 GPUs), Engine (TP=8 per node)
  • Duration: ~14 hours per phase

Training ran in two phases, each 20k steps (~300k samples):

  • Phase 1: Regenerated open-perfectblend dataset
  • Phase 2: Mixed dataset (English, VL, Chinese, function-call, agent, creative writing)

All training responses were regenerated by Kimi-K2.5 via Engine to match the base model's exact token distribution.

Training Curves

The plots show loss, token acceptance accuracy, and simulated accept_length during training. Both eval sets contain 256 samples drawn from each phase's own training corpus.

Phase 1 (steps 0 β†’ 20k):

Phase 1 training curves

Phase 2 (steps 20k β†’ 40k):

Phase 2 training curves


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.

Benchmarks were run using SpecForge's bench_eagle3.py. BFCL v3 benchmarks (†) use a custom extension to the original script.

accept_length by dataset and method

CategoryDatasetnPhase 1 (20k steps)Phase 2 (40k steps)
DialogueMTBench802.6242.687
ChineseCEval2121.4822.295
MathGSM8K5003.1233.201
CodeHumanEval1643.2423.285
MathMATH5005003.3233.342
MathAIME302.9723.033
VLMMStar2002.5662.787
Function Call †BFCL v3 simple4003.7293.798
Function Call †BFCL v3 multiple2003.7453.809
Function Call †BFCL v3 parallel2003.5963.669
Function Call †BFCL v3 parallel_multiple2003.5253.601
Function Call †BFCL v3 live_simple15473.5153.667
Function Call †BFCL v3 live_multiple10303.4073.453
Function Call †BFCL v3 live_parallel973.3033.410
Function Call †BFCL v3 live_parallel_multiple1703.0703.159

Quick Start

Requirements

Launch Server (vLLM)

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

For deployment configuration, refer to official vLLM recipes.

Launch Server (SGLang)

python -m sglang.launch_server \
    --model-path moonshotai/Kimi-K2.5 \
    --tp 8 \
    --trust-remote-code \
    --speculative-algorithm EAGLE3 \
    --speculative-draft-model-path lightseekorg/kimi-k2.5-eagle3 \
    --speculative-num-steps 3 \
    --speculative-eagle-topk 1 \
    --speculative-num-draft-tokens 4 \
    --mem-fraction-static 0.75 \
    --dtype bfloat16

Run Benchmarks

python bench_eagle3.py \
    --model-path moonshotai/Kimi-K2.5 \
    --port 30000 \
    --config-list 1,3,1,4 \
    --benchmark-list <benchmark_name> \
    --skip-launch-server

--config-list format: topk,num_steps,topk,num_draft_tokens.

Contributors

lightseek

5 commits

rogerwyf

1 commits