← 返回 2026-05-20

少起草,多检索:面向推测解码的混合树构建方法 Graft Draft Less, Retrieve More: Hybrid Tree Construction for Speculative Decoding

Yuhao Shen, Tianyu Liu, Xinyi Hu, Quan Kong, Baolin Zhang, Jun Dai, Jun Zhang, Shuang Ge, Lei Chen, Yue Li, Mingcheng Wan, Cong Wang 📅 2026-05-19 👍 7 2026-07-13 08:36
LLM推理优化 动态剪枝 大模型推理加速 推测解码 树形验证 检索增强

提出 Graft 框架,将动态剪枝释放的候选预算用检索补回,在不增加验证开销下同时提升推测解码的速度与平均接受长度。

前置知识

推测解码(Speculative Decoding)

推测解码是一种无损加速自回归 LLM 推理的范式:先用一个小而快的草稿模型(drafter)连续提出若干候选 token,再让目标大模型在一次并行前向中同时验证这些候选,从而把逐 token 的串行解码改为「多步并行验证」。其加速比公式为 $S(T)=\frac{(M(T)+1)\,T_{ar}}{C(T)}$,其中 $M(T)$ 是平均接受长度(MAT),$C(T)=T_{draft}(T)+T_{verify}(T)$ 是每步总成本。

本文所有讨论都建立在「草稿-验证」流水线上,MAT 与 wall-time speedup 是衡量 Graft 收益的核心指标,不理解这一范式就难以读懂后续对剪枝-检索预算再分配的论述。

树形草稿与树注意力(Tree Drafting / Tree Attention)

为了让一次验证接受更多 token,EAGLE-3 等方法把单一链式草稿扩展成 token 树,树的每条分支是一条候选延续,并通过特殊的树形 attention mask 让目标模型在一次前向中同时评估所有分支。树的形状(最大深度 $D_E$、最大宽度 $W_E$)是静态的。

Graft 的核心就是在不改变这棵静态树的总验证预算 $K_{max}$ 的前提下,重新分配树里「保留的草稿节点」与「嫁接的检索节点」的数量;tree-attention 接口是 Graft 保持推理路径不变的关键。

动态深度剪枝(Dynamic-Depth Pruning)

指在草稿模型置信度低时,把树在某个 checkpoint $d\in D_{prune}$ 处截断,只展开到更浅的深度,从而节省昂贵的草稿端计算。常用做法是比较草稿对数概率的累积路径分数 $S_{d,j}$,并以阈值 $\tau_d$ 决定是否继续展开:$g_d=\mathbb{1}[c_d>\tau_d]$。

Graft 正是利用剪枝「释放出来的候选 slot」来安放检索节点,因此必须理解剪枝如何产生预算、以及为什么纯剪枝无法突破 $M(T_\pi)\le M(T_E)$ 的上限。

平均接受长度(Mean Accepted Length, MAT)

MAT = $M(T)=\mathbb{E}[L(T)]$,即每个验证步实际被目标模型接受的 token 数期望。它直接决定了一次验证能推进多少步,是 wall-time speedup 公式的分子。剪枝会降低 MAT,检索嫁接的目标之一就是把 MAT 拉回甚至超过静态树。

Graft 的核心论点是「同时提升 speedup 和 MAT」——如果只是把树变快但 MAT 下降,不能算真正突破 Pareto 前沿。所有实验都同时报告这两个指标。

基于检索的推测解码(Retrieval-based SD)

不依赖独立草稿模型,而是从 prompt 或生成历史中查找常见 n-gram 复用为候选 token 的方法,代表工作有 PLD、Lookahead、Token Recycling 等。优势是开销极小,缺点是覆盖度有限,且大多需要 CPU 端 trie/哈希查找。

Graft 把检索从「独立 drafter」变成「填充剪枝 slot 的补偿模块」,并用 GPU 邻接矩阵替代 CPU 端查找;理解纯检索方法的不足,才能看懂 Graft 嫁接策略的动机。

研究动机

