基于嵌入空间探测的高效免训练多token预测 Efficient Training-Free Multi-Token Prediction via Embedding-Space Probing
通过嵌入空间中的掩码token探测,实现无需训练的多token预测,显著提升推理效率。
前置知识
自回归语言模型 (Autoregressive Language Model)
自回归语言模型是一种生成模型,它根据先前的token序列逐步预测下一个token。给定一个提示序列 $x_{1:t}$,模型计算下一个token的logits分布 $f_ heta(x_{1:t}) \in \mathbb{R}^V$,其中 $V$ 是词汇表大小。这种顺序生成方式虽然保证了生成质量,但限制了GPU并行计算能力的充分利用,导致推理延迟较高。本文在此基础上探讨如何突破单token生成的限制。
本文的核心目标是加速自回归模型的推理,因此理解自回归生成的基本机制是理解ESP方法的前提。ESP正是通过探测模型的内部状态来并行生成多个未来token,从而减少顺序解码的步骤。
多token预测 (Multi-Token Prediction, MTP)
多token预测是指在一个解码步骤中同时预测多个未来token的技术。传统自回归解码每步只生成一个token,而MTP旨在通过并行预测来减少模型调用次数,从而降低延迟和计算成本。MTP方法通常需要修改模型架构(如添加额外的解码头)或训练辅助模型,这增加了工程复杂性和资源消耗。
MTP是本文研究的核心问题,ESP旨在提供一种免训练、免外部模型的MTP方法。理解MTP的挑战和现有方法的局限,有助于认识ESP的创新价值。
推测解码 (Speculative Decoding)
推测解码是一种加速自回归生成的技术,它使用一个快速的“草稿模型”生成多个候选token,然后用目标模型并行验证这些候选token。如果候选token与目标模型的预测一致,则接受该token,否则从目标模型的分布中重新采样。这种技术可以确保生成结果的无损性,同时利用草稿模型的快速性来减少目标模型的调用次数。
ESP借鉴了推测解码的验证机制来确保生成质量,但其创新之处在于不使用外部草稿模型,而是通过掩码token探测来生成候选token。理解推测解码有助于理解ESP的验证流程和其与现有方法的区别。
嵌入空间 (Embedding Space)
嵌入空间是模型将离散token映射到的连续向量空间。在语言模型中,每个token通过嵌入矩阵 $E \in \mathbb{R}^{V imes d}$ 映射为一个 $d$ 维向量。模型在嵌入空间中进行计算,最终通过线性层(LM Head)将隐藏状态映射回词汇表大小的logits。ESP的核心思想是在这个连续空间中构造“掩码token”来探测模型的未来预测能力。
ESP方法直接操作嵌入空间,通过合成掩码token来激发模型的多token预测能力。理解嵌入空间的几何特性和模型如何利用它进行预测,是理解ESP如何工作的关键。
注意力掩码 (Attention Mask)
注意力掩码是Transformer模型中控制token之间注意力连接的矩阵。在自回归解码中,通常使用因果掩码(下三角矩阵)确保每个token只能关注它之前的token。在树状解码中,需要设计特殊的树状注意力掩码,以确保每个token只能关注其树状祖先节点。ESP需要设计自定义的树状注意力掩码来支持多个掩码token和未来token的并行预测。
ESP的动态树结构和高效实现依赖于精心设计的树状注意力掩码和位置索引。理解注意力掩码如何工作,有助于理解ESP如何实现并行验证和高效的树状解码。
研究动机
现有的多token预测(MTP)方法虽然能有效加速自回归解码,但大多依赖于训练辅助解码头或外部草稿模型。例如,MEDUSA方法需要训练多个解码头,其参数量可能增加约400M(以LLaMA3.2-3B-Instruct为例)。EAGLE-3等方法则需要200-300 GPU小时的训练时间。这些方法带来了显著的工程负担,包括数据集构建、架构调优和大量的GPU计算。此外,额外的参数和内存开销使得它们不适合边缘设备和计算资源受限的环境。对于许多应用场景,尤其是移动设备和嵌入式系统,存储、内存和功耗预算都非常有限,无法支持这些重型推测解码框架。因此,开发一种即插即用、无需训练、无额外参数开销的MTP方法成为迫切需求。
本文的目标是本文的具体目标是提出一种名为ESP(Embedding-Space Probing)的免训练MTP方法,该方法能够与任何冻结的语言模型(frozen LLM)配合工作,无需修改模型权重或依赖外部草稿模型。ESP旨在通过探测模型的嵌入空间来激发其内部的多token预测能力,从而实现并行生成和验证,显著减少模型调用次数并提高token吞吐量。论文设定的量化目标包括:在LLaMA3和Qwen3模型系列上,相比现有的免训练基线(如LADE、PLD、STAND),实现至少7-11%的平均接受长度(τ)提升和高达15-19%的吞吐量加速比(S/R)提升。
与已有工作不同的是,本文的独特切入角度在于,它没有沿着“训练更强辅助模型”或“修改模型架构”的路径前进,而是转向了一个相对未被充分利用的观察:语言模型的内部隐藏状态本身就蕴含着未来token的信息。已有研究(如Future Lens)表明,未来token信息可以从单一隐藏状态中线性解码。ESP抓住了这一被忽视的点,提出直接在模型的嵌入空间中合成“掩码token”来探测这些未来信息。这种方法无需任何训练或架构修改,仅通过巧妙的输入构造和后处理,就能激发现有冻结模型的多token预测潜力。它将研究重点从“如何训练更好的草稿模型”转移到了“如何更有效地探测现有模型的内在能力”上,为MTP研究开辟了一个新的范式。
核心方法
ESP方法的整体思路可以形象地比喻为“在模型内部进行一场有针对性的问答”。传统自回归解码就像一个学生一次只回答一个问题,而ESP则像是老师同时提出多个问题(掩码token),让学生(模型)在一次思考(前向传播)中给出对多个未来问题的初步答案。这些答案虽然不一定完全正确,但包含了模型对未来内容的“预测”。随后,老师再逐个检查这些答案是否正确(验证),只接受正确的答案。具体技术路线是:首先,根据当前提示(prompt)动态生成一组“掩码token”,这些token的嵌入向量由提示的嵌入向量计算得到。然后,将这些掩码token追加到原始提示后面,一起输入到冻结的语言模型中。模型在掩码token位置输出的logits就代表了对未来token的预测。最后,通过一个推测解码风格的验证步骤,将这些预测与模型自身在后续位置上的预测进行对比,只接受匹配的token,从而保证生成结果的无损性。
ESP最核心的创新点在于**“使用动态生成的掩码token在嵌入空间中进行探测”**。与现有MTP方法的本质区别是:ESP不引入任何新的模型组件(如额外的解码头、辅助模型或可学习的参数),而是完全利用现有模型的内部计算能力。具体来说,ESP提出了一种“掩码token注入”机制:通过合成与提示语义相关的软掩码token(例如,取提示嵌入的均值),并将其作为输入的一部分,迫使模型在掩码位置输出对未来token的预测。这种方法背后的理论支撑是:模型在解码层中会逐渐将掩码token的表示与真实未来token的表示对齐(Lemma 3.1),这种对齐(通过余弦相似度衡量)保证了正确的未来token会出现在掩码token预测的Top-K候选中。此外,ESP引入了动态树扩展机制,根据累积概率自适应地生长token路径,并通过轻量级的剪枝规则去除冗余预测,从而在保持多样性的同时提高效率。
方法步骤详情
ESP方法的完整流程包括六个关键步骤。首先,给定输入提示序列 $x_{1:t}$,通过模型的嵌入矩阵 $E$ 将其映射为嵌入向量 $e_i = E[x_i]$。然后,为每个未来位置初始化一个掩码token $m_i$,其值为提示嵌入的均值:$m_i = \frac{1}{t} \sum_{j=1}^{t} e_j$,这种软初始化使得掩码token的初始状态与提示的语义分布对齐。第二步是掩码token注入与探测:将 $k$ 个掩码token追加到提示序列后面,形成新的输入序列 $[x_1, \ldots, x_t, m_1, \ldots, m_k]$,并输入到冻结的LLM中。模型在掩码token位置输出的logits即为对未来token的预测分布。第三步是动态树构建:从每个掩码token的logits中采样Top-K个候选token,采用Top-1扩展策略(每个深度只扩展概率最高的token),根据累积概率对候选路径进行排序并选择Top-(B-1)条路径,其中B是块复杂度。这种方法自适应地调整树的结构,当模型不确定时探索更多分支,当模型确定时减少分支。第四步是树剪枝:在树扩展过程中应用简单的启发式规则,移除连续重复的token(例如,当一个子节点预测的token与其父节点相同时),以减少冗余并提高多样性。第五步是并行验证:将动态树中的所有候选token组织成一个批次,使用自定义的树状注意力掩码和位置索引进行一次前向传播。这次传播同时完成两件事:生成新的未来token预测(用于下一步的树扩展),以及验证当前树中的候选token。验证是无损的:只有当预测token与模型自身在相同上下文下的预测完全一致时,才接受该token。一旦一个token被接受,其对应的掩码token就会根据新接受的token进行更新,用于生成下一轮的未来预测。最后,第六步是高效实现:为了支持固定的树结构,开发了一种高效的GPU实现,通过缓存注意力掩码并增量地添加列来避免重新计算,通过简单的偏移更新位置索引,从而显著降低了运行时开销。
技术新颖性
ESP的技术新颖性体现在以下几个方面:首先,它是第一个完全免训练、免外部模型的MTP方法,仅通过探测现有模型的嵌入空间来工作。这与需要训练辅助头(如MEDUSA)、训练提示token(如某些MTP方法)或使用外部草稿模型(如推测解码)的方法形成了鲜明对比。其次,ESP提出了“掩码token探测”这一新范式,通过合成软掩码token来激发模型的未来预测能力,并提供了理论证明(Lemma 3.1)来解释为什么这种方法有效。第三,ESP引入了动态树扩展机制,摒弃了固定树结构或手工调优的分支策略,让树结构根据模型的预测概率自适应地生长。第四,ESP设计了高效的树状注意力掩码和位置索引的GPU实现,通过缓存和增量更新,显著降低了运行时开销,使得MTP在固定树结构上实现了高达29-30%的吞吐量提升。这些创新使得ESP成为一个即插即用、高效且理论上可解释的MTP解决方案。
实验结果
ESP在SpecBench基准测试上进行了全面评估,涵盖了摘要、翻译、写作、编码、检索和数学推理等多种任务。实验结果表明,ESP consistently outperforms 现有的免训练基线。在LLaMA3模型上,ESP的平均接受长度(τ)比Lookahead Decoding (LADE) 提高了7-11%。在Qwen3模型上,ESP比Stochastic Adaptive N-gram Drafting (STAND) 提高了7-8%。这些提升直接转化为模型调用次数的减少,在块复杂度(BC)为60时,ESP最多可减少42%的前向传播次数。在吞吐量方面,ESP的加速比(S/R)在所有模型和预算设置中都是最佳或并列最佳的。具体来说,在LLaMA3.1-8B-Instruct上,ESP在BC=60时实现了1.38倍的加速,比次优基线(Prompt Lookup Decoding, PLD)高出约12%。在Qwen3-32B上,ESP实现了1.48倍的加速,比LADE高出13-22%。这些增益源于ESP能够直接从基础模型生成更高质量的投机性连续token,从而在验证过程中形成更长的接受链,进而减少模型调用次数。实验还发现,即使在一个很小的块复杂度(BC=10)下,使用单个掩码token的ESP也能超越现有基线,这支持了这样一个假设:当被适当地探测时,冻结的LLM能够可靠地预测额外的未来token,且开销极小。此外,ESP在开放任务(如写作、角色扮演)和受限任务(如摘要、数学推理)上都表现出色,尤其在数学推理任务上达到了峰值性能(例如,在LLaMA3.1-8B-Instruct上,τ=1.81,加速1.43倍)。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 平均接受长度 (τ) - LLaMA3.2-3B-Instruct | τ (Average Acceptance Length) | 1.56 (BC=30), 1.63 (BC=60) | LADE: 1.43 (BC=30), 1.57 (BC=60) | +9.1% (BC=30), +3.8% (BC=60) |
| 平均接受长度 (τ) - LLaMA3.1-8B-Instruct | τ (Average Acceptance Length) | 1.63 (BC=30), 1.71 (BC=60) | LADE: 1.45 (BC=30), 1.60 (BC=60) | +12.4% (BC=30), +6.9% (BC=60) |
| 平均接受长度 (τ) - Qwen3-8B | τ (Average Acceptance Length) | 1.63 (BC=30), 1.74 (BC=60) | STAND: 1.42 (BC=30), 1.48 (BC=60) | +14.8% (BC=30), +17.6% (BC=60) |
| 平均接受长度 (τ) - Qwen3-32B | τ (Average Acceptance Length) | 1.60 (BC=30), 1.70 (BC=60) | STAND: 1.42 (BC=30), 1.48 (BC=60) | +12.7% (BC=30), +14.9% (BC=60) |
| 吞吐量加速比 (S/R) - LLaMA3.1-8B-Instruct | Speedup Ratio (S/R) | 1.35× (BC=30), 1.38× (BC=60) | PLD: 1.23× (BC=30), 1.23× (BC=60) | +9.8% (BC=30), +12.2% (BC=60) |
| 吞吐量加速比 (S/R) - Qwen3-32B | Speedup Ratio (S/R) | 1.43× (BC=30), 1.48× (BC=60) | LADE: 1.22× (BC=30), 1.31× (BC=60) | +17.2% (BC=30), +13.0% (BC=60) |
局限与改进
尽管ESP取得了显著的成果,但仍存在一些局限性。首先,ESP在闭式任务(如摘要、RAG)上,尤其是在LLaMA3.1-8B-Instruct上,有时会略逊于基于n-gram复制的STAND方法。这是因为STAND能够直接从提示中复制连续的n-gram序列,这在具有高度重复模式的任务中具有天然优势。其次,ESP的性能受到块复杂度(BC)的限制,BC定义了单次前向传播中处理的token总数,包括最后生成的token、所有预测的未来token以及相关的掩码token。较大的BC可以探索更多分支,但也会增加延迟和计算成本。在边缘设备等计算资源受限的环境中,BC通常设置得较小(如BC=10),这限制了树探索的广度。第三,掩码token的设计相对简单,目前采用的是提示嵌入的均值。虽然实验证明这种初始化效果良好,但论文作者也承认,更复杂的控制论或优化方法来选择掩码配置,可能会带来显著的效率提升。第四,论文的理论分析(Lemma 3.1)依赖于余弦相似度阈值 $\delta^*$ 的存在,但这个阈值的具体值与模型、任务和Top-K大小有关,需要进一步的理论研究来确定。最后,ESP的高效实现目前是针对固定的树结构优化的,对于动态树结构,每个模型传播可能需要不同的注意力掩码,这增加了实现的复杂性。
独立分析的弱点
基于对论文的独立分析,可以识别出以下几个弱点及其改进方向。首先,当前的掩码token初始化策略使用提示嵌入的均值,这是一种启发式方法。可以探索更优化的初始化策略,例如使用模型在提示上的最后一个隐藏状态,或者通过一个轻量级的、预训练的映射网络来生成初始掩码token,使其更接近真实未来token的分布。其次,ESP的动态树扩展算法虽然避免了固定树的手工调优,但每个掩码token的Top-K采样和累积概率计算仍然带来了一定的开销。可以研究更高效的树结构搜索算法,例如使用基于信息增益的准则来决定是否扩展分支,或者利用模型预测的熵来动态调整每个深度的分支数量。第三,在摘要、RAG等闭式任务中,ESP的性能有时不如基于n-gram的STAND。可以探索将ESP与基于n-gram的缓存相结合的混合方法,例如当检测到高重复模式时切换到n-gram复制模式,否则使用ESP的探测模式。第四,块复杂度(BC)是一个需要手动设置的超参数,它直接影响延迟和计算成本。可以开发自适应的BC调整策略,例如根据模型在提示上的不确定性(如熵)动态调整BC,在模型确定时使用较小的BC,在不确定时使用较大的BC。最后,当前的掩码token是纯数值向量,缺乏明确的语义信息。可以探索引入可学习的语义掩码token,这些token在预训练阶段与模型一起训练,以更好地编码未来token的语义信息。
未来方向
论文作者提出了几个有前景的未来研究方向,同时基于ESP的成果也可以延伸出更多方向。首先,可以探索将ESP的掩码token探测思想与扩散语言模型(dLLM)的双向注意力机制相结合,设计出能够同时利用自回归和并行生成优势的新型解码架构。其次,ESP目前的实现是独立的,未来可以将其集成到vLLM、SGLang等高效推理服务框架中,利用这些框架的KV缓存管理、批处理等功能,进一步提升ESP在生产环境中的性能。第三,当前ESP采用Top-1扩展策略(每个深度只扩展概率最高的token),可以探索更复杂的树结构,例如同时扩展多个高概率的token,或者根据任务类型(开放vs.闭式)动态调整树的宽度和深度。第四,论文的理论分析(Lemma 3.1)揭示了余弦相似度与接受率之间的关系,未来可以进一步研究掩码token在嵌入空间中的几何特性,以及它们如何与模型的内部表征交互,从而为设计更有效的掩码token提供理论指导。最后,ESP在LLaMA3和Qwen3上表现良好,可以进一步研究ESP在其他模型家族(如Mistral、DeepSeek)以及更多样化任务(如多模态、代码生成)上的泛化能力。
复现评估
从复现的角度评估,ESP具有较好的可复现性。首先,论文的核心算法(Algorithm 1)描述清晰,伪代码完整,便于实现。其次,实验设置明确:使用SpecBench基准测试,评估了LLaMA3和Qwen3两个模型家族,包括3B、8B、32B等不同规模。所有实验均在单个NVIDIA A100或H100 GPU上进行,最大生成长度为100个token,这降低了硬件门槛。第三,论文提供了详细的基线方法配置(Appendix F),便于公平对比。然而,存在一些复现挑战:1. 论文未明确说明代码和预训练模型权重是否开源。2. 高效的树状注意力掩码实现(Appendix E)是性能的关键,但论文只提供了高层描述,具体的GPU内核优化细节需要自行实现。3. 动态树扩展算法需要仔细处理边界情况,例如当累积概率相同时的选择策略。4. 论文使用了温度参数(temperature=0.0和1.0)进行实验,复现时需要确保采样设置的正确性。总体而言,ESP的算法思想清晰,实验设置明确,但高效的实现细节需要一定的工程努力。如果作者能开源代码和模型权重,将极大地促进该方法的复现和后续研究。
论文图表