返回文章列表
记忆与上下文

让 AI 记住 5000 万 Token:KV 状态持久化如何降低长上下文成本

阅读约 3 分钟

导语

长上下文模型的瓶颈不只在于“能装多少文字”,也在于每次调用时都要重新处理这些文字。来自 Hugging Face Daily Papers 的一项实验,测试了开源软件包 galahad-kv:它把模型处理文本后形成的键值缓存(KV cache)按约 1.6 万 Token 分块,写入加密的本地 NVMe 硬盘,后续需要时再直接加载。

这项工作把“长期记忆”理解为模型中间状态的持久化,而不是训练一个拥有永久记忆的新模型。

核心要点

  • 测试规模较大。 研究团队在单张 NVIDIA H100 上,通过 vLLM 运行 Gemma 4 12B 和 Gemma 4 31B,处理了 5000 万 Token 的真实公开文本。
  • 恢复不依赖重新计算。 在从 0 到 5000 万 Token 的不同深度抽取的 100 个数据块中,两款模型的 KV 状态都能从加密存储中恢复,并保持字节级一致。
  • 加载比重算更快、更省能。 实验中,加载速度约为重新计算的 2.8 至 4.3 倍,GPU 能耗减少约 8.8 至 12.3 倍;处理流持续增长时,GPU 显存保持基本稳定。
  • 记忆问答仍受模型能力影响。 对于埋藏在数百万 Token 之前的事实,12B 模型答对 100 次中的 82 次,31B 模型答对 98 次;素材称两者都没有编造答案。

它究竟解决了什么问题?

传统做法是在每次请求中重新提交历史文本,或者把越来越长的内容塞入上下文窗口。前者浪费计算,后者受到窗口容量和显存限制。KV 持久化的思路是:文本第一次经过模型时付出计算和存储成本,之后复用已经生成的中间状态,从而避免重复预填充。

不过,这并不等于模型获得了一个真正的 5000 万 Token 注意力窗口。实验采用的是按块存取,一次加载一个记忆块;模型能否利用某个块中的信息,仍取决于检索策略、块的组织方式以及模型本身的推理能力。它更像一个面向推理服务的外部状态仓库,而不是把所有历史同时放进注意力层。

意义与限制

这类方案对长期运行的智能体、代码库分析、文档问答和持续对话具有潜在价值。对于重复访问同一批资料的服务,硬盘读取可能比反复占用 GPU 做预填充更经济,也能让显存使用量不随历史长度线性增长。

但成本并没有消失:首次写入 KV 状态仍需要完整计算,存储规模达到数 TB 级别,而且不同模型、问题类型和记忆块选择方式可能带来不同的实际效果。未来评估这类系统时,除了看“上下文长度”,还应同时考察状态写入、存储、检索、加载和回答准确率。当前结果更适合被视为一种可复现的工程验证,而不是对无限记忆的承诺。

来源:Hugging Face Daily Papers

评论

正在确认登录状态……

正在加载评论……

相关文章