现代 LLM 的自回归解码天然是逐 token 串行的,每生成一个 token 都要重新跑一次目标模型的前向,这成为延迟的主要瓶颈。推测解码用「草稿-验证」范式缓解这一点,但最近的 EAGLE-3 等方法把单一链式草稿扩展成宽而密的 token 树——例如在 Vicuna-13B 的 HumanEval 上,dense 树能让 MAT 达到 8.42,但树的总节点数往往达到 60~64 个,这直接放大草稿端的搜索开销、显存带宽消耗以及目标端的验证工作量。结果是「树越大,MAT 越高,但端到端 wall-time 加速比不一定变好」,dense EAGLE-3 在短上下文五个基准上的平均加速比反而只有 3.91×。为了解决这一矛盾,DDD、SVIP、ECHO 等动态剪枝方法在草稿置信度低时把树截到更浅的深度来降低 $C(T)$,但作者在第 2.1 节用形式化论证指出,剪枝后的树严格是原 dense 树的子树 $T_\pi\subseteq T_E$,因此 $M(T_\pi)\le M(T_E)$ 恒成立;图 1 也清楚显示 DDD/SVIP/ECHO 都向右(变快)移动,但都掉到 dense EAGLE-3 的 MAT 上界之下。这是一条「快但短」的 Pareto 前沿,无法被单纯剪枝突破。

本文的目标是本文的核心目标是打破「剪枝越深、MAT 越低」这一 Pareto 约束,在不增加目标端验证预算的前提下同时提升 wall-time speedup 和 MAT。具体而言,作者希望保留剪枝带来的草稿成本节省(自由 slot),同时用某种「便宜、覆盖广」的候选源把那些被剪掉的 slot 重新填上,使得最终混合树 $T_G=T_\pi\cup G$ 的节点数仍然 $\le |T_E|$,但节点身份可以落在原静态子树之外,$T_G\not\subseteq T_E$。最终希望 Graft 在短上下文、长上下文、大模型、高并发服务等多种部署场景下建立新的 speed-MAT Pareto 前沿。

与已有工作不同的是,作者找到了一个非常巧妙的切入角度:把剪枝重新理解为「预算释放」而非「候选删除」。传统观点把剪枝看作「为了变快而牺牲 MAT」,作者则反过来问:被释放的 slot 是不是应该被更便宜的检索候选填充?已有的检索型 SD 方法(PLD、TR、Lookahead、SAMD)要么把检索作为独立 drafter,要么把检索质量当路由信号,要么严重依赖 CPU 端的 trie/哈希/同步结构,在高并发大模型服务里反而可能抵消推测收益。Graft 的独特之处在于:(1) 提出「prune-then-graft」耦合框架,让剪枝与检索互相补偿,slot 必须由剪枝释放、由检索填充;(2) 用 GPU 驻留的邻接矩阵 $M\in V^{|V|\times k}$ 把检索做成常数复杂度的行-列查表,避免 CPU 同步;(3) 让 root-centered 检索在草稿阶段并行展开,只在剪枝阶段决定保留哪段模板,保证不增加串行 critical path;(4) 完全 training-free 且 lossless,复用目标模型的标准 tree-attention 验证接口,不动目标权重也不改解码分布。简言之,已有工作要么只剪枝、要么把检索当独立 drafter、要么把检索当路由信号,没人把检索定位成「动态剪枝 slot 的填充材料」并把它深度耦合进 tree-attention 验证路径。

核心方法

Graft 的整体思路可以一句话概括为「draft less, retrieve more」:在草稿模型不确定时不要硬往深处展开,而是把省下来的候选预算拿给检索去生成另一条候选链,再用目标模型一次并行验证这条混合树。技术上,Graft 以 EAGLE-3 风格的 dense token 树为底座,但中间插入三步耦合操作——(1) 预算释放:在少量「校准好的剪枝 checkpoint」$d\in D_{prune}$ 上比较路径置信度 $c_d=\exp\max_j S_{d,j}$ 与阈值 $\tau_d$,一旦 $g_d=0$ 就在该点截断;(2) 检索嫁接:以当前根 token $x_t$ 为根,从 GPU 邻接矩阵 $M$ 里查表并行展开一个 retrieval 模板 $G_{ret}^s$,再按剪枝阶段 $s$ 截取相应前缀补到剪枝释放出的 slot 上;(3) 混合验证与在线更新:把保留的草稿节点和检索节点压平成一棵大小仍为 $K_{max}$ 的混合树送进标准 tree-attention 验证,并用目标模型在验证节点上的真实分布刷新 $M$。这一设计的关键直觉是:剪枝与检索天然互补——剪枝省下的是「草稿端计算预算」,检索补回的是「候选覆盖度」,两者合起来既快又长。

