论文
DLoop:循环推测解码
DLoop: Looped Speculative Decoding
摘要
推测性解码加速了大语言模型中的自回归生成。在每个起草阶段,轻量级草案模型都会提出 token,目标模型随后会进行验证。随着草图模型的功能不断增强,我们发现目标模型经常接受草图阶段生成的所有 token。然而,验证遵循每个起草阶段,导致不必要的目标模型前向传递,即使起草可以继续。自适应草图长度方法决定在解码期间有多少草图 token 在验证之前,但它们仅提高自回归草图模型的加速比。对于并行草稿模型,草稿进一步需要尚未验证的草稿 token 的目标模型隐藏状态。我们提出了 DLoop,一种循环形式的推测解码,它在验证之前自适应地执行多个起草阶段。 DLoop 继续起草,同时草案模型保持信心,并一起验证所有累积的草案 token。循环感知训练通过将未验证草稿 token 暴露给其自己的隐藏状态,使草稿模型在附加起草阶段保持可靠。通过花费额外的草稿模型前向传递,DLoop 减少了验证所需的目标模型前向传递的数量。在多种推测解码方法中,包括 EAGLE-3、DFlash、Domino、DSpark 和多 token 预测模块,DLoop 将挂钟加速提高了 5% 到 41%,同时保留了无损解码。代码可在 https://github.com/naver-ai/DLoop. 获取