CoolFace
Modelpublic

ruipeterpan/Qwen2.5-14B-Instruct_EAGLE3_UltraChat

sourceHugging Faceapache-2.0updated 8mo agoView on Hugging Face
0likes750downloads
Model Card

Qwen2.5-14B-InstructEAGLE3UltraChat

This repository contains the EAGLE-3 draft model presented in the paper Fail Fast, Win Big: Rethinking the Drafting Strategy in Speculative Decoding via Diffusion LLMs.

Code: GitHub - FailFast

Introduction

Qwen2.5-14B-Instruct_EAGLE3_UltraChat is trained based on the open-source Qwen2.5-14B-Instruct model using the SpecForge framework, and can be used for the Eagle-3 speculative decoding algorithm to speed up the inference of large language models during the decoding stage.

Training Configuration

We adopted the default training hyperparameters in SpecForge and trained EAGLE-3 to match the target model's output until convergence.

This model checkpoint is obtained after five epochs of training ($\sim$260k training steps with bs=4). We find that even though further training improves training-time accuracy, they have a negligible impact on the end-to-end speedup of EAGLE-3.

  • Dataset: Utilized the UltraChat-200K dataset.
  • Training environment: The training was conducted on 4 NVIDIA H100 GPUs with 80 GB VRAM each, leveraging the DeepSpeed framework. Each training epoch took approximately 3.5 hours.

Model Inference Launch Command

vLLM v0.13.0, EAGLE-3 (single chain of draft tokens)

shell
vllm serve Qwen/Qwen2.5-14B-Instruct \
  --dtype auto -tp 2 --max_model_len 2048 \
  --gpu-memory-utilization 0.8 --port 30000 \
  --speculative_config '{"model": "ruipeterpan/Qwen2.5-14B-Instruct_EAGLE3_UltraChat", "draft_tensor_parallel_size": 1, "num_speculative_tokens": 5, "method": "eagle3"}'

vLLM v0.13.0, vanilla decoding

shell
vllm serve Qwen/Qwen2.5-14B-Instruct \
  --dtype auto -tp 2 --max_model_len 2048 \
  --gpu-memory-utilization 0.8 --port 30000

SGLang v0.5.6.post2, EAGLE-3 (tree of draft tokens)

shell
python -m sglang.launch_server --model Qwen/Qwen2.5-14B-Instruct \
  --tp 2 --speculative-algorithm EAGLE3 \
  --speculative-draft-model-path ruipeterpan/Qwen2.5-14B-Instruct_EAGLE3_UltraChat \
  --speculative-num-steps 8 \
  --speculative-eagle-topk 10 \
  --speculative-num-draft-tokens 60 \
  --mem-fraction 0.8 \
  --cuda-graph-max-bs 2 --log-level warning --port 30000

SGLang v0.5.6.post2, vanilla decoding

shell
python -m sglang.launch_server --model Qwen/Qwen2.5-14B-Instruct \
  --tp 2 --mem-fraction 0.8 --cuda-graph-max-bs 2 --log-level warning --port 30000

vLLM Performance Evaluation

We run our evaluations on two NVIDIA A6000-48GB GPUs connected via PCIe 4.0 x16. We conducted an extensive hyperparameter search of num_speculative_tokens from 3 to 20. In each entry, we report the best speedup across different speculation lengths. The following table reports the TPT speedup over vanilla decoding.

Target ModelMATHAIMEGSM8KGPQAHumanEvalAverage
Qwen2.5-32B-Instruct2.51x2.45x2.27x2.03x2.68x2.39x
Qwen2.5-14B-Instruct2.33x2.23x2.19x1.98x2.61x2.27x
Qwen2.5-7B-Instruct2.19x2.05x2.02x1.78x2.25x2.06x

Relevant Links

  • Qwen2.5-14B-Instruct Open-source Weights: https://huggingface.co/Qwen/Qwen2.5-14B-Instruct
  • "Fail Fast, Win Big: Rethinking the Drafting Strategy in Speculative Decoding via Diffusion LLMs" [arXiv '25]: https://arxiv.org/pdf/2512.20573
  • Artifact of FailFast: https://github.com/ruipeterpan/failfast