Graft 的核心创新在于把「动态剪枝」与「检索补 slot」设计为一对互锁操作,而不是两个独立模块。形式上,原 dense 树的总验证预算 $K_{max}$ 被分解为 $K_{max}=K_{draft}^s+K_{ret}^s$,其中 $K_{draft}^s$ 取决于剪枝阶段 $s$(论文中 60 节点预算下分别取 8/24/40),$K_{ret}^s$ 是补足差值的检索节点数。这意味着 Graft 的最终验证预算与 EAGLE-3 相同,但候选身份可以落到 $T_E$ 之外,从而绕过 $M(T_\pi)\le M(T_E)$ 的上界约束。技术上的三个本质区别是:(1) 检索被嵌入 tree-attention 路径而不是并行独立 drafter,避免 CPU 同步且不增加目标 forward;(2) 用 GPU 邻接矩阵 + root-centered 模板实现常数成本查表,使检索开销远小于一次草稿 forward;(3) 引入「calibrated pruning checkpoints」和基于目标模型验证信号 $M[\tilde{x}_i]=\arg\text{top-}k(\tilde{p}_{i+1})$ 的在线刷新,让检索字典随上下文动态对齐当前 prompt/历史,而 PLD 那种 prompt-only 缓存只会在长 prompt 上越来越稀薄。

方法步骤详情

Graft 的执行流程可拆成三步:(1) **预算释放(剪枝)**:在草稿树展开到第 $d$ 层时,累计路径分数 $S_{d,j}=S_{d-1,F(j)}+\log q(x_{d,j}\mid h_{d-1,F(j)})$,取 $c_d=\exp\max_j S_{d,j}$,与校准阈值 $\tau_d$ 比较得到 $g_d=\mathbb{1}[c_d>\tau_d]$;若 $g_d=0$ 则在第 $d$ 个 checkpoint 把树截断,跳过更深的草稿展开,浅层 checkpoint 的阈值更严格以减少累积误判。剪枝阶段 $s$ 决定保留的草稿节点数 $K_{draft}^s$(例如 $s\in\{d_0,d_1,d_5\}$ 对应 8/24/40),剩余 $K_{ret}^s=K_{max}-K_{draft}^s$ 个 slot 全部交由检索填充。(2) **检索嫁接**:以当前根 token $x_t$ 为起点,从 GPU 邻接矩阵 $M$ 中按行查找 top-$k$ 后继,即 $x_u=M[x_{F(u)}, r_u]$,并行展开一个 stage-adaptive 模板 $G_{ret}^s$(默认深度/宽度对齐 base tree $D_E/W_E$,但按剪枝阶段取相应子模板)。重要的是,root-centered 的检索在草稿阶段就已经并行开始展开 envelope,只在剪枝结束后截取与 $K_{ret}^s$ 匹配的子模板拼接到 $T_\pi$ 中,因此不会在 critical path 上新增串行阶段。(3) **混合验证与在线更新**:把保留的草稿节点与嫁接的检索节点扁平化成大小为 $K_{max}$ 的 token 列表,重建标准 tree position IDs、ancestor mask 和 candidate path indices 送进目标模型做一次并行验证;接受规则与标准 SD 完全一致,因此保留 lossless 性质。验证后,对每个被验证的 token $\tilde{x}_i$(无论最终是否被接受),都用目标模型在 $i+1$ 位置的 next-token 分布 $\tilde{p}_{i+1}$ 刷新对应行的 top-$k$ 后继,从而让 $M$ 越来越贴合当前上下文。

技术新颖性

