AngelSpec:面向实际场景的高性能推测解码推理
摘要
AngelSpec 提出了一个统一的训练与推理框架,用于推测解码,该框架联合优化自回归多 token 预测和块并行扩散草稿模型,以处理异构实际工作负载。在 Hy3 模型系列上的实验显示,相对于自回归解码,加速比高达 2.4 倍,并且吞吐量比 DFlash 高出 11.8%。
查看缓存全文
缓存时间: 2026/07/29 09:55
# AngelSpec:面向真实世界高性能推理的推测解码
**来源:** https://arxiv.org/html/2607.25852
Hong Liu, Rui Cen, Junhan Shi, Guangshuo Qin, Jiebin Zhang, Tianyu Liu, Runzhi Fan
Guoliang Zhao, Ruobing Xie, Kai Zhang, Song Liu, Guanghua Yu\*, Jianchen Zhu
腾讯公司。
\*通讯作者
###### 摘要
推测解码能够在无需改变目标分布的情况下加速大语言模型推理,但没有任何单一的草稿结构能在所有真实工作负载中表现最佳。自回归多令牌预测(MTP)提供了一种轻量且稳定的提议机制,而块并行扩散则将起草延迟分摊到更长的候选序列上。它们的优势在很大程度上取决于输出分布,而 **AngelSpec** 从训练、架构和推理三个角度解决了这种工作负载异构性。在训练层面,我们不是在一个统一的数据混合上优化一个通用的起草器,而是联合专门化模型结构和训练数据:MTP 起草器在丰富且多样的对话导向数据上训练,用于高熵、开放式的聊天场景;而块扩散起草器则通过代码和数学专注的数据进行强化,以利用更长的可预测延续。在架构层面,我们提出了 **DFly**,一个块扩散框架,它结合了混合目标条件化主干和后继条件化自回归头,在保留高吞吐并行生成的同时,改进了目标特征利用和块内依赖建模。在推理层面,我们观察到接受长度随领域、请求和解码步骤而变化,而验证额外令牌的成本随在线负载和部署硬件而变化。因此,**DFly** 将验证视为共享的批级别资源:它将对齐计算重新分配给跨请求的高置信度前缀,并将其期望效用与性能分析的运行时成本模型相结合,从而使验证深度适应当前服务条件。我们提出了 **AngelSpec**,一个用于 MTP 和块并行推测解码的统一训练框架,并在 Hy3 模型系列上进行了系统实验。在 Hy3-A21B 上,**DFly** 将平均接受长度提升了约 **30%**,使得在 4 到 64 的每个测试并发度下都能达到最高平均吞吐量,相比自回归解码实现了 **1.98×–2.40×** 的加速,相比 DFlash 提升 **10.5%–11.8%** 的吞吐量。我们开源了 **AngelSpec** 框架以支持训练和扩展这些推测解码方法。
## 1 引言
大型语言模型(LLM)在每次自回归前向传播中生成一个令牌,随着模型规模和服务需求的增长,解码成本越来越高。推测解码在无需改变目标分布的情况下降低了这一成本:一个轻量的草稿器提议多个未来令牌,目标模型通过拒绝采样在一次前向传播中一起验证它们(Leviathan et al., 2023 (https://arxiv.org/html/2607.25852#bib.bib10); Chen et al., 2023 (https://arxiv.org/html/2607.25852#bib.bib11); Xia et al., 2024 (https://arxiv.org/html/2607.25852#bib.bib60))。然后提交验证通过的前缀和一个目标生成的奖励令牌,从而允许一次解码轮次前进步多个令牌。因此,其加速取决于接受的草稿令牌数量和完整的草稿-验证轮次的延迟。
大多数推测解码研究寻找一个在平均基准混合上表现良好的起草器。然而,真实服务并非遵循这种均匀分布。在线请求涵盖开放式对话、代码生成、数学推理、工具使用和智能体工作流,它们的条件熵和延续结构差异显著。我们在 Hy3 模型族上的测量表明,这些差异实质上改变了哪种起草范式更可取。在高熵对话中,许多延续在语义上是有效的,但目标可能会选择其中任何一个。因此,接受率随提议深度快速下降,限制了生成和验证长块的价值。对于这种场景,自回归 MTP 起草提供了有利的平衡,因为它提议较短的候选序列,并避免在只有少数草稿位置可能有用时过度推测(Gloeckle et al., 2024 (https://arxiv.org/html/2607.25852#bib.bib8))。相比之下,代码和数学推理表现出更受限的结构。编程语法、重复标识符、形式表达式和逐步推导对未来令牌的约束更强,常常产生更长的可预测跨度。这些工作负载可以从块并行起草中显著受益,后者在一次主干传播中预测整个候选块,并将起草延迟分摊到多个位置。DFlash 通过使用条件于目标隐藏状态的扩散式起草器展示了这一方向的潜力(Chen et al., 2026 (https://arxiv.org/html/2607.25852#bib.bib1))。然而,对所有领域使用相同的通用数据和相同的起草结构会留下大量性能未被利用。我们转而专门化 *模型结构* 和 *训练分布*:MTP 在丰富且多样的对话导向数据上训练,而我们的块扩散模型则通过代码和数学专注的样本进行强化。
对于块扩散起草,我们在 DFlash 的基础上提出了带有两项架构改进的 **DFly** (Chen et al., 2026 (https://arxiv.org/html/2607.25852#bib.bib1))。首先,其混合目标条件化主干结合了全局转换的目标上下文和逐层目标视图,允许不同的草稿层使用适合其深度的目标特征,而不是共享一个固定的表示(Zhang et al., 2026a (https://arxiv.org/html/2607.25852#bib.bib80))。其次,其后继条件化自回归头使用在前一个草稿位置选择的令牌来校正每个并行预测(Cheng et al., 2026 (https://arxiv.org/html/2607.25852#bib.bib83); Huang et al., 2026 (https://arxiv.org/html/2607.25852#bib.bib81); Rheinboldt et al., 2026 (https://arxiv.org/html/2607.25852#bib.bib92))。这种校正将逐位置的边际预测转变为前缀条件化的分布,在保持单次并行主干的同时改进了块内依赖建模。结合领域强化训练数据,这些改进提高了块扩散起草的目标特征利用和后缀连贯性。
在推理时,接受长度随领域、请求和解码步骤而变化,而验证额外令牌的成本随在线负载、模型架构、并行策略和部署硬件而变化。固定的验证深度可能在轻负载下未充分利用可预测的草稿,或在高并发下将有限的批处理容量浪费在低价值后缀上(Liu et al., 2026e (https://arxiv.org/html/2607.25852#bib.bib74); Hu et al., 2026 (https://arxiv.org/html/2607.25852#bib.bib75))。**D-cut** 通过将目标验证视为共享的批级别资源来解决这种服务侧不确定性:系统将计算重新分配给跨并发请求的高置信度前缀,并将其期望接受效用与性能分析的运行时成本模型相结合。这使得验证深度能够适应当前服务条件,在目标计算可用时保留更长的草稿,并在验证变得昂贵时积极裁剪。
为了支持这些设计,我们提出了 **AngelSpec**,一个用于 MTP 和块并行推测解码的开源训练框架。在大规模 MoE 目标上训练这两种起草器范式所提出的要求是现有方案无法满足的:两者都需要大量使用目标隐藏状态,MTP 还需要在训练步骤内进行在策略的 TTT 展开和长上下文训练,而 DFly 需要带有可插拔自回归头的逐层目标条件化。**AngelSpec** 通过一种解耦设计来满足这些要求,其中推理引擎生成目标隐藏状态并直接流式传输给训练工作节点,同时包含文档感知的序列打包和评估服务器,在训练期间测量真实的接受行为。
使用 **AngelSpec**,我们在 Hy3 模型系列上进行了系统实验,涵盖聊天、代码、数学以及不同并发级别的服务条件。结果表明,工作负载专门化、DFly 中的架构改进以及运行时自适应验证提供了互补的收益。我们开源了 **AngelSpec** 框架以支持训练、评估和扩展这些推测解码方法。我们的主要贡献如下:
- • 我们将工作负载异构性识别为真实世界推测解码的一等设计考虑,并训练了互补的起草器:一个面向对话的 MTP 模型用于高熵聊天,以及一个领域强化的 DFly 用于代码和数学。
- • 我们提出了 **DFly**,一个块扩散框架,结合了混合目标条件化主干和后继条件化自回归头,在保留并行主干的同时改进了目标特征利用和块内依赖建模。
- • 我们集成了 **D-cut**,根据前缀置信度和运行时成本在请求间分配目标验证计算,使验证深度适应不同的接受行为、在线负载和部署硬件。在 Hy3-A21B 上,DFly 在 4 到 64 的每个测试并发度下都达到了最高平均吞吐量,相比自回归解码实现了 **1.98×–2.40×** 的加速,相比 DFlash 提升 **10.5%–11.8%** 的吞吐量。
- • 我们开发并开源了 **AngelSpec**,一个统一支持 MTP 和块并行推测解码的开源训练框架——涵盖解耦的隐藏状态生成、TTT 展开、长上下文训练和在线接受评估——并在 Hy3 模型族和多样化服务条件下系统评估了这些方法。
## 2 多令牌预测
多令牌预测(MTP)通过辅助预测未来令牌来扩充下一个令牌训练,并已被越来越多的生产模型族采纳(Gloeckle et al., 2024 (https://arxiv.org/html/2607.25852#bib.bib8); DeepSeek-AI, 2026 (https://arxiv.org/html/2607.25852#bib.bib89); Zeng et al., 2026 (https://arxiv.org/html/2607.25852#bib.bib7))。与单独训练的小语言模型不同,MTP 模块附加在目标主干上,直接重用其隐藏状态、词嵌入和语言模型头。因此,它为自我推测提供了一个低开销的起点,而无需引入单独的起草器模型。
原始的 Hy3 模型使用单层 MTP 进行训练,并且没有循环自条件化展开。在推理过程中,这个块可以被循环重用以提议几个令牌,但原始训练目标并未为长自生成链做好准备。这种不匹配在第一个草稿位置之后变得重要。原始的 MTP 块是在一次教师强制应用中训练的,使用真实令牌和干净的隐藏状态,而多步推理则反复将同一个块应用于其自己预测的令牌、循环隐藏状态和不断增长的草稿 KV 缓存。因此,误差随深度累积,导致第二和第三个草稿位置的接受率显著低于第一个。
我们通过在共享参数、多深度的训练方案中对原始 MTP 块应用 TTT 来解决这种训练-推理不匹配。我们保留 \(D\) 个逻辑预测深度,索引为 \(k \in \{0, \ldots, D-1\}\),但所有深度重用同一个物理 MTP 块。在训练期间,该块被自回归地展开 \(D\) 步,每个预测被输入到下一次调用中。尽管参数是共享的,深度 \(k\) 由自己移动的未来令牌目标进行监督。因此,训练时测试(TTT)使共享的 MTP 块暴露于推理期间遇到的自生成轨迹,而内存高效的蒸馏使每个深度与对应的冻结目标分布对齐。这个共享 MTP 块是 **AngelSpec** 中的短视野起草器,与第 3 节中的长块并行起草器互补。
### 2.1 共享参数多深度 MTP 起草器
图 1 显示了目标模型和前两个逻辑预测深度。这些深度是自回归展开中的不同点,但共享一个 MTP 模块和一组参数。对于从在线位置 \(t\) 开始的起草轮次,令 \(h^{(-1)}\) 表示进入该轮次的目标隐藏状态,\(\widetilde{x}_0\) 是与第一个 MTP 输入对齐的令牌。此处,\(t\) 索引在线起草位置,而上标 \(k\) 索引从零开始的逻辑预测深度。为清晰起见,在以下方程中省略了在线位置下标 \(t\)。在预测深度 \(k \in \{0, \ldots, D-1\}\),共享 MTP 块接收其前一次调用的隐藏状态和最新的可用输入令牌嵌入:
\[
u^{(k)} = W_{\mathrm{proj}}\left[ \operatorname{RMSNorm}\!\left(h^{(k-1)}\right); \operatorname{RMSNorm}\!\left(E\!\left(\widetilde{x}_k\right)\right) \right],
\tag{1}
\]
其中 \(E\) 是目标令牌嵌入,\(\widetilde{x}_0\) 是与第一个 MTP 调用对齐的令牌,对于 \(k \ge 1\),\(\widetilde{x}_k\) 是移动后的真实令牌或深度 \(k-1\) 处选择的草稿令牌。融合特征经过一个 Transformer 层:
\[
h^{(k)} = F_\theta\left(u^{(k)}, \mathcal{K}^{(<k)}\right), \qquad q_k = \operatorname{softmax}\left( W_{\mathrm{lm}} h^{(k)} \right),
\tag{2}
\]
其中 \(\mathcal{K}^{(<k)}\) 表示深度 \(k\) 之前累积的草稿侧 KV 状态,\(W_{\mathrm{lm}}\) 是目标语言模型头。从 \(q_k\) 中选择的令牌 \(\widehat{x}_k\) 在自条件化展开中成为 \(\widetilde{x}_{k+1}\)。这 \(D\) 个预测形成一个短线性草稿块,目标在一次前向传播中验证。所有预测深度共享相同的 MTP 参数 \(\theta\) 和投影 \(W_{\mathrm{proj}}\);图 1 中重复的 MTP 框表示循环调用而非独立模块。令牌嵌入和输出头也与目标共享。然而,监督是深度特定的:目标 logits 在每个深度移动一个额外位置,因此 \(q_k\) 与不同的教师分布匹配。在训练期间,目标主干和目标语言模型头被冻结,来自主干的 MTP 输入被分离。因此,起草器可以在不改变推测验证必须保留的目标分布的情况下改进其提议分布。
参见图注
**图 1:** 带有训练时测试(TTT)的共享参数多深度 MTP 训练。
### 2.2 训练时测试
标准的教师强制无法重现多步起草器遇到的状态分布。对于一个有效的训练位置 \(i\),深度 \(k=0\) 在训练和推理中使用相同的对齐输入令牌。然而,在预测深度 \(k \ge 1\),训练时真实输入令牌与推理时草稿令牌不同,导致分布偏移。TTT 通过在推理期间首次使用后,将草稿令牌反馈到相同的共享 MTP 块来模拟自条件化状态。从深度 1 开始,输入令牌是从前一步预测的分布中采样的,而非使用真实令牌。这使 MTP 块暴露于其自身的误差累积,并使其能够学习从预测的输入状态中恢复。训练仍然基于深度特定的目标分布(冻结的目标 logits)进行监督。每个深度的梯度仅用于更新共享参数,因此 TTT 不会引入额外的参数开销。该方法在保持低开销的同时,减少了训练与推理之间的分布不匹配。相似文章
什么是推测性解码?(在paperswithco.de上热门)[R]
推测性解码是一种推理优化技术,它使用快速草稿模型提出未来 token,并由较大模型并行验证,从而提高 LLM 的生成速度。文章强调了它在 Papers with Code 上的热门状态,以及最近的 SGLang 博客文章,该文章介绍了使用 DFlash 模型实现的最先进延迟。
SpecLA:面向线性注意力模型的高效推测解码
SpecLA 提出了一种专为有状态线性注意力模型设计的推测解码运行时,在搭载 GDN-1.3B 目标模型的 NVIDIA H100 上,相比自回归解码实现了最高 1.70 倍的端到端加速。
@lmsysorg: 新博客: 推测解码的下一代: DFlash 和 Spec V2。DFlash + Spec V2 实现 >4.3倍基准吞吐量…
关于 DFlash 和 Spec V2 推测解码方法的新研究实现了 LLM 推理的 >4.3倍基准吞吐量,现已成为 SGLang 的默认推测解码引擎。
Speculative Refinement: 一种混合自回归扩散解码策略及其在不同基准测试中的行为表现
介绍了 Speculative Refinement (SpecRef),一种无需训练的混合解码策略,它通过熵引导的选择性掩码,从自回归草稿中热启动掩码扩散语言模型。在六个基准测试上的评估表明,代码基准测试混淆了结构发现与逻辑正确性,识别出了一种精炼张力现象,并显示评估协议可能产生不同的模型排名。
JetSpec:通过并行树草稿打破推测解码的扩展极限
JetSpec是一个推测解码框架,结合高效的前向草稿与因果条件化,提升LLM推理速度与接受率,在MATH-500上实现最高9.64倍加速,在对话工作负载上实现4.58倍加速。