
# Eagle/Eagle3投机推理
#### 什么是Eagle/Eagle3投机
相比大小模型投机，Eagle/Eagle3投机仅有一层模型参数，同时使用历史生成的token和该token对应的hidden states作为投机模型的输入。这种方式提高了投机模型生成的效率。
#### 主要应用场景
**适用场景**：
- 对时延要求较高的场景。
- 有专门的Eagle/Eagle3模型。
- 需要配置相关环境变量后再使用，环境变量参考[表1 Qwen Dense系列启动环境变量](https://support.huaweicloud.com/bestpractice-modelarts/modelarts_llm_infer_5908007.html#ZH-CN_TOPIC_0000002451298474__table78941919101813)配置。
**不适用场景**：
- 吞吐量较大的场景(batchsize较大，算力遇到瓶颈)。
- 没有对应的Eagle/Eagle3模型
 
#### 工作原理
1. 起草阶段：使用小模型生成一段候选 token 序列。
2. 验证阶段：将候选序列输入大模型进行并行计算，验证其概率分布是否一致。
 
#### 启用Eagle/Eagle3投机参数
| 配置项                  | 配置参数                   | 取值类型 | 配置说明                                                                                        |
|:---|:---|:---|:---|
| --speculative-config | num_speculative_tokens | int  | 每次预测的 token 数量。取值为大于等于1的正整数；且若设置过大会导致性能劣化，推荐根据接受率设置1/2/3，其中推荐先设置为1，若接受率高于70%，可尝试设置为2对比性能收益。 |
| --speculative-config | method                 | str  | 投机方法："eagle"或者"eagle3"，视投机模型权重而定。若投机模型权重名称为Qwen3-XXXX-EAGLE3-XXX，则为eagle3，反之为eagle。         |
| --speculative-config | model                  | str  | 投机模型路径。                                                                                     |
   
#### 支持模型
| 基础模型                 | 投机方法   | 投机模型权重                                                            |
|:---|:---|:---|
| Qwen2.5-14B-Instruct | eagle  | <https://huggingface.co/Zjcxy-SmartAI/Eagle-Qwen2.5-14B-Instruct> |
| Qwen3-8B             | eagle3 | <https://huggingface.co/Tengyunw/qwen3_8b_eagle3>                 |
| Qwen3-32B            | eagle3 | <https://huggingface.co/AngelSlim/Qwen3-32B_eagle3>               |
   