技术新颖性主要体现在三点:(1) **预算再分配视角**:把「剪枝」从「被动裁剪候选」重新诠释为「主动释放预算」,并把「检索」从「独立 drafter」重新诠释为「预算补偿源」,这是对动态推测解码设计空间的概念性扩展,论文第 2.1 节给出了 $S(T_\pi)/S(T_E)$ 分解公式与 $1-\prod_d(1-\epsilon_d)$ 的累积误判上界来支撑该视角。(2) **prune-then-graft 耦合设计**:作者通过对比实验(Figure 2)证明,纯 root 嫁接 $G_{ret}^{root}$ 会挤占 root 附近强草稿节点导致平均加速比不如 EAGLE-3,纯 tail 嫁接 $G_{ret}^{tail}$ 又强依赖整条草稿前缀被接受,而 prune-then-graft 把检索精确安放在「剪枝真正创造空间」的位置,并配合 stage-adaptive 模板实现端到端最优。(3) **GPU-resident 在线邻接矩阵 + 树状验证路径复用**:$M\in V^{|V|\times k}$ 直接驻 GPU,检索退化为单次 row gather,没有 CPU 通信也不需要额外目标 forward;50 轮 warm-up 也只占 2.32 MB(Table 4)。同时验证阶段完全复用 EAGLE-3 的 tree-attention 接口,$|T^s|=K_{max}$ 恒定,serving kernel 不用做 ragged-batch 适配,这对工业部署至关重要。

实验结果

作者在短上下文(5 个基准 × 5 个目标模型)、长上下文(5 个基准 × 4 个目标模型)、高并发服务(Qwen3-8B × SGLang)、温度采样($T=1$)和 DFlash block 草稿五个场景下做了系统实验,核心发现如下。**(1) 短上下文 Table 1**:Graft 在所有模型上同时提升 speedup 与 MAT。Vicuna-13B 平均 speedup 从 EAGLE3-2K 的 3.91× 升到 4.20×(+7.4%),相比纯剪枝的 ECHO 4.07× 也提高 3.2%;LLaMA3.1-8B 上 3.73×→3.97×(+5.9%);Qwen3-8B 上 2.10×→2.43×(+15.7%),各任务提升 9.6%~21.5%;Qwen3-32B 上 2.12×→2.49×(+17.5%),平均 MAT 也增加 6.4%;Qwen3-235B 上 1.71×→2.09×(+21.8%),CNN/DM 任务上提升高达 26.2%,单任务最高 5.41×(Vicuna-13B HumanEval)。这说明当大模型平均接受长度较小、推测空间有限时,剪枝释放出的预算最难被填满,而检索嫁接正好提供「不需要强草稿」的高质量候选。(2) **长上下文 Table 2**:Graft 在 LLaMA3.1-8B 长上下文上平均 speedup 3.22×,比 EAGLE3-64K 的 2.92× 高 10.3%,比 TokenSwift 1.67× 高 92.8%、比 TriForce 1.81× 高 77.9%、MagicDec 因为不兼容甚至掉到 0.74×。Qwen3-4B/8B/14B 分别提升 18.7%、20.2%、16.6%。MAT 也同步增长(Qwen3-14B 1.86→2.17)。代码补全类任务收益尤其突出(Qwen3-8B LCC +32.4%,RepoBench-P +38.6%),因为仓库级代码天然包含大量重复模板。(3) **上下文长度缩放 Table 3**:4K→32K 上 Graft 的相对优势单调扩大,四模型平均从 4K 的 10.2% 增到 32K 的 14.0%,Qwen3-14B 单独看从 13.0% 涨到 17.8%。这是因为长 prompt 一方面让草稿端 attention 更贵(剪枝收益放大),另一方面提供了更多 local transition 让 $M$ 更准(检索收益放大)。(4) **温度采样 Table 5**:$T=1$ 下 LLaMA3.1-8B 上 Graft 3.43× 比 EAGLE3 3.17× 高 8.2%,Qwen3-8B 上 2.26× 比 EAGLE3 1.85× 高 22.2%,证明剪枝+检索耦合在目标分布变平时仍然有效。(5) **DFlash block 草稿 Table 6**:把 Graft 嫁接到 DFlash 之上,Qwen3-8B 上把 DFlash 的 3.40× 提升到 3.71×(+9.1%),CNN/DM 和 Alpaca 上分别 +20.2% 和 +13.7%,验证「prune-then-graft」思路可推广到非自回归草稿。(6) **组件消融 Figure 5**:在 LLaMA3.1-8B 上,去掉检索(仅剪枝)平均 3.74×,去掉剪枝(固定预算切分)3.62×,完整 Graft 3.97×;Qwen3-8B 上对应数字 2.20×/1.95×/2.43×,证明两者是互补而非可替代。(7) **检索模板形状 Figure 6**:深度 $d$ 从 2 增到 8 速度从 2.34× 升到 2.86×,再深就衰减;宽度 $w$ 类似,最佳在 $w=8$ 附近,对应 base tree envelope 形状最优。(8) **Warm-up Table 4**:5 轮 warm-up(仅 0.37 MB)就能把 HumanEval 速度从 2.37× 拉到 2.51×,50 轮 2.32 MB 时再涨到 2.68×,但作者默认用 5 轮以保证实时性。(9) **高并发 SGLang Figure 7**:Qwen3-8B 在 BS=1~16 范围内,MAT 与吞吐量(tokens/s)都稳定高于 EAGLE3,+3.1%~+5.5% 区间,说明检索嫁接在固定每请求预算下依然有效。

