
Medusa解码头还是EAGLEModel Optimizer投机解码方案选型指南【免费下载链接】Model-OptimizerA unified library of SOTA model optimization techniques like quantization, distillation, pruning, neural architecture search, speculative decoding, etc. It compresses deep learning models for downstream deployment frameworks like TensorRT-LLM, TensorRT, vLLM, etc. to optimize inference speed.项目地址: https://gitcode.com/GitHub_Trending/te/Model-OptimizerModel Optimizernvidia-modelopt是 NVIDIA 推出的开源模型优化统一库覆盖量化、蒸馏、剪枝、神经架构搜索、投机解码等 SOTA 技术可压缩深度模型并适配 TensorRT-LLM、TensorRT、vLLM 等部署框架以提升推理速度。在加速大模型生成时**投机解码Speculative Decoding**是最直接的手段让一个轻量草稿模型先猜若干个 Token再由大模型一次前向并行验证从而把每步只出 1 个 Token变成每步出多个 Token。但方案不止一条路线——Medusa 解码头和EAGLE 草稿器该怎么选本文带你用一张对比表 一份实操清单5 分钟完成选型。先搞懂原理投机解码为什么能加速大模型是自回归生成的生成 K 个 Token 就要串行跑 K 次前向这是延迟的瓶颈。投机解码的核心思路分三步草稿Draft用更小的模型/模块快速预测接下来的若干 Token验证Verify目标大模型一次前向同时打全部草稿分接受Accept按接受规则取最长的可信前缀每轮验证步即可产出 α1 个 Token。⚠️ 关键指标是接受率Acceptance Rate草稿猜得越准加速比越高猜不准时额外开销反而拖慢推理。选型的本质就是——在额外成本与接受率之间找到最优解。两条技术路线Medusa 与 EAGLE 原理解析方案一Medusa —— 多解码头并行预测零额外模型Medusa 不引入独立草稿模型而是给基座模型挂上几个额外的解码头heads让它们并行预测未来第 2、3、4… 个 Token。候选词通过树状注意力组合再由接受机制选出最长可信前缀。由于草稿来源就是目标模型自身Medusa 天然保证输出分布与基座模型完全一致且参数几乎不增加。官方文档中对其原理的完整介绍见 5_speculative_decoding.rst。✅ 优点无独立草稿器部署简单、显存友好❌ 局限直接预测 Token 难度高接受率通常低于 EAGLE方案二EAGLE —— 轻量自回归草稿器在隐藏状态层面预测EAGLE 用一个一层或几层的轻量自回归解码器基于目标模型最后一层隐藏状态EAGLE3 还会融合多层特征预测未来的隐藏状态再映射成 Token。为什么更强官方文档指出在特征hidden states层面做自回归比在 Token 层面更容易因此 EAGLE 的草稿更准、接受率更高、加速比更大。✅ 优点接受率显著更高实测加速效果最好❌ 局限多了一个小型草稿模块需要单独训练顺便了解DFlash —— 块扩散并行草稿Model Optimizer 还内置了DFlash基于 Block Diffusion通过掩码并行预测 目标模型隐藏状态的 KV 注入单次前向就能产出一整块默认 8 个草稿 Token配置与结果详见 dflash.md 与 dflash.yaml。一张表看清Medusa vs EAGLE 选型对比维度MedusaEAGLE1/2/3结构基座模型 额外解码头独立轻量草稿解码器可配 1~N 层额外参数开销极小仅头小一个小型解码器预测层面Token 层面并行隐藏状态层面自回归接受率中等更高输出分布保证与基座完全一致经验证恢复目标分布适合场景追求极简、显存紧张追求最大推理加速支持矩阵你的模型能用哪种方案根据官方 README 中的支持矩阵基座模型MedusaEAGLE1/2EAGLE3Llama 2 / Llama 3 / Llama 3.1✅✅✅Mistral✅✅✅Phi-3✅✅✅Qwen 1.5 / 2 / 2.5 / 3✅✅✅Kimi-K2.5 / K2.6——✅ 注意Kimi-K2.5/K2.6 这类 MoE 大模型目前只支持 EAGLE3——如果你的模型不在通用支持列表里基本可以直接锁定 EAGLE3。快速上手一行命令训练 EAGLE3 草稿模型整个流程训练 → MT-Bench 评估接受率 → 导出可部署 checkpoint可一行命令完成bash train_eagle3_and_export.sh --base_model meta-llama/Llama-3.2-1B-Instruct脚本位于 train_eagle3_and_export.sh它会使用 默认 EAGLE 架构配置 初始化草稿模型、微调、评估并导出。训练模式怎么选模式适用场景说明在线训练Online小基座模型草稿与基座共卡训练最简单离线训练Offline大模型先用 compute_hidden_states_trtllm.py 导出隐藏状态到磁盘只训草稿模型显存大幅降低流式训练Streaming超大模型由在线 vLLM 服务经 NIXL RDMA 实时流式供给隐藏状态无需落盘可多节点扩展草稿模型微调收敛时的典型 loss 走势可参考下图以模型微调训练曲线为例如果想用代码方式给模型挂Medusa 解码头核心转换也很短完整示例见 main.pyimport modelopt.torch.speculative as mtsp config {medusa_num_heads: 2, medusa_num_layers: 1} mtsp.convert(model, [(medusa, config)]) # 换成 [(eagle, cfg)] 即为 EAGLE训练配置模板可直接复用官方配方目录eagle3.yaml、dflash.yaml。验证与部署三大推理框架全兼容训练完成后Model Optimizer 提供完整的评估—导出—部署链路评估接受率python scripts/ar_validate.py --model_path $CKPTar_validate.py导出 HF 格式python scripts/export_hf_checkpoint.pyexport_hf_checkpoint.py部署TRT-LLM在speculative_config中指定decoding_type: Eagle 草稿 checkpoint 目录即可vLLM可选用 convert_to_vllm_ckpt.py 把目标模型信息合并进草稿 checkpoint简化部署SGLang按官方 EAGLE3 解码说明接入。 上线前建议用内置的SpecDec Bench做多框架横评——它能统计 MT-Bench 等数据集上的接受率、耗时与输出代码位于 examples/specdec_bench也支持 vLLM / SGLang / TRT-LLM 三种引擎。选型建议清单按场景对号入座想最快见效、显存紧张→ 选Medusa挂两个解码头即可参数几乎零增加追求最大推理加速→ 选EAGLE3接受率更高官方主推路线基座是大模型、训练卡不够→ EAGLE离线/流式训练先 dump 隐藏状态再训草稿器MoE 大模型如 Kimi-K2.5→ 目前仅 EAGLE3可用⚡想试块级并行预测→ 关注DFlash一次前向出整块 Token草稿器太大拖慢推理→ 可开启草稿词表压缩如 128k 词表压到 32k脚本 calibrate_draft_vocab.py 一键生成映射表。关键文件导航资源路径端到端示例与文档examples/speculative_decoding/README.md官方教程概念与 APIdocs/source/guides/5_speculative_decoding.rst核心模块Medusa/EAGLE/DFlashmodelopt/torch/speculative/训练配方 YAMLmodelopt_recipes/general/speculative_decoding/接受率基准工具examples/specdec_bench/README.md写在最后一句话总结选型逻辑求稳求简选 Medusa求快求上限选 EAGLE3。Model Optimizer 把两条路线的训练、评估、导出、部署做成了同一条流水线你只需在mtsp.convert()里换一个 mode就能在同一个小模型上跑完对照实验——用 SpecDec Bench 实测接受率让数据替你拍板。【免费下载链接】Model-OptimizerA unified library of SOTA model optimization techniques like quantization, distillation, pruning, neural architecture search, speculative decoding, etc. It compresses deep learning models for downstream deployment frameworks like TensorRT-LLM, TensorRT, vLLM, etc. to optimize inference speed.项目地址: https://gitcode.com/GitHub_Trending/te/Model-Optimizer创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考