Approximate Speculative Decoding
本文介绍了近似投机解码(Approximate Speculative Decoding, ASD),这是一种无需训练的方法,它通过基于遗憾预算(regret budget)选择性地接受草拟标记(draft token)的不匹配,从而重用有效的后缀,以此在不需要新草拟模型或微调的情况下加速自回归生成,进而提高吞吐量。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你正在尝试为一个非常聪明但极其缓慢的朋友写故事。每当你想要在故事中添加一个新词时,你都必须等待你的朋友苦苦思索,检索他们整个知识库,然后告诉你下一个确切的词是什么。这就是现代 AI 语言模型的工作方式:它们一次生成一个词,而“思考”部分占据了大部分时间,使得整个过程感觉就像在看油漆变干一样无聊。为了提高速度,科学家们发明了一个名为“投机采样”(speculative decoding)的小技巧。把它想象成有一个快速的初级助手在为你猜测接下来的几个词。然后,你要求你那位缓慢的专家朋友快速检查这些猜测是否正确。如果专家同意,你就可以一次性写出好几个词,而不是只写一个,从而节省大量时间。
然而,这里有一个陷阱。你的专家朋友是一个墨守成规的人。如果你的助手猜出的词哪怕只有一个不是专家认为的最完美的选项,专家就会立即停止整个过程。他们会扔掉你在这一轮中助手猜出的所有其他词,即使其中大部分其实都是完美的。这就像一位批改试卷的老师,一旦看到一个错误答案就停止阅读,并将剩下的整张试卷扔进垃圾桶。这种“全有或全无”的规则虽然保证了故事的完美,但也浪费了助手的大量工作。
这篇论文介绍了一种名为 近似投机采样(Approximate Speculative Decoding, ASD) 的新方法,它扮演了一个更聪明、更灵活的老师的角色。它不再因为一个小错误就扔掉整张试卷,而是会询问:“这个错误微小吗?而且助手的接下来的几个词写对了吗?”如果答案是肯定的,ASD 就会接受这个小错误,保留后面正确的词,并继续进行。这就像一位老师说:“虽然你把 'because' 这个词拼错了,但你接下来的十个词拼得非常完美,所以我们把这一个词改过来,然后继续往下写吧。”研究人员发现,通过对微小错误表现得稍微宽容一些,他们可以让 AI 写得显著更快,而不会破坏故事的质量。
“预算制”助手的的故事
ASD 的核心思想是停止将每一个错误都视为灾难。在旧的方法中,如果你的助手猜了一个不是首选的词,系统就会立即停止。但作者意识到,有时助手的“错误”猜测实际上与正确答案非常接近,且其后的词仍然是完美的。
为了解决这个问题,团队创建了一个带有**预算(budget)**的系统。想象一下你有一个装有“错误令牌”的罐子。你可以犯一些小错误,但你必须从你的罐子里支付这些错误。
- 局部门控(The Local Gate): 在接受一个错误之前,系统会检查这个错误有多“严重”。如果助手的猜测仅比完美单词的概率稍低,那么这是一个廉价的错误。如果是一个巨大的错误,它会消耗过多的令牌,系统就会说“不”。
- 块限制(The Block Cap): 你不能在单次猜测批次中犯太多错误。这可以防止助手一次性变得过于不准确。
- 请求预算(The Request Budget): 这是整个对话的总令牌数。一旦你用完了令牌,你就必须在剩下的故事中回归完美(严格遵循旧规则)。
奇迹发生在系统接受一个小错误的时候。因为助手的下一个几个猜测实际上是完美的(它们与专家会选择的词相匹配),系统可以“复用”它们。它不需要再要求缓慢的专家去检查它们。它只需接受这些词并继续前进。这把一个“停止并丢弃”的时刻变成了一个“修复并继续”的时刻。
他们的发现
研究人员使用了一些非常流行的 AI 模型(如 Qwen3 和 DeepSeek)在各种任务上测试了这个想法,从解决数学问题到编写代码。他们不需要重新训练模型或教助手任何新知识;他们只是改变了“老师”(验证器)评分的方式。
结果非常令人鼓舞。通过使用这种预算方法,系统变得更快了,且无需任何额外训练。
- 在七个不同的任务集上,与严格的传统方法相比,系统平均提速了 7.78%。
- 在最佳情况下,例如在 MATH-500 数据集上,提速达到了 11.73%。
- 当他们在名为 DeepSeek-V4-Flash 的大规模模型上进行测试时,他们看到接受率(即系统保留的猜测数量)增加了大约 10% 到 16%。
论文谨慎地指出,这并不是一个让一切都变得完美的魔杖。作者明确表示,这种方法改变了 AI 寻找答案的路径。有时,故事可能会略有不同,或者“哈希值”(文本的数字指纹)可能会改变,即使最终答案仍然是正确的。例如,在某些编程测试中,准确率略有下降(下降不到 1.5 个百分点),但在许多其他任务中,准确率保持不变甚至略有提高。
为什么这很重要
这篇论文的美妙之处在于它不需要构建一个新的、更快的 AI,也不需要训练一个新的助手。它只是改变了你现有的游戏的规则。这就像意识到一个严格的交警因为因为对每一个微小的违规行为都拦截车辆,从而减慢了整个城市的交通,而采用一种更灵活的方法则能保持交通顺畅,且风险极小且可控。
作者建议,这种方法是榨取当前 AI 系统更多速度性能的一种极佳方式。他们强调,虽然速度提升是真实且可衡量的(在某些情况下高达 15.26%),但用户需要意识到,你是在用一点点严谨的完美来换取大量的速度。这是一种权衡:你让故事写得快得多,而且对大多数人来说,措辞上的微小差异根本无关紧要。论文总结道,这种“预算制”方法是一种实用的、无需训练的方式,可以让 AI 生成更快,前提是你要检查结果以确保其质量符合你的需求。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。