论文

Context Memorization for Efficient Long Context Generation

Context Memorization for Efficient Long Context Generation

现代大型语言模型(LLM)应用日益依赖长条件前缀来在推理时控制模型行为。尽管前缀增强推理有效,但它存在两个结构限制:i) 前缀的影响随着生成过程逐渐减弱,ii) 前缀上的注意力计算与其长度呈线性扩展。现有方法要么在注意力中保留前缀同时压缩它,要么通过基于梯度的训练将其内化到模型参数中。前者在推理时仍需要处理前缀,而后者训练成本高且不适合前缀更新。 为了解决这些问题,我们提出注意力状态记忆(Attention-State Memory),一种无需训练的方法,将前缀外部化为轻量级、基于查找的记忆,存储前缀与查询令牌之间预先计算的注意力状态。在ManyICLBench数据集上使用LLaMA-3.1-8B模型,我们的方法在1K-8K记忆预算下相比上下文学习提高了准确率,同时在8K预算下将注意力延迟降低1.36倍;并且在NBA基准测试中,仅使用20%的内存足迹就超越了全注意力RAG的性能。

论文精读

TL;DR 通过预计算并查找注意力状态记忆,无需训练即可解决长前缀推理中的影响衰退与注意力开销,在准确率和延迟上全面超越上下文学习和全注意力 RAG。

问题

问题背景
现代大语言模型(LLM)推理中,通过长前缀(prefix)注入上下文、指令或外部知识已成为控制模型行为的常规手段。然而,随着前缀长度增长,其影响力衰减与注意力计算开销的线性增长矛盾日益突出。

现有方法局限
现有方案分为两类:一是压缩类方法(如 KV 缓存剪枝、提示压缩),虽减小了前缀存储,但仍需在每步生成时对压缩表示执行注意力运算,无法根本消除前缀注意力延迟;二是参数内化类方法(如微调、prefix-tuning),将前缀记忆融入模型权重,但需要昂贵的梯度训练,且每次前缀更新都需重新训练,灵活性与部署成本不可接受。

为什么这个问题难且重要
挑战在于同时满足三点:1)训练自由——无需针对每个前缀执行反向传播;2)影响力持久——避免前缀信息随生成步数增加而消失;3)计算效率——彻底旁路前缀的注意力运算。这要求设计一种全新的记忆外部化机制,在推理时用极低的查询成本精准召回前缀产生的注意力状态。业界对长上下文推理的效率需求迫切,尤其在高频更新前缀的场景(如多租户 RAG、Agent 指令集),训练式方案根本不可行。

行业类比
类似推荐系统中,用户画像实时变动时,若每次请求都全量重新计算特征交互,延时将难以承受,因此特征缓存与高效检索成为核心——本工作正是为 LLM 前缀构建了一个“注意力状态缓存”。

核心洞察

  • 将前缀-查询交互从运行时注意力计算转移到离线查找,打破了长上下文推理的线性复杂度瓶颈。与传统 KV 缓存压缩或前缀微调不同,该方法通过预计算注意力状态并聚类构建记忆库,推理时仅做检索与合并,完全绕过了对原始前缀 token 的注意力运算,在保持甚至提升精度的同时,实现了显著的延迟降低。
  • 仅用 20% 的记忆预算即超越全注意力 RAG 性能,揭示了记忆化注意力状态比原始 token 级注意力更适合长上下文信息传递。在 NBA 基准上的结果表明,聚类后的注意力状态能更浓缩地表征前缀语义,为 RAG 系统的存储与计算权衡提供了新视角,即通过外部记忆以极低存储代价换取高性能。

方法

方法概览:Attention-State Memory

输入:一个长文本前缀(如 in-context examples 或 RAG 检索文档)和当前的生成查询。
输出:利用前缀指导的后续 token 生成,但不重新计算整个前缀的注意力。

离线构建:将前缀转为外部记忆

  1. 收集注意力状态:使用一组代表性校准查询通过模型,收集前缀每个 token 对每个查询的注意力输出(attention states),作为原始记忆数据。
  2. 聚类压缩:对海量注意力状态向量进行 K-Means 聚类,得到少量代表性原型(prototypes),构成记忆库(Memory Bank)。这一步极大降低了存储开销。
  3. 索引构建:为每个原型建立向量索引,供在线快速查找。

在线推理:检索 + 合并

  • 检索:收到在线查询时,将其映射为与离线一致的 lookup key,用最近邻搜索从记忆库中取出最相似的若干预计算注意力状态。
  • 合并:将取出的注意力状态与当前查询自身的注意力计算结果融合(如加权求和),作为本层的注意力输出,直接送入后续层。
  • GQA 适配:对于分组查询注意力,确保同组内的多个查询头共享检索到的记忆,保持记忆利用的一致性。

关键差异

prompt compression(仍需在线注意压缩前缀)或 prefix-tuning(需要梯度训练且难以应对前缀更新)不同,Attention-State Memory 完全避开了在线前缀注意力计算,是一种零训练、支持前缀即插即用的外部记忆方案。

实验