任务指标本文基线提升
短上下文平均(HumanEval/GSM8K/CNN/DM/Alpaca/MT-Bench, Vicuna-13B) Wall-time speedup 4.20× (Graft) 3.91× (EAGLE3-2K) +7.4%
短上下文平均(5 benchmarks, LLaMA3.1-8B) Wall-time speedup 3.97× (Graft) 3.73× (EAGLE3-2K) +5.9%
短上下文平均(5 benchmarks, Qwen3-8B) Wall-time speedup 2.43× (Graft) 2.10× (EAGLE3) +15.7%
短上下文平均(5 benchmarks, Qwen3-32B) Wall-time speedup 2.49× (Graft) 2.12× (EAGLE3) +17.5%
短上下文平均(5 benchmarks, Qwen3-235B) Wall-time speedup 2.09× (Graft) 1.71× (EAGLE3-2K) +21.8%
HumanEval (Vicuna-13B) Wall-time speedup 5.41× (Graft) 4.80× (EAGLE3-2K) +12.7%
长上下文平均(QMSum/GovReport/MultiNews/LCC/RepoBench-P, LLaMA3.1-8B) Wall-time speedup 3.22× (Graft) 2.92× (EAGLE3-64K) +10.3%
长上下文平均(5 benchmarks, Qwen3-4B) Wall-time speedup 1.99× (Graft) 1.68× (EAGLE3-64K) +18.7%
长上下文平均(5 benchmarks, Qwen3-8B) Wall-time speedup 1.85× (Graft) 1.54× (EAGLE3-64K) +20.2%
长上下文平均(5 benchmarks, Qwen3-14B) Wall-time speedup 2.17× (Graft) 1.86× (EAGLE3-64K) +16.6%
RepoBench-P (Qwen3-8B, 32K) Wall-time speedup 1.76× (Graft) 1.27× (EAGLE3-64K) +38.6%
LCC (Qwen3-8B, 32K) Wall-time speedup 1.96× (Graft) 1.48× (EAGLE3-64K) +32.4%
32K 上下文 (4 models avg.) Relative gain over EAGLE3-64K +14.0% 单调放大(4K +10.2% → 32K +14.0%)
随机采样 $T=1$ (LLaMA3.1-8B avg.) Wall-time speedup 3.43× (Graft) 3.17× (EAGLE3) +8.2%
随机采样 $T=1$ (Qwen3-8B avg.) Wall-time speedup 2.26× (Graft) 1.85× (EAGLE3) +22.2%
DFlash block 草稿 (Qwen3-8B avg.) Wall-time speedup 3.71× (Graft-DFLASH) 3.40× (DFLASH) +9.1%
高并发 SGLang BS=1~16 (Qwen3-8B avg.) Throughput 增益 +3.1%~+5.5% over EAGLE3 EAGLE3 (SGLang) 稳定正增益
Warm-up 5 轮 (Qwen3-32B HumanEval) Storage / speedup 0.37 MB / 2.51× 0 轮: 0 MB / 2.37× +5.9% 速度, 0.37 MB 内存

局限与改进

