推测解码
Speculative Decoding
通过草稿模型预测+验证机制加速自回归生成,降低推理延迟
子问题
1.草稿模型选择与训练
2.验证策略与接受率优化
3.多方法统一调度框架
4.与KV Cache的协同管理
5.并行草稿模式下的 padding slot 管理与 Triton 内核优化
6.树状推测的逐层注意力元数据重建与 top-k 分支采样
7.14+ 种 MTP 模型类型的 HF config 自动重映射
8.草稿模型与目标模型的 tensor parallel size 一致性约束
各项目的解法1 solutions
Signals
横向对比
| 维度 | vLLM |
|---|---|
| 草稿方法 | 7种统一框架:EAGLE/EAGLE3/Medusa/N-gram/Suffix/DraftModel/MTP |
| 验证策略 | Rejection Sampling 贪心验证 + bonus token |
| 调度框架 | 策略模式 Proposer 接口 + SpeculativeConfig.method 路由 |
| KV Cache协同 | PADDING_SLOT_ID 防污染 + block_table slot mapping |
| 树状推测 | TreeAttentionMetadata + 逐层 top-k 分支采样 |
| GPU加速 | Triton JIT 内核 + CUDA Graph PIECEWISE + 持久化 Buffer |
| 权重共享 | EAGLE/MTP 共享 embedding+lm_head,DraftModel 独立加载 |
| 可观测性 | 三层指标:Stats→Logging→Prometheus 逐位置接受率 |
最佳实践
1.根据模型大小选择ngram或EAGLE方法
2.监控接受率指标动态调整推测token数
3.用 PADDING_SLOT_ID 标记 rejected tokens 防止 KV Cache 污染
4.EAGLE/MTP 方法共享 embedding+lm_head 节省 30%+ 显存
5.N-gram 方法用 KMP 算法 + Numba JIT 实现 O(n) 无模型推测
6.三层指标体系(Stats→Logging→Prometheus)支持逐位置接受率追踪