Mude Hui * 1 2 Xin Huang * 3 Jaime Campos Salas 3 Yue Sun 3 Nathan Pemberton 3 Xiang Song 3 Ashish Khetan 3 George Karypis 3
本文主要解决的问题是大型语言模型(LLM)推理中的效率瓶颈,特别是针对推理能力模型(Reasoning LLMs)产生长输出序列的场景。现有的EAGLE方法虽然通过投机解码加速了推理,但其Drafting过程仍是自回归的(串行生成)。现有的并行Drafting方法(如ParallelSpec和PARD)在处理长上下文训练时,由于注意力机制的二次方复杂度,面临显存溢出(OOM)或计算不可行的问题。
主要贡献如下:
Fig 1展示了推理类模型在UltraChat数据集上的长序列特征(中位数接近4K,P90超过10K tokens),强调了长上下文训练的必要性。
Table 1对比显示,ParallelSpec和PARD在长上下文(8K+)训练时面临OOM或不可行问题,而P-EAGLE可扩展至20K tokens。
架构设计
P-EAGLE旨在消除自回归Drafting的开销。传统的EAGLE生成$K$个draft tokens需要$K$次串行前向传播,因为每一步都依赖上一步的token和隐藏状态。P-EAGLE通过并行化设计,在一次前向传播中生成所有$K$个tokens。
* 输入构建:
* 对于Next-Token Prediction (NTP) 位置(即Pos 1):利用目标模型(Target Model)产生的真实隐藏状态(来自层索引2, L/2, L-1的拼接)和当前Token Embedding作为输入。这与标准EAGLE一致。
* 对于Multi-Token Prediction (MTP) 位置(即Pos 2-K):由于缺乏前序步骤的真实输出,P-EAGLE引入了两个可学习参数来替代:
1. 共享隐藏状态(Shared Hidden State, $h_{shared}$):替代缺失的前序隐藏向量。
2. Mask Token Embedding:替代未知的上一个Token。
Fig 2展示了P-EAGLE架构。上方为目标模型提供特征,下方Draft模型中,Pos 1使用真实特征,Pos 2-4使用可学习的共享隐藏状态$h_{shared}$进行并行预测。
挑战分析
训练并行预测模型需要将长度为$n$的序列扩展以适应$K$个并行预测深度。未优化的情况下,总位置数为$n \times K$,注意力复杂度为$O((nK)^2)$,导致长序列OOM。虽然PARD方法引入了条件Drop-token (COD) 采样(按几何衰减率$r$保留后续深度位置)来减少总位置数,但其随机采样导致每个样本需要构建不同的注意力掩码(Mask),构建成本高达$O((nK)^2)$,在长序列下极其缓慢。
3.1 摊销掩码构建 (Amortized Mask Construction)
* 观察:跨预测深度的因果结构具有位置不变性(Position-invariance)。无论序列总长度如何,位置0到$n$的注意力模式是相同的。
* 解决方案:
* 在训练初始化阶段,一次性预计算最大序列长度的注意力掩码。
* 在训练过程中,针对每个样本,通过张量切片(Tensor Slicing) 操作直接获取所需的掩码子矩阵(即预计算掩码的左上角子矩阵)。
* 该操作是常数时间复杂度的视图操作,无需额外内存分配。
Fig 3展示了如何通过切片预计算的大掩码来获得短序列的掩码,利用了注意力模式的位置不变性。
3.2 序列分块 (Sequence Partitioning)
* 挑战:即使掩码构建加速了,显存占用仍随序列增长。对于8192长度、$K=8$、保留率$r=0.8$的序列,总位置数约3.4万,注意力显存呈$O(L^2)$增长。单张卡无法容纳整个序列进行前向传播。
* 问题:传统的梯度累积将Batch拆分为Micro-batch,但在单条序列超显存时无效。必须将单条序列拆分。然而,COD的随机采样结构破坏了简单的索引切分——位置$p$(在深度$d$)必须关注位置$p-1$(在深度$d-1$),随机采样可能导致依赖对分布在不同切片中,破坏因果注意力。
* 解决方案算法:提出了一种迭代式的序列分块技术。
1. 初始化:根据显存限制设定分块数量$S$和边界。
2. 深度0-1分配:对于深度0和1的位置,直接根据其索引分配到对应的分块段中。
3. 依赖传播(深度$\ge$2):对于深度$d \ge 2$的每个位置$p$,将其分配到与其依赖项(深度$d-1$的位置$p-1$)相同的分块段中。这种迭代传播保证了所有跨深度的注意力依赖都在同一分块内。
4. 因果补全:为了满足因果注意力,每个分块段额外包含直到其边界的所有深度0(NTP)位置。
Fig 4展示了直接按索引分块会破坏依赖关系(红色箭头跨越虚线),而所提算法能确保依赖项在同一分块中。
在方法细节之前,论文阐述了关于隐藏状态设计的关键理论观察。
* 背景:自回归解码效率低,投机解码(如EAGLE)利用目标模型特征层作为Draft模型的输入,比独立训练的小模型更高效。
* 关键Observation:在并行预测中,是否需要为不同的预测深度(Predicting 1-step ahead, 2-steps ahead...)提供特定的隐藏状态编码?
* 理论分析表明,不需要。RoPE(旋转位置编码)已经编码了绝对位置信息。由于预测深度$g$是序列位置$p$的确定性函数(在COD结构中,每个位置映射到一个深度),且绝对位置$p$可以从RoPE注意力分数中唯一恢复(见附录B证明),因此引入显式的深度编码或注入NTP上下文是信息冗余的。
* 基于此原则,P-EAGLE采用了最简单的共享隐藏状态(Shared Hidden State) 设计,即所有MTP位置共享同一个可学习向量,而非区分深度的向量。这不仅简化了模型,而且实验证明比复杂的上下文注入方案性能高出7-15%。
数据集:
模型配置:
训练参数:
基线:自回归(AR)EAGLE-3(单层,使用HCA损失优化,是一个强基线)。由于ParallelSpec和PARD无法在8K+长上下文下训练,故不作为主要对比对象。
实验旨在验证并行Drafting是否会降低生成质量。结果显示P-EAGLE在质量上不输于甚至略优于自回归EAGLE。
* 总体表现:在所有9个模型-数据集组合中,P-EAGLE的平均每步接受长度均匹配或超过AR EAGLE-3。
* GPT-OSS 120B:平均提升 +4.5%。
* GPT-OSS 20B:平均提升 +2.5%。
* Qwen3-Coder 30B:平均提升 +2.0%。即使在Qwen3-Coder这种AR基线已经非常强(HumanEval上接受长度达4.36/5)的情况下,P-EAGLE仍实现了提升。
在vLLM框架中实测输出tokens每秒 (OTPS)。
* 加速效果:P-EAGLE利用单次前向传播生成更多tokens($K=5 \sim 7$),相比AR EAGLE(通常$K=3$最优)减少了迭代次数。
* 并发度 C=2:加速比最为显著。GPT-OSS 20B达到 1.27×–1.36×,120B为 1.04×–1.10×,Qwen 30B为 1.04×–1.17×。
* 并发度 C=4:20B模型仍保持高加速(1.24×–1.27×),大模型加速比因验证阶段成为瓶颈而略有下降。
本文提出了P-EAGLE,成功将EAGLE投机解码框架从串行自回归转变为并行多token预测。针对并行训练中长上下文导致的显存瓶颈,提出了一套包含摊销掩码构建和序列分块的可扩展训练框架。通过在vLLM上的实现,P-EAGLE在多个大规模模型(最高120B)上展现了相对于强基线AR EAGLE-3的显著加速(1.10×–1.36×),且不牺牲生成质量。这证明了并行Drafting在生产级LLM加速中的可行性和优势。未来工作可结合更长上下文的优化技术。
为了验证共享隐藏状态的优越性,作者设计了多种变体:
实验发现:所有变体均不如Baseline(见Table 3)。
Table 3数据表明,任何形式的显式上下文注入或深度编码都会导致性能下降。
Fig 5显示模型在训练中主动减小注入系数$\alpha$,证实了上下文注入的负面影响。