ART: Attention Run-time Termination for Efficient Large Language Model Decoding
本文介绍了 ART,一种轻量级的运行时机制,它通过在累积注意力输出变得微不足道时终止 KV 缓存访问,从而在不损害准确性的情况下将大语言模型的解码吞吐量提高 20%。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下你正在试图解开一个复杂的谜题,而你有一个巨大的参考卡片盒(即 KV Cache),里面包含了你目前收集到的所有线索。在大型语言模型(LLM)中,每当 AI 想要写出下一个词时,它都必须查阅这些卡片以寻找最相关的线索。
问题在于:随着对话变得越来越长,这个卡片盒也会变得越来越大。AI 必须物理性地走到书架旁,拿起一张卡片,阅读它,然后再把它放回去。如果盒子太大了,AI 花在走路上的时间会比思考的时间还多,这会导致速度变慢。
旧方法:猜测谁更重要
此前,研究人员尝试通过查看每张卡片的“标题”(即 Key)来提高速度。他们会进行猜测:“哦,这个标题看起来很重要,所以我会读完整张卡片。那个标题看起来很枯燥,所以我会跳过它。”
但论文指出这种逻辑存在一个缺陷:标题并不总是能说明全部情况。 有时一张标题很枯燥的卡片,其内部却含有非常重要的信息(即 Value)。如果仅凭标题就跳过它,AI 可能会错过关键的线索。
新方案:ART(注意力运行时终止)
作者提出了一种名为 ART 的新方法。ART 不再是在开始阅读卡片之前去猜测哪些卡片重要,而是让 AI 开始逐一阅读卡片,并一旦收集到足够的信息就立即停止。
以下是它的工作原理,使用了一个简单的类比:
“试味”类比
想象你正在煮汤,通过一个接一个地添加食材来观察味道的变化。
- 旧方法: 你有一份食谱说:“加入恰好 10 种食材。”即使在加入 3 种食材后汤的味道已经完美了,你仍会继续加入剩下的食材,因为食谱要求这么做。
- ART 方法: 你在每加入一种食材后都会品尝一下汤的味道。
- 你先加入前几种(最重要的那些)。
- 你品尝一下。
- 你加入下一个。你再次品尝。
- 神奇时刻: 如果你加入了一种食材,但味道几乎没有变化(或者变化微小到你无法察觉),你就停止了。你不会再去添加剩下的 5 种食材,因为它们不会让汤的味道变得更好。
ART 在技术上是如何实现的
在计算机世界中,“汤”就是注意力输出(Attention Output,即 AI 计算出的最终结果)。
- 监测: 当 AI 处理数据块时,它会不断检查结果的“味道”。
- 两次检查: 它检查两件事:
- 大小: 结果是显著变大了还是变小了?
- 方向: 结果是否转向了完全不同的含义?
- “耐心”规则: 有时味道可能会因为偶然因素产生微小的波动。ART 有一个“耐心”设置。它会观察味道是否连续几步都保持稳定。如果味道趋于稳定,ART 就会说:“好了,我们完成了,”然后停止获取剩余的卡片。
为什么这意义重大
- 它很聪明: 不同于旧方法只看“标题”(Keys),ART 会观察实际的“信息内容”(Values)。它知道信息何时真正结束。
- 它很安全: 它不会永久删除卡片。它只是决定:“我们现在不需要读取这一批中的剩余部分。”
- 它兼容性强: 你可以将 ART 与其他加速技巧结合使用。它就像是为一辆已经装了涡轮增压引擎的汽车增加了一个“提前停止”按钮。
- 结果显示: 论文在长对话中测试了该方法,发现:
- AI 生成答案的准确度与之前几乎一致(几乎没有质量损失)。
- 在处理大量请求时,它的生成速度提升了 20%,因为它不再浪费时间去阅读那些不会改变答案的卡片。
总结
ART 就像一位聪明的图书管理员,他意识到一旦你读完了书的前几章,你就已经知道结局了。他不会强迫你去读完最后 50 页,而是会对你说:“你已经掌握了,可以停在这里了,”从而在不丢失故事主旨的前提下,为你节省时间和精力。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。