想象一下,你正在尝试阅读一本非常长的书,但你的大脑(即计算机的内存)一次只能容纳几页。在阅读过程中,你需要记住之前发生的内容才能理解当前的句子。如果你忘记得太多,就会感到困惑;如果你试图记住“所有”内容,你的大脑就会变得过于拥挤,导致思维慢如蜗牛。
这正是 CONF-KV 为人工智能模型(大语言模型)在撰写长故事或进行长对话时所解决的确切问题。
以下是该论文如何用简单的类比来解释这一问题的:
问题:“过满的背包”
当人工智能生成文本时,它会保留一个名为 KV 缓存(KV Cache) 的信息“背包”。这个背包存储了人工智能迄今为止所说的一切内容的上下文。
- 问题所在: 随着对话变长,背包变得越来越重。最终,它会重到让人工智能耗尽内存(背包破裂),或者变得如此缓慢,以至于思考需要耗费永恒的时间。
- 旧方法: 大多数人工智能系统使用“滑动窗口”。想象火车上的一扇窗户。随着火车移动,窗外的景色不断变化。人工智能只记住最后 512 个单词(即窗外眼前的景色),而忘记之前的所有内容。
- 缺陷: 如果某个问题的答案是在 1000 个单词之前提到的,滑动窗口会将其完全遗忘,导致人工智能失败。
- 另一种旧方法: 有些系统试图根据过去被关注的频率来记住“重要”的单词。但这就像查看你昨天去过哪里的地图,却不知道你此刻的感受。
解决方案:“置信度计”
这篇论文的作者 CONF-KV 提出了一种管理背包的新方法。他们不再使用固定规则,而是赋予人工智能一个 置信度计。
将人工智能想象成一名正在参加考试的学生:
- 当学生自信时: 他们能轻松知道答案,不需要翻看笔记。因此,系统会说:“太好了!你很有把握。让我们扔掉一些旧笔记以节省空间。”
- 当学生困惑时: 学生正在犹豫。他们需要查阅历史记录来理清思路。系统会说:“等等,你似乎不确定。保留所有笔记!先别扔掉任何东西。”
实际运作方式:
- 信号: 在人工智能选择下一个单词之前,它会审视自己的确信程度。如果下一个单词显而易见(高置信度),它就会缩小内存;如果下一个单词很棘手(低置信度),它就会扩展内存。
- 排序: 即使需要缩小内存,它也不会随机删除内容。它会保留最近的单词(因为它们通常很重要)以及人工智能过去查看次数最多的单词。它会删除那些“无聊”的旧内容,因为没人关心它们。
“混合精度”技巧
论文还提到了一种巧妙的存储技巧。
- 想象你的笔记是写在纸上的。
- 最近的笔记 写在 高质量、厚实的纸张(FP16)上,因此它们清晰无比。
- 较旧的笔记 写在 薄而回收的纸张(INT8)上。它们占用的空间要小得多,但你仍然可以足够清晰地阅读它们以获取大意。
- 这使得人工智能能够在相同的背包空间内容纳 更多 的历史记录,而不会损失太多质量。
结果展示
作者在四个不同的人工智能模型上测试了这种方法,发现:
- 内存节省: 它使用的内存量与简单的“滑动窗口”(遗忘所有旧内容)大致相同,但它能记住 多得多 的重要细节。
- 更高的准确性: 在“大海捞针”测试(在巨大文本中寻找一个隐藏的具体事实)中,CONF-KV 找到了那根针 91.4% 的时间。而旧的滑动窗口仅找到了 53.8% 的时间。
- 现实世界任务: 当用作网络浏览代理(尝试在线购物或填写表格)时,其成功率是完整内存版本的 95.3%,但使用的内存却少了 2.8 倍。
- 速度: 由于背包更轻,人工智能思考得更快(延迟更低),并且可以同时处理更多用户(吞吐量更高)。
核心结论
CONF-KV 就像一位聪明的图书管理员,不会仅仅因为书“旧”就将其扔掉。相反,这位图书管理员会观察读者。如果读者感到吃力,图书管理员会让整个图书馆保持开放;如果读者进展顺利,图书管理员就会清理杂物,使房间运行更快。
这使得人工智能能够进行更长、更智能的对话,而无需耗尽内存或减速,仅仅通过倾听人工智能在每一步的“确信”程度即可实现。
技术摘要:CONF-KV
问题陈述
长程大语言模型(LLM)推理面临一个关键瓶颈:Key-Value(KV)缓存成为 GPU 显存的主要消耗者,导致每 token 的注意力延迟随序列长度线性增长。现有的淘汰策略(如滑动窗口或基于历史注意力的方法,例如 H2O、SCISSORHANDS)依赖静态的近期性或历史信号来决定保留哪些 token。这些方法往往未能利用在每一步解码时都可用的一种信号:模型当前的不确定性。因此,静态策略可能在困难生成阶段过早地淘汰上下文,或在模型自信时保留不必要的 token,导致显存占用与生成质量之间的次优权衡。
方法:CONF-KV
作者提出了 CONF-KV,一种感知置信度的 KV 缓存管理器,它根据模型当前的下一个 token 分布动态调整缓存预算。该系统通过以下机制运行:
置信度估计:在每一步解码时,该方法将 logits 转换为标量置信度分数(c)。该分数是归一化熵、前两个 token 之间的对数概率差值以及最高概率 token 的概率的加权组合。
c=wH(1−H^)+wmσ(m)+wpp(1)
其中 H^ 是归一化熵,m 是对数差值,权重设定为 (0.4,0.3,0.3)。
自适应预算选择:阈值 τ 决定了当前步骤的缓存预算(N)。
- 如果 c≥τ(高置信度),则选择紧凑预算(Nhigh),允许激进地淘汰 token。
- 如果 c<τ(低置信度/不确定性),则选择宽松预算(Nlow)以保留更多上下文。
这产生了一种“锯齿状”的显存分布:在不确定阶段缓存扩张,在自信阶段收缩。
Token 排序与淘汰:在选定的预算范围内,token 根据结合指数移动平均(EMA)注意力质量和近期性的综合得分进行排序。一个硬保护窗口(P)确保最近的 token 永远不会被淘汰,以保持局部连贯性。
系统集成:
- 混合精度存储:最近的 W 个 token 以 FP16 存储,而保留的旧 token 按头和通道量化为 INT8。与低位数量化相比,这减少了显存占用,同时最小化了困惑度(perplexity)的退化。
- 金字塔预算(CONF-KV-L):一个可选变体在不同层之间非均匀地分配预算,根据深层往往将信息集中在更少 token 上的观察,为更深层分配更小的预算。
- 实现:管理器使用连续压缩来维持注意力内核的密集布局,避免间接寻址表,并将反量化融合到分块注意力读取中。
主要贡献
- 感知置信度的策略:一种新颖的淘汰策略,利用当前输出分布来驱动每步缓存预算决策,而非仅依赖历史信号。
- 系统设计:一个完整的实现,结合了自适应淘汰与分块在线 softmax 注意力、混合 FP16/INT8 存储以及可选的金字塔层预算。
- 机制验证:一项测试表明,置信度分数与通过消融近期上下文引起的 KL 散度偏移呈强负相关(Pearson r=−0.77),验证了“低置信度表明需要保留更多上下文”的假设。
- 全面评估:在四个模型系列(GPT-2、Qwen-14B/32B、gpt-oss-20b)和多样化工作负载(包括困惑度、长上下文检索和 Web 代理任务)上进行了广泛的基准测试。
实验结果
- 显存 - 质量权衡:在 2048 token 生成长度的 GPT-2 上,CONF-KV+INT8 的显存占用与固定的 512 token 滑动窗口(约 38.7 MB)相当,但相比滑动窗口将困惑度降低了 3.11 点。CONF-KV-L(金字塔变体)进一步将显存降至 34.2 MB,同时将困惑度改善了 3.89 点,缩小了滑动窗口与完整 KV 之间 74% 的质量差距。
- 长上下文检索:在高达 32K token 的“大海捞针”(NIAH)测试中,CONF-KV 实现了 91.4% 的检索准确率,显著优于滑动窗口(53.8%)和 H2O(80.6%)。
- 代理任务:在 75 个 VisualWebArena 任务中,CONF-KV 保留了 95.3% 的完整 KV 成功率,同时将峰值显存降低了 2.8 倍。
- 吞吐量和延迟:在 GPT-2 和 Qwen-32B 上,CONF-KV 将每步延迟相比完整 KV 降低了 1.8 倍。吞吐量随批量大小扩展;在批量大小为 8 时,CONF-KV 实现了完整 KV 2.06 倍的吞吐量。
- 消融实验:隔离置信度信号显示,以相同速率进行随机淘汰会将性能降至 36.54 PPL,而完整的 CONF-KV 实现了 30.92 PPL,证实了置信度门控和排序机制都至关重要。
意义与主张
该论文声称,CONF-KV 证明了当前的不确定性是改善显存 - 质量帕累托前沿的有用系统元数据。该方法之所以独特,是因为它是面向未来的:它无法恢复已淘汰的 token,但能防止在困难阶段过早淘汰。该方法设计为无需训练,不改变模型权重,并且与现有的技术(如逐头分配、逐层分配和精度选择)正交,允许与其组合使用。
作者指出了局限性,包括该方法在从未超过淘汰阈值的短上下文中是“无操作”(no-op),且连续压缩会产生收集成本(尽管这被注意力节省所抵消)。他们还承认,在高温采样下,置信度信号的信息量会减少。最后,论文强调了一个双重用途的考量:虽然降低推理成本提高了效率,但也可能降低不良长程自动化的门槛,这表明对底层模型的安全控制仍然是必要的。
每周获取最佳 machine learning 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。