File size: 3,176 Bytes
134c9ea 5b72cf2 134c9ea 1c8b423 134c9ea 95d3c54 134c9ea 8e015df 134c9ea 60e40a3 5b72cf2 60e40a3 5b72cf2 60e40a3 134c9ea | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | ---
license: apache-2.0
---
# Model Overview
P-EAGLE is a parallel-drafting speculative decoding model that generates K draft tokens in a single forward pass. It transforms EAGLE—the state-of-the-art speculative decoding method—from autoregressive to parallel draft generation.
### Model Details
The model architecture is illustrated in the following figure. Specifically, we trained a 4-layer P-EAGLE for GPT-OSS 120B as the target model, with number of parallel-token prediction as 8.
P-EAGLE follows the vanila EAGLE 3 using three layers of hidden states from the target model.
<img src="https://cdn-uploads.huggingface.co/production/uploads/64ab5fe189aa67e4a251b6b4/UBBMgZvXkOduu_LpUunQy.png" width="50%">
### Model Description
- **Developed by:** AWS
- **Model type:** EAGLE
- **Language(s) (NLP):** English
- **License:** Apache License 2.0
- **Target model:** [GPT-OSS 120B](https://huggingface.co/openai/gpt-oss-120b)
### Model Sources
- **Paper**: [P-EAGLE: Parallel-Drafting EAGLE with Scalable Training](https://www.arxiv.org/pdf/2602.01469)
### Training Data
- [Ultrachat_200k](HuggingFaceH4/ultrachat_200k)
- [Magpie-Llama-3.1-Pro-300K-Filtered](https://huggingface.co/datasets/Magpie-Align/Magpie-Llama-3.1-Pro-300K-Filtered)
Similar to [nvidia/gpt-oss-120b-Eagle3-long-context](https://huggingface.co/nvidia/gpt-oss-120b-Eagle3-long-context): only prompts from the datasets were used for data synthesis (the original responses from GPT were not used for data synthesis) which is then used to train the P-Eagle.
### Usage
To serve the checkpoint in [vLLM](https://github.com/vllm-project/vllm)
```
CUDA_VISIBLE_DEVICES=0 VLLM_USE_FLASHINFER_MOE_MXFP4_MXFP8=1 \
vllm serve openai/gpt-oss-120b \
--speculative-config '{"method": "eagle3", "model": "amazon/gpt-oss-120b-p-eagle", "num_speculative_tokens": 5, "parallel_drafting": true}' \
—tp 1 \
--max-num-batched-tokens 32768 \
--kv-cache-dtype fp8 \
--async-scheduling \
--stream-interval 20 \
--max-cudagraph-capture-size 4096 \
--no-enable-prefix-caching \
--port 8040 \
--gpu-memory-utilization 0.9 \
--max-num-seqs 128 \
--max-model-len 32768
```
### Evaluation
From vllm-bench, with speculation length of 5 and max-new-token of 2048, we see the following acceptance length.
- **MT-Bench**: 2.68.
- **HumanEval**: 3.15.
- **GSM-8K**: 3.55.
The command to run benchmarking is shown as below.
```
vllm bench serve \
--backend openai-chat \
--base-url http://localhost:8040 \
--endpoint /v1/chat/completions \
--model openai/gpt-oss-120b \
--dataset-name custom \
--dataset-path /home/ubuntu/eval_datasets/humaneval_custom.jsonl \
--custom-output-len 2048 \
--num-prompts 164 \
--max-concurrency 1 \
--request-rate inf \
--temperature 0 \
--save-result \
--save-detailed \
```
### Ciatation
```
@article{hui2026p,
title={P-EAGLE: Parallel-Drafting EAGLE with Scalable Training},
author={Hui, Mude and Huang, Xin and Salas, Jaime Campos and Sun, Yue and Pemberton, Nathan and Song, Xiang and Khetan, Ashish and Karypis, George},
journal={arXiv preprint arXiv:2602.01469},
year={2026}
}
``` |