Verification-Aware Training for Speculative Decoding
Geonmo Gu, Byeongho Heo, HeeJae Jun, Yoohoon Kang, Sangmin Lee, Sangdoo Yun, Dongyoon Han
cs.CL
2026-08-31
VAT在训练时模拟目标模型的逐位验证,用验证头和按首次拒绝点重加权来训草稿。叠在EAGLE-3与DFlash上,接受长度最多+11.4%,墙钟加速最多+8.7%,推理流程不用改。
投机解码用一个轻量草稿模型先吐出一串候选 token,目标模型一次前向全部核验,接受长度决定加速比。核验是从头逐位走的:第一处拒绝之后,后面的草稿无论写得多像都会被丢掉。
现有草稿训练对不上这件事。目标仍是逐位模仿目标模型,位置权重还是开训前写死的一条衰减曲线,所有样本共用。曲线不会跟着「这一条在第几位第一次被拒」走,模型也收不到「这段前缀能不能活过核验」的信号。
NAVER 的做法很窄:只改训练目标,草稿结构、目标模型、推理流程都不动,把核验过程模拟进每一步训练。
VAT 在训练时对比草稿和目标在每个位置的预测,按投机采样规则得到接受指示,再取第一次拒绝点 k。位置 k 的标签 vk 只有当前缀全部被接受时才为 1,和推理时「一处拒绝,后面全废」一致。
两块监督钉在这个模拟结果上。
验证头是接在草稿最后隐状态上的一层全连接二分类,用二元交叉熵去预测 vk。它只在训练时存在,推理默认不用,梯度会回流进草稿,让隐状态更接近「会不会和目标对上」。两个定性不同的位置终于能分开:前缀还活着、猜对就能拉长接受长度;前缀已经死了、猜对也帮不上这一轮。
验证自适应加权替换固定日程。k 之前(含 k 本身)权重为 1;k 之后把原来的衰减曲线平移到从 k 开始。EAGLE-3 底表是 0.8 的指数衰减,DFlash 是 exp(-(k-1)/γ)。第一次拒绝点是最近可修的失败,所以它自己也拿满权。拒绝点随样本变,这条日程无法被任何样本无关的固定曲线近似。
总损失是加权的软标签交叉熵加硬标签交叉熵,再加上 β=1.0 的验证头损失。EAGLE-3 原本用软标签,DFlash 原本用硬标签,这里两种都留。
叠在 EAGLE-3 和 DFlash 上,目标模型为 Qwen3-4B、Qwen3-8B、LLaMA-3.1-8B,数学、代码、对话八个基准,A100 上用 Hugging Face Transformers 测。训练语料是 Perfectblend 用户提示配目标模型贪心回复,训 3 个 epoch,基线与 VAT 共用同一份。
温度 0、八基准平均:
| 目标 | 方法 | 加速比 | 接受长度 τ |
| Qwen3-4B | EAGLE-3 → +VAT | 4.07× → 4.39× | 6.28 → 6.78 |
| Qwen3-4B | DFlash → +VAT | 4.54× → 4.81× | 5.73 → 6.08 |
| Qwen3-8B | EAGLE-3 → +VAT | 4.04× → 4.24× | 6.12 → 6.47 |
| Qwen3-8B | DFlash → +VAT | 4.47× → 4.86× | 5.51 → 6.14 |
| LLaMA-3.1-8B | EAGLE-3 → +VAT | 4.17× → 4.33× | 6.08 → 6.23 |
| LLaMA-3.1-8B | DFlash → +VAT | 4.08× → 4.22× | 5.57 → 5.78 |
最大一档是 Qwen3-8B 上的 DFlash:τ +11.4%,墙钟加速 +8.7%。LLaMA 上更小,EAGLE-3 的 τ 只 +2.5%。温度 1 时方向不变。单点例子:Qwen3-8B 的 DFlash 在 GSM8K 上从 6.21× / τ=7.45 升到 7.03× / τ=8.71。
在 DFlash + Qwen3-4B 上拆组件,基线 τ=5.73 / 4.54×。只加验证头到 5.87,只改加权到 5.91,只加软硬标签到 5.82,三件齐上到 6.08 / 4.81×。加权增益主要来自「锚在 k」,底表用 0.8 衰减还是 DFlash 指数,自适应之后 τ 几乎一样(6.09 对 6.08)。
验证头在训练中把平均首次拒绝位置往后推,拒绝点之后仍能对上目标的 token 也不再随训练掉下去。推理时可选地用它做提前退出:EAGLE-3 在阈值 0.5、DFlash 在 0.6 时,首次拒绝位置的平均绝对误差分别是 1.18 和 1.76 个 token。DFlash 代码任务加速从 4.83× 到 4.97×,oracle 是 5.20×;τ 会小幅下降,因为头会误报拒绝。
这是插在现有投机解码方法上的训练目标补丁,不用换草稿结构,也不用动线上核验。对已经在跑 EAGLE-3 或块扩散草稿的人,同一套推理栈能再吃几个点的接受长度。增益在 Qwen 上比 LLaMA 大,在 8B 以内成立,更大模型还没有数字。
并发的 PARD-2 和 D-PACE 也在改位置权重,但锚的是置信度代理。VAT 锚的是观测到的首次拒绝点,并配了一个监督累积接受的头,而且同时盖住自回归和扩散两种草稿。
作者写明评测停在 8B。LLaMA-3.1-8B 上 τ 只动 2.5% 到 3.8%,方法是不是随模型变大继续有效,这篇给不出答案。训练核验按贪心模拟,评测温度 1 仍有增益,但训练-解码温度不一致仍在。验证头的提前退出会牺牲一点 τ,误拒会砍掉本该接受的前缀。
加权方案的消融在附录,主文只报了赢的那一档。β 全程钉死 1.0,没有扫。草稿仍要在目标回复上再训 3 个 epoch,换目标就要重训草稿,VAT 省不掉这一步。