TreeFlash: Parallel AR-Approximation for Faster Speculative Decoding
TreeFlash 是一种新颖的并行投机解码方法,它通过引入一个用于近似自回归分布的 MLP 层来增强单次(one-shot)块草拟器,从而在保持恒定解码时间复杂度的同时,显著提升了块效率和加速比。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下你正在尝试预测句子中的下一个词,就像是在接续朋友的故事一样。
旧方法(自回归)
通常,大型 AI 模型(比如正在撰写这篇论文的模型)非常谨慎但速度较慢。它们写出一个词,检查一下,然后根据这个词写出下一个词,以此类推。这就像是一个人在一次只打一个字母地输入句子。他们无法加速,因为在输入下一个字母之前,必须等待前一个字母完成。
“投机性”捷径
为了提高速度,研究人员发明了一种“草拟”系统。一个小型、快速的 AI(草拟者)会一次性猜测一整块单词。然后,大型、缓慢的 AI(验证者)会一次性检查所有这些单词。如果猜测是正确的,大模型会瞬间接受所有猜测,从而节省大量时间。
“单次生成(One-Shot)”草拟的问题
最近,一种名为 DFlash 的方法被引入了。与其一个接一个地猜测单词,DFlash 让草拟者尝试在一个瞬间吐出整个单词块(即“单次生成”)。
- 类比: 想象一位厨师试图一次性猜出汤里的下 10 种食材,而完全不去品尝前 9 种食材的味道。
- 缺陷: 因为厨师没有品尝之前的食材,所以他对第 10 种食材的猜测仅基于原始食谱,而不是基于他刚刚加入了“盐”或“胡椒”这一事实。随着猜测列表变长,厨师的猜测会逐渐偏离验证者(大模型)真正想要的内容。
- 树状结构问题: 更新的方法尝试同时猜测多条不同的路径(就像一棵有很多分支的树)。但如果这些分支共享一个共同的起点,它们就会被迫在下一步使用相同的猜测,即使其中一个分支有了“盐”,而另一个分支有了“糖”。这使得树状结构变得混乱且准确性降低。
解决方案:TreeFlash
本文的作者创造了 TreeFlash。他们意识到,厨师需要一点点帮助来记住他刚刚“品尝”到的东西。
- 魔术技巧: 他们在草拟者中添加了一个非常微小、轻量级的“辅助层”(AR-近似器)。
- 工作原理: 尽管草拟者仍然是一次性猜测整个单词块(保持超高速),但这个辅助层会观察草拟内容中紧接在前一个单词,并低声提醒:“嘿,既然我们刚刚说了‘盐’,那么下一个词可能是‘胡椒’,而不是‘糖’。”
- 结果: 现在,草拟者可以做出依赖于前一个词的猜测,就像正常人类那样,但它仍然能在单个瞬间完成这一切。
为什么这很重要
论文声称,通过添加这个微小的辅助层:
- 保持高效: 它不会减慢过程,因为辅助层非常小,且数学计算是并行完成的。
- 更准确: 它的猜测能更贴近大模型的真实意图,尤其是在单词块后期的单词上。
- 构建更好的树: 当同时猜测多条路径时,TreeFlash 可以正确处理不同的分支(例如,一个分支得到“盐”,另一个分支得到“糖”,随后的单词也会随之调整)。
实验结果
当他们在各种任务(如数学问题、编程和通用对话)中使用不同规模的 AI 模型测试 TreeFlash 时,它一致击败了之前的最优方法。
- 它接受的正确单词更多(效率更高)。
- 它让整个过程更快(加速效果更高)。
- 当要求 AI 猜测更长的单词列表时,这种提升效果变得更加显著。
简而言之
TreeFlash 就像是给一个速读机器人配备了一个微型记忆棒。它允许机器人在一秒钟内猜测出整个段落,但它不再是盲目猜测,而是通过记住它刚刚猜测的最后一个词,让下一次猜测变得更聪明。这使得 AI 在不损失质量的前提下,写作速度大幅提升。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。