实验设计概述

  • 任务与模型:在 LLaMA-3.1-8B 上评估 attention-state memory,覆盖 in-context learning (ICL)retrieval-augmented generation (RAG) 两类场景。
  • 基准与预算:ICL 实验采用 ManyICLBench,设定 1K–8K token 记忆预算;RAG 实验使用 NBA 基准,比较全注意力 RAG。
  • 构建流程:离线校准阶段通过收集、聚类前缀 token 的注意力状态构建记忆库;在线推理时检索并合并预计算状态,无需重新计算前缀注意力。

关键发现

  1. 准确率提升且延迟显著降低:在 ManyICLBench 上,方法在 1K–8K 预算内准确率均优于标准 ICL,且 8K 时注意力延迟降低 1.36 倍
  2. 极高内存效率:在 NBA 基准上,仅用全注意力 RAG 20% 的内存占用即达到更优的生成性能,证明记忆库的紧凑性。
  3. 免训练与可插拔:方法无需梯度更新,记忆库可随前缀变化快速重建,适合动态前缀场景。

与基线对比的深度解读

现有方案要么在推理时仍保留前缀注意力(KV 缓存压缩类),计算量随长度线性增长;要么通过训练将前缀内化为参数(微调类),难以适配频繁更新的前缀。本工作通过 记忆化注意力状态 突破了这一定式:

  • 相比于 前缀压缩方法(如 Gisting、AutoCompressors),完全消除了对前缀 token 的在线注意力计算,延迟与内存均与前缀长度解耦。
  • 相比于 训练内部化方法(如 Prefix-Tuning、Prompt Tuning),无需任何训练步骤,前缀更新只引发轻量的离线重校准,灵活性更高。
  • 与标准 ICL 相比,不仅缓解了“前缀影响随生成衰减”的问题,还带来了额外的速度收益,这对长上下文的高频推理场景尤为关键。

工程启示:该记忆机制为长前缀推理提供了新的效率-质量平衡点,尤其适用于 动态指令库、频繁更新的知识库 等场景。其内存占用和延迟优势可直接转化为更低的服务成本和更快的响应时间,适合部署在对延迟敏感的线上系统中。

行业影响

落地场景

注意力状态记忆(Attention-State Memory)直接适用于所有依赖长前缀的 LLM 推理场景。典型产品形态包括:

  • 对话式 AI:客服机器人需要加载长对话历史或产品手册作为前缀
  • 检索增强生成(RAG):知识库问答系统频繁使用相同的语料块作为前缀
  • 上下文学习(ICL) 应用:少样本示例集作为前缀被重复使用
  • 代码助手:项目级代码上下文的持续引用

商业价值

该方法在降本体验提升两条线上均有明显收益:

  • 降低推理成本:通过将前缀注意力计算转化为轻量级查找,减少 GPU 计算量和 KV 缓存开销,直接削减每次查询的基础设施成本。
  • 降低延迟:在 8K token 内存预算下,注意力延迟减少 1.36 倍,显著提升用户交互的即时性,对延迟敏感型产品(如实时推荐、聊天)至关重要。
  • 维持或提升准确率:在 ManyICLBench 上,相同内存预算下准确率优于标准 ICL,意味着无需在性能与效率间妥协。

与现有产品/工作流的接口

该方法为训练自由的外部化记忆,极易嵌入现有 LLM 推理堆栈:

  1. 离线校准:对常用前缀集合预先计算注意力状态,存入轻量级内存库
  2. 在线推理:查询时,从内存中检索对应前缀状态并进行融合,无需重新计算前缀注意力
  3. 集成方式:可作为推理引擎的一个插件,与 vLLM、TensorRT-LLM 等框架配合;或接入 LangChain、LlamaIndex 等编排层,实现前缀状态缓存管理

具体落地用例

  • 电商个性化购物助手:前缀包含用户画像、近期浏览商品、促销政策等长文本。每次会话动态更新前缀,利用注意力状态记忆实现低延迟问答,保障高峰期客服响应,并维持推荐准确率。
  • 企业级合同审查系统:前缀使用行业法规、历史判例、合同模板等固定知识。法务人员上传新合同时,系统快速检索相关注意力状态并生成风险提示,将审查延迟从数十秒降至秒级,降低法律风险。

局限

  • 离线校准阶段需预先收集并聚类前缀注意力状态,这导致方法对前缀的更新或动态变化缺乏灵活性。一旦前缀变更,就必须重新执行昂贵的校准流程,无法适应实时交互或频繁调整前缀的场景。此外,聚类数量与记忆库大小需人工设定,论文未深入分析参数敏感性,在实际部署中可能面临调参负担。
  • 实验仅在 LLaMA-3.1-8B 模型和 ManyICLBench、NBA 两个基准上完成,未涵盖更广泛的模型架构(如非 GQA 变体)或更复杂的生成任务。对不同长度前缀(如 32K 以上)的表现缺乏验证,泛化性存疑。与基于训练的内化方法对比,该方法可能无法充分捕获前缀中的深层语义,在需要紧密融合前缀知识的任务上可能性能不足。
  • 记忆库容量固定时,预计算的注意力状态是对原始信息的压缩与近似,不可避免地存在信息损失。尤其在极长前缀或高度复杂的语境下,这种有损存储可能导致关键注意力模式被遗漏,从而降低下游任务准确度。方法缺乏理论误差界分析,其启发式选择本质限制了可靠性的可解释边界。
论文Yasuyuki Okoshi2026-05-18原文

相关内容