作者在论文第 4.4 节、5.4 节和 6 节明确承认了几点局限:(1) **检索的局部性依赖**:Graft 的检索最有效的场景是 prompt 或生成历史里有可复用的 local transition(重复短语、文档实体、代码模板),对真正「自由生成」、几乎没有局部重复的内容(如开放 chat、复杂数学),检索 hit 率会下降,剪枝释放的 slot 难以被填满,这时退化为纯剪枝行为。(2) **高并发实现的未优化**:作者坦诚当前 SGLang 实现只做了轻量级修改,没有专门优化 retrieval kernel、调度器放置和 ragged-batch 适配,因此 Figure 7 中的高并发收益(+3.1%~+5.5%)相对短上下文的 +20% 量级要温和得多,未来还有较大优化空间。(3) **DFlash 探索是初步的**:Table 6 的 +9.1% 增益来自 demo 式的实现,block drafter 的拓扑、confidence 校准和检索模板形状都与自回归树不同,目前没有系统化的设计。(4) **检索矩阵的初始化偏差**:warm-up 用的是 ShareGPT 语料,与下游任务分布不完全匹配,Appendix C.4 显示把 HumanEval 上校准的阈值直接迁移到其他任务会有 minor 退化。(5) **$T=1$ 退化为头部用例**:当温度上升、目标分布变平时,检索后继的 top-$k$ 质量会下降,因为上下文 token 的高频后继可能并不符合 target 接受规则。从 Table 5 看 $T=1$ 下 Graft 仍优于基线,但增益幅度(+8.2%~+22.2%)弱于 greedy 设置下的部分基准。(6) **强依赖 base tree drafter 质量**:Graft 在 Vicuna-13B 上增益仅 +7.4%,因为 EAGLE-3 在这个模型上已经很接近 dense-tree MAT 上界,剪枝释放的预算空间本来就不大。(7) **未探索与 KV-cache 优化协同**:长上下文上 TriForce、MagicDec 通过稀疏/部分 KV 草稿降注意力成本,但需要改变验证接口;Graft 没有与这些方法深度集成(作者明确表示其定位是「不修改 tree-attention 路径」)。我自己的额外观察:(8) 邻接矩阵 $M$ 的大小与 $|V|\times k$ 成正比,在 100K+ vocab 上需要谨慎选择 $k$;(9) stage-adaptive 模板目前是手工设计的(附录 A.1),没有学习式自动化方案;(10) 论文未报告在多轮对话/工具调用这种高结构化但跨轮局部重复较少的任务上的表现。

独立分析的弱点

**弱点 1:检索的覆盖度受限于 prompt/历史的局部结构。** 现实中很多任务(创意写作、复杂多跳推理、自由对话)几乎没有可复用的 n-gram 模式,邻接矩阵 $M$ 中的 top-$k$ 后继可能与目标分布严重偏离。这种情况下剪枝释放的 slot 难以被有效填满,方法退化为「仅剪枝的 ECHO 类行为」,MAT 提升有限。**改进方向**:可结合「目标模型在 prompt 上的先验分布」做隐式检索,或引入神经网络式 retrieval encoder 把非局部语义模式也编码进 $M$;另一个思路是设计 fallback 机制——当 $M$ 的 top-$k$ 置信度低时,重新分配更多 slot 给草稿端。**弱点 2:Stage-adaptive 模板是手工设计且依赖 base tree 形状。** 论文承认模板的深度/宽度组合 $d=8, w=8$ 来自 Figure 6 的网格搜索,跨模型、跨任务没有自适应。在 MT-Bench 等长尾任务上,最优 $(d, w)$ 可能差异很大。**改进方向**:可学习式模板生成器(比如用一个轻量 policy network 在每个 checkpoint 预测最优形状),或者用预收集的验证集做 offline 校准 + 在线 adapt。**弱点 3:高并发场景的实现不完整。** SGLang 实验明确说没有优化 retrieval kernel 和调度,这意味着 retrieval 邻接矩阵的查表开销在 BS 较大时可能成为新瓶颈。**改进方向**:把邻接矩阵做 kernel fusion 进 tree-attention;用 per-request 缓存避免重复 gather;在调度器层面把同一个 root token 的请求 batch 起来以摊销查表成本。**弱点 4:DFlash block 嫁接只是 demo。** 当前在 block 内部没有 confidence-guided 位置选择,graft 是在整块层做的粗粒度操作。**改进方向**:从 DFlash 草稿 logits 出发做 token 级 confidence 估计,针对 block 内部每个位置独立决定「剪掉 / 保留 / 嫁接」;探索 block 内部树形 expansion 模板。**弱点 5:未与 KV-cache 优化方法深度集成。** 长上下文下 TriForce 等方法通过 sparse KV 草稿降低 attention 成本,但 Graft 没有与这些方法叠加。**改进方向**:把 Graft 嫁接在 sparse-KV 草稿之上,研究两层 Pareto frontier 能否进一步突破。**弱点 6:warm-up 阈值对任务分布敏感。** 虽然 Appendix C.4 显示迁移性可以接受,但仍有 minor 退化。**改进方向**:online calibration 机制——在每个新任务的前几个 step 用小窗口重新校准 $\{\tau_d\}$。**弱点 7:vocab 大的模型上邻接矩阵存储成本上升。** $M\in V^{|V|\times k}$ 在 100K+ vocab 上即便 $k=8$ 也可能到 MB 级。**改进方向**:稀疏化存储(只为高频 token 维护 top-$k$),或用 hash-based 邻接表压缩。

