eagle-hq/EAGLE-4
Official Inference Code of EAGLE-4
什么是EAGLE‑4?
EAGLE‑4(Extrapolation Algorithm for Greater Language‑model Efficiency)是一个投机解码框架,可加速大型语言模型的推理。它提供了一个单一的“起草器”,可根据批大小、硬件(NVIDIA或AMD GPU)和工作负载自动调整其投机树,同时保持目标模型的输出分布。
核心思想
- 投机解码:轻量级草稿模型提前预测多个token;重量级目标模型仅验证它们,从而减少昂贵的正向传递次数。
- 动态树大小调整:EAGLE‑4在运行时测量起草和验证成本,并为当前批次和硬件选择最佳的投机步数。
- 插件架构:
eagle-harness包在不修补其源代码的情况下向支持的推理引擎(SGLang、vLLM、TokenSpeed)注册钩子。
存储库包含的内容
eagle_harness– 一个可通过pip安装的Python包,实现了harness逻辑和引擎插件。- 文档 – 快速入门指南、校准程序、兼容性表和详细架构说明。
- 发布资产 – 针对受支持引擎的预构建wheel和Docker镜像,以及包含测量加速效果的支持矩阵。
支持的引擎和硬件
| 引擎 | GPU系列 | 交付方式 |
|---|---|---|
| SGLang | NVIDIA B300 (CUDA 13) 或 AMD MI355X (ROCm 7.2) | wheel(cu130 / rocm)和Docker镜像eagle‑4‑sglang:0.1.0 |
| vLLM | NVIDIA B300 (CUDA 13) | wheel(cu130)和Docker镜像eagle‑4‑vllm:0.1.0 |
| TokenSpeed (实验性) | 仅NVIDIA CUDA | wheel(cu130)和Docker镜像eagle‑4‑tokenspeed:0.1.0 |
快速安装(CUDA上的SGLang示例)
# 克隆存储库
git clone https://github.com/eagle-hq/EAGLE-4 && cd EAGLE-4
# 加载版本锁定
. docs/release.env
# 为SGLang创建虚拟环境
python3.12 -m venv .venv && source .venv/bin/activate
# 安装SGLang及其依赖项
pip install -U pip
pip install --extra-index-url "$EAGLE_CUDA_INDEX" \
--extra-index-url "$EAGLE_TORCH_CUDA_INDEX" \
"sglang==$EAGLE_SGLANG_VERSION" 'flashinfer-python>=0.7.2'
# 安装harness
pip install "eagle-harness==$EAGLE_VERSION"
# 验证插件可以看到引擎
eagle-harness-check
同样的模式适用于vLLM或TokenSpeed,只需交换引擎名称和Python版本。
运行服务器(SGLang示例)
python -m sglang.launch_server \
--model-path $MODEL \
--tp-size 4 --dtype bfloat16 \
--attention-backend flashinfer \
... (其他性能标志) ... \
--speculative-algorithm EAGLE_HARNESS \
--speculative-draft-model-path $DRAFT \
--speculative-num-steps 12 \
--speculative-eagle-topk 4 \
--speculative-num-draft-tokens 16 \
--speculative-algorithm-config '{"mode":"serve"}'
然后,一个简单的curl请求即可检查生成是否正常工作。
测量性能
该白皮书的支持矩阵报告了在4×NVIDIA B300 GPU上比普通解码最高约3倍的token/秒加速(例如,SGLang:1479→2820 t/s,vLLM:242→723 t/s)。加速因批大小和硬件而异,但框架始终会在投机路径发散时回退到正确的贪婪输出。
许可证和商业条款
- 该代码在Eagle 4 Source‑Available License(未经OSI批准)下源代码可用。它允许非商业用途和最高2000万美元收入的有限商业用途;更大的商业部署需要单独的许可证。
- 存储库还包含SGLang、vLLM、FlashInfer等的第三方声明。
谁可能使用这个?
- ML工程师:希望在不重新训练的情况下提高现有LLM部署吞吐量的人。
- 云或本地推理服务:需要适用于不同批大小和GPU系列的单一起草器的服务。
- 研究团队:正在实验投机解码算法的团队,因为该harness提供了校准工具和详细日志。
摘要:EAGLE‑4是一个插件式harness,为流行的LLM服务栈(SGLang、vLLM、TokenSpeed)添加自适应投机解码,在保持模型输出分布的同时,在现代NVIDIA/AMD GPU上实现最高约3倍的更快token生成。
相关
- 项目
- 项目
- 项目
- 项目