未来方向

作者在第 4.5 节明确提出了两个延伸方向。**方向 1:Grafting for block drafters (DFlash)**。DFlash 一次并行草稿 16 个 token 显著降低草稿延迟,但块内 token 的接受率并不均匀(MT-Bench 上仍只有 5~7 MAT)。作者已经在 Qwen3-8B 上验证了 Graft-DFLASH 能把 DFlash 的 3.40× 拉到 3.71×(+9.1%),下一步要系统化地设计 block 内 token 级的 confidence 剪枝规则(而非整块级),并设计专门适配 block 拓扑的检索嫁接模板。**方向 2:Hybrid drafting for RL rollouts**。作者观察到大规模 RL rollout(特别是 GRPO 类 group sampling)下,独立的 static draft model 容易因 target policy 漂移而失效;纯检索方法如 Seer 依赖组内 n-gram 重叠,hit 率随温度升高不稳定。作者提议把 MTP(multi-token prediction,挂在 target model 内部)当作「稳定 throughput floor」,把 online n-gram retrieval 当作「高质量 long continuation source」,再用 Graft 风格的 confidence 剪枝决定哪些 MTP 位置让给检索,这对 Agentic RL 中尾请求主导迭代时间的问题尤其有吸引力。除作者提出的方向外,基于本文结果还可以延伸:(3) **与稀疏 KV 草稿叠加**:研究 Graft + TriForce/MagicDec 的两层 Pareto frontier;(4) **跨请求共享邻接矩阵**:同一服务的相似请求共享 $M$ 的一部分 row,进一步降低单请求存储;(5) **任务自适应模板**:用任务 embedding 预测最优 $(d, w)$,实现 zero-shot 部署;(6) **工具调用与结构化输出的检索嫁接**:tool call schema、JSON 模板天然有高重复性,是检索的高价值场景;(7) **Speculative decoding for code agents**:仓库级代码补全(RepoBench-P 已有 +38.6% 增益)可推广到 code agent 的多轮工具调用。

复现评估

复现性整体较好。**开源情况**:作者来自浙大和阿里 Qwen 应用团队,方法在 HuggingFace transformers + SGLang 框架中实现,所有 attention 都用 PyTorch SDPA 标准化以便对比。论文明确指出「All baselines are reproduced using their official configurations」,并把超参放在 Appendix C。**数据**:短上下文用 EAGLE-3 和 Spec-Bench 的标准 5 个 benchmark(HumanEval、GSM8K、CNN/DM、Alpaca、MT-Bench);长上下文用 LongBench 的 5 个子集(QMSum、GovReport、MultiNews、LCC、RepoBench-P),并给出 4K/8K/16K/32K 长度缩放切片。warm-up 使用 ShareGPT,与所有评估集不相交,避免了数据污染。**算力**:所有实验在 8 张 NVIDIA H20 GPU 上运行;高并发实验用 SGLang,batch 1~16。EAGLE-3 在 long context 下使用 YaRN 适配的 64K checkpoint。**复现难度**:低-中。方法本身 training-free 和 lossless,不涉及模型重训;模板形状、warm-up 轮数(默认 5 轮)等关键超参都在主文和附录中给出;可变的只有 base tree drafter 的具体选择(论文默认 EAGLE-3,$K_{max}=60$),需要复用其官方 checkpoint。**潜在难点**:(a) GPU 邻接矩阵的具体实现和 gather kernel 需要根据推理框架(vLLM、SGLang、HuggingFace)适配;(b) YaRN 64K 适配的 EAGLE3 checkpoint 需要从 SpecPV 等仓库获取;(c) 高并发场景的 SGLang 集成还处于早期,需要自己补全调度优化。