LightMem: Lightweight and Efficient Memory-Augmented Generation

论文阅读:LightMem:轻量高效的记忆增强生成框架

论文标题:LightMem: Lightweight and Efficient Memory-Augmented Generation
作者:Jizhan Fang, Xinle Deng, Haoming Xu, Ziyan Jiang, Yuqi Tang, Ziwen Xu, Shumin Deng, Yunzhi Yao, Mengru Wang, Shuofei Qiao, Huajun Chen, Ningyu Zhang
发表位置:ICLR 2026
arXiv 编号:2510.18866v4
原文链接:https://arxiv.org/abs/2510.18866
代码链接:https://github.com/zjunlp/LightMem
主题:LLM Memory、Memory-Augmented Generation、长期记忆、记忆压缩、离线更新
核心问题:如何在长期交互场景中构建兼顾准确性与效率的 LLM 记忆系统。


1. 论文要解决什么问题?

大语言模型在长上下文和多轮交互中会遇到固定上下文窗口和 “lost in the middle” 等问题。为了让模型在长期交互中维持持续状态,已有工作通常引入外部记忆系统:将历史交互加工成 memory entries,存入长期记忆库;当新 query 到来时,再检索相关记忆并用于生成回答。

论文指出,现有记忆系统虽然能缓解无状态交互的问题,但在记忆构建和维护阶段仍存在明显开销。论文将主要挑战概括为三类:

挑战 论文中的描述 影响
原始交互信息冗余 用户输入和模型回复中存在大量与后续任务或记忆构建无关的信息 增加 token 消耗,也可能影响 in-context learning
记忆构建粒度不合适 现有方法常按 turn 或固定窗口处理,难以建模不同 turn 之间的语义联系 容易造成主题混杂,生成不准确或不完整的 memory item
长期记忆实时更新低效 记忆更新和遗忘常直接发生在推理或任务执行过程中 增加 test-time latency,也限制更深入的反思式处理

image

基于这些问题,LightMem 的目标不是单纯提升回答准确率,而是在准确性和效率之间取得平衡,尤其降低记忆构建与更新过程中的 token 使用、API 调用次数和运行时间。


2. 背景:LLM 记忆系统的一般流程

论文在 Preliminary 部分把主流 LLM 记忆系统分成两个大阶段。

第一阶段是 Memory Bank Construction。系统先按一定粒度处理原始数据,例如在对话场景中按 turn、session 或 topic 切分;然后将切分后的数据总结或抽取成 memory entries;最后把这些 entries 存入向量数据库、知识图谱等结构化后端,并通过更新策略处理冲突或过时信息。

第二阶段是 Retrieval and Usage。当新用户问题到来时,系统从 memory bank 中检索相关 entries,把这些记忆和 query 一起构造成最终 prompt,再调用模型生成回答。

LightMem 的主要设计集中在第一阶段,即如何更轻量地构建和维护 memory bank。论文实验中的效率指标也主要统计 memory bank construction 阶段的 summary 和 update 两类 LLM 调用,包括 input tokens、output tokens、total tokens、API calls 和 runtime。


3. LightMem 方法概述

LightMem 受 Atkinson–Shiffrin 人类记忆模型启发,将记忆系统组织为三个模块:

模块 名称 作用
Light1 Sensory Memory 通过轻量压缩过滤冗余信息,并按照主题组织内容
Light2 Short-Term Memory 将 topic-based groups 放入短期记忆缓冲区,并总结成结构化 memory entries
Light3 Long-Term Memory 使用 sleep-time update,将记忆维护与在线推理解耦

image

整体流程可以概括为:

原始交互数据
  ↓
Light1:预压缩 + 主题切分
  ↓
按主题组织的片段
  ↓
Light2:STM buffer 聚合 + LLM 总结
  ↓
memory entry
  ↓
Light3:在线 soft update + 离线 sleep-time update
  ↓
长期记忆库

这个流程的核心是:先过滤冗余,再按主题形成更合适的记忆单元,最后将复杂的长期记忆维护放到离线阶段执行。


4. 关键设计细节

4.1 Light1:感官记忆模块

Light1 包含两个子模块:Pre-Compressing Submodule 和 Topic Segmentation Submodule。

4.1.1 Pre-Compressing Submodule

论文认为,在长程交互场景中,原始输入中有大量冗余信息。因此 LightMem 先使用压缩模型过滤低价值 token。论文采用 LLMLingua-2 作为压缩模型,将压缩过程视为 token 级二分类任务:每个 token 被判断为 retain 或 discard。

论文给出的保留规则为:

x̂ = {xi ∈ x | P(retain xi | x; θ) > τ}
τ = Percentile({xj}, r)

其中,r 是 compression ratio,τ 是由保留分数百分位数确定的动态阈值。保留概率高于阈值的 token 会进入压缩后的序列。

论文还说明,LightMem 也可以使用更通用的生成式 LLM 作为预压缩模型,并通过 cross-entropy 思路保留信息独特性更高的 token。

4.1.2 Topic Segmentation Submodule

完成压缩后,LightMem 不直接按固定窗口切块,而是使用 topic segmentation 形成主题片段。论文使用两类边界信号:

边界信号 含义
attention-based boundaries 根据压缩模型中的注意力模式识别潜在主题转移点
similarity-based boundaries 根据相邻 turn 的语义相似度识别主题变化

最终主题边界取两类边界的交集。论文希望通过这种方式得到更自然的 topic-based segments,为后续更快、更准确的 memory construction 提供输入。

4.2 Light2:topic-aware 短期记忆模块

Light2 接收 Light1 输出的 topic segments,并形成如下结构:

{topic, message turns}

其中 message turns 包含用户消息和模型回复。随后,这些结构会先放入 STM buffer。当 buffer 中 token 数达到预设阈值 th 时,系统调用 LLM fsum 为每个结构生成简洁总结。

论文中给出的长期记忆 entry 结构为:

Entry_i = { topic, e_i := embedding(sum_i), user_i, model_i }

与单 turn 粒度相比,topic-constrained input granularity 的目标是在减少 API 调用次数的同时,保持总结准确性和系统性能稳定;与直接输入多个 session 相比,它能减少过多主题混杂带来的不准确 memory entries。

4.3 Light3:带 sleep-time update 的长期记忆模块

Light3 关注长期记忆更新。论文指出,现有 memory framework 中的在线更新常会强制顺序执行,导致总延迟随每次更新累积。LightMem 因此将更新过程与在线推理解耦。

在 test time,当新的 memory entries 到来时,LightMem 直接将它们插入 LTM,称为 soft update。这样,实时更新被转换为直接插入,从而降低交互延迟。

在所有 entries 插入后,或者当更新触发器到来时,LightMem 为 LTM 中的每个 entry 计算 update queue:

Q(e_i) = Topk{(e_j, sim(v_i, v_j)) | t_j ≥ t_i, j ≠ i}:n

其中:

符号 含义
e_i 第 i 个 memory entry
v_i entry 的 embedding
t_i entry 的 timestamp
sim(·, ·) 相似度函数
Topk:n 选择前 n 个最相似候选

论文特别加入时间约束:只有时间戳更晚的 entries 才能更新更早的 entries。这与现实中的时间动态一致。由于 update queue 的计算只涉及相似度检索,论文认为它快速、轻量,并且可以离线并行执行。

在 offline parallel update 中,每个 memory entry 维护一个 global update queue,每个 queue 对应一个不同的 fupdate 操作。由于不同 queue 的更新目标独立,更新可以并行执行,从而降低总更新延迟。


5. 复杂度分析

论文在复杂度分析中对比了传统记忆系统和 LightMem 的 summary tokens、update tokens、API calls 与 runtime。

【表格位置:Table 1,Complexity comparison between LightMem and other memory systems。建议放在这里用于展示 LightMem 在理论复杂度上的效率来源。】

传统记忆系统中,每个 turn 通常触发一次 summarization call,因此 summary token 和 API calls 会随 turn 数 N 增长。每次 summarization 生成的 memory entries 还可能触发更新,产生额外 update-token cost。

LightMem 中,每个 turn 先经过迭代预压缩,保留约 r^xT 个 token,然后进入容量为 th 的 STM buffer。只有 buffer 达到阈值时才触发 summarization。因此 summarization call 数量与 N r^x T / th 相关。

论文认为,LightMem 的效率收益来自三个方面:

  1. 预压缩减少进入后续记忆构建流程的 token 数。
  2. STM buffer 降低 summarization 触发频率。
  3. 语义相似度与时间戳过滤减少 update 阶段的触发比例。

6. 实验设置

论文在实验中采用 Incremental Dialogue Turn Feeding 设置,即整个对话历史按 turn 级别逐轮输入和处理。这对应实际场景中用户与模型交互逐轮形成的过程。

实验中,LightMem 使用 LLMLingua-2 作为 pre-compressor,topic segmentation 的 attention scores 也来自 LLMLingua-2。sensory memory buffer 的大小设为 512 tokens。

主要实验数据集包括:

数据集 说明
LongMemEval-S 长期交互记忆评测,论文采用 S 版本,每个问题约 115k tokens;问题类型包括 information extraction、multi-session reasoning、knowledge updates、temporal reasoning、abstention 等
LoCoMo 长对话评测数据集,用于评估长期对话记忆能力

比较方法包括 FullText、NaiveRAG、LangMem、A-MEM、MemoryOS、Mem0 等。论文使用 GPT-4o-mini、Qwen3-30B-A3B-Instruct-2507,并在 LongMemEval-S 中报告 GLM-4.6 的结果。

评价指标包括:

指标类型 指标
效果 ACC
效率 Summary Tokens、Update Tokens、Total Tokens、API Calls、Runtime

7. 主要实验结果

7.1 LongMemEval-S

论文在 Table 2 中报告了 LongMemEval-S 上的效果和效率。表中每组 rth 对应两行:第一行是 online soft update,第二行是 offline update;OP-update 表示 LightMem 的 offline parallel update 过程。

【表格位置:Table 2,Effectiveness and efficiency comparison on LongMemEval-S。建议放在这里用于展示 LightMem 与 FullText、NaiveRAG、LangMem、A-MEM、MemoryOS、Mem0 的主结果对比。】

以 GPT-4o-mini 为例,A-MEM 的 ACC 为 62.60,Total Tokens 为 1605.81k,Calls 为 986.55,Runtime 为 5132.06s。LightMem 在 r=0.7, th=512 的 online soft update 设置下,ACC 为 68.64,Total Tokens 为 28.25k,Calls 为 18.43,Runtime 为 283.76s。

对于 Qwen3-30B-A3B-Instruct-2507,A-MEM 的 ACC 为 65.20,Total Tokens 为 1864.93k,Calls 为 989.30,Runtime 为 5367.51s。LightMem 在 r=0.6, th=768 的 online soft update 设置下,ACC 为 70.20,Total Tokens 为 32.40k,Calls 为 19.97,Runtime 为 417.13s。

论文总结称,在 LongMemEval 上,LightMem 相比最强基线 A-MEM,在 GPT backbone 下 ACC 提升 2.09%–6.40%,在 Qwen backbone 下最高提升 7.67%。在效率方面,LightMem 对 GPT 的 total token usage 降低 10×–38×,API calls 降低 3.6×–30×;对 Qwen 的 total tokens 降低 6.9×–21.8×,API calls 降低 3.3×–17.1×。

如果只考虑 online test-time cost,论文报告的效率优势更大:GPT 下 total token consumption 降低 31.4×–105.9×,API calls 降低 17.1×–159.4×;Qwen 下 total tokens 降低 30.1×–117.1×,API calls 降低 24.8×–309.9×。

7.2 LoCoMo

论文在 Table 3 中报告了 LoCoMo 上的结果。需要注意的是,Table 3 中 LightMem 的 offline update 前后结果被合并成单行,表中 ACC 对应的是 offline update 后的性能。

【表格位置:Table 3,Effectiveness and efficiency comparison on LoCoMo。建议放在这里用于展示 LoCoMo 数据集上的主结果,并注意表中 LightMem 的 ACC 是 offline update 后性能。】

以 GPT-4o-mini 为例,A-MEM 的 ACC 为 64.16,Total Tokens 为 1149.43k,Calls 为 1175.47,Runtime 为 6060.73s。LightMem(0.8,768) 的 ACC 为 72.99,Total Tokens 为 85.19k,Calls 为 29.83,Runtime 为 815.32s。

以 Qwen3-30B-A3B-Instruct-2507 为例,A-MEM 的 ACC 为 56.10,Total Tokens 为 1626.80k,Calls 为 1175.40,Runtime 为 5543.90s。LightMem(0.8,1024) 的 ACC 为 72.60,Total Tokens 为 108.45k,Calls 为 32.00,Runtime 为 1079.40s。

论文总结称,LightMem 在 LoCoMo 上同样展现出效果和效率优势。GPT backbone 下 ACC 提升 6.10%–18.12%,total token efficiency 最高提升 20.92×,API calls 降低 13.29×–39.78×,runtime 加速 2.63×–8.21×。Qwen backbone 下 ACC 提升 4.41%–29.29%,total token consumption 降低 3.33×–18.02×,API calls 降低 12.96×–55.48×,runtime 加速 1.18×–5.57×。


8. 关键模块分析

8.1 Pre-Compressing Submodule 分析

论文随机采样 LongMemEval 的 1/5,在不同压缩率下压缩上下文,然后直接让 LLM 做 in-context QA。实验显示,当 compression ratio r 在 50%–80% 时,压缩内容和未压缩内容的表现相近,说明 LLM 能够理解压缩后的内容,也支持 LightMem 使用预压缩作为前置步骤。

论文还报告,pre-compression submodule 的 GPU memory 消耗低于 2GB,对整体 runtime 的影响可以忽略。

关于 r 对 LightMem 的影响,论文指出最优 r 与 STM buffer threshold th 有关:当 th ∈ {0, 256} 时,r=0.6 取得最高 ACC;当 th ∈ {512, 1024} 时,较高保留率 r=0.7 表现最好。平均来看,最优 r 为 0.6,体现出压缩率和 STM buffer 中信息量之间的折中。

8.2 Topic Segmentation Submodule 分析

论文将混合 topic segmentation 方法与 attention-only 和 similarity-only 两种单一方法对比。由于 LongMemEval 的构建过程表明不同 sessions 自然可以作为 topic boundaries,论文将其作为 ground-truth labels,并以正确识别的 segmentation points 数量除以 label 总数来计算 accuracy。

结果显示,LightMem 的 attention-similarity 方法在所有压缩率下都优于单一方法,absolute accuracy 超过 80%。

论文还做了 topic segmentation 的消融实验。移除该子模块后,效率略有提升,但准确率显著下降:GPT 下下降 6.3%,Qwen 下下降 5.4%。论文据此认为,该子模块帮助模型感知输入中的语义单元,有利于后续 memory unit 生成。

image

8.3 STM buffer threshold 分析

论文在 Figure 4 中分析了 STM buffer threshold th 对性能和效率的影响。结果显示,随着 th 增大,效率指标有明显改善;但 QA accuracy 的变化并非单调。最优 accuracy threshold 依赖模型和 compression ratio r

论文将这解释为一个 trade-off:较大的 STM threshold 通常更有利于降低计算成本,但为了最大化任务准确率,具体阈值仍需要调节。

image

8.4 Sleep-Time Update 分析

论文在 5.6 中讨论了 soft update 的作用。作者指出,LLM 在复杂实时更新中可能不可靠:当两条信息相关但并不矛盾时,LLM 可能错误地将其理解为冲突,并删除旧 memory entry,从而造成不可逆的信息损失。相比之下,LightMem 在 test time 只通过 soft updates 做增量添加,因此能够保留全局信息和完整语义。

论文给出的 case study 是:

History1: {'Monday, 2 PM': User is planning a trip to Tokyo.}
History2: {'Monday, 4 PM': User asks about trains to Kyoto.}

Hard Update:
-> "User plans Kyoto trip"
Tokyo context lost

LightMem Soft Update:
-> "Tokyo trip + Kyoto inquiry"

这个案例用于说明:hard update 可能把“东京旅行”和“京都火车咨询”误处理为覆盖关系,而 LightMem 的 soft update 会追加信息,从而保留东京上下文和京都咨询两部分内容。


9. 按问题类别的结果

论文附录 Table 7 报告了 LongMemEval-S 上不同问题类型的 category-wise accuracy,包括 Temporal、Multi-Session、Knowledge-Update、Single-User、Single-Assistant、Single-Preference 等类别。

【表格位置:Table 7,Category-wise Accuracy。建议放在这里用于展示不同问题类型下各方法的准确率差异。】

论文总结说,retrieval-augmented 和 memory-centric 方法通常在需要 information integration 或 belief revision 的类别上优于 Full Text,例如 Temporal、Multi-Session 和 Knowledge-Update。对于 Single-User 和 Single-Assistant 等类别,轻量检索方法如 Naive RAG 也可能具有竞争力;Single-Preference 类别因为样本较少,结果方差更高。


10. 需要注意的实验范围

论文没有单独设置 “Limitations” 章节,但实验设置中明确说明,效率统计主要集中在 memory bank construction stage。具体来说,论文统计 Summary 和 Update 两个子过程中的 LLM 调用成本,包括 token consumption、API calls 和 runtime。Retrieval and Usage 阶段不是本文效率统计的重点,论文说明该阶段与 memory system 设计大体正交,并在比较中保持相关设置一致。

此外,Table 2 中 LongMemEval-S 对 LightMem 的每组 rth 同时报告 online soft update 与 OP-update;Table 3 中 LoCoMo 则将 offline update 前后结果合并为单行,并注明 ACC 是 offline update 后性能。因此,阅读结果时需要区分两个数据集的呈现方式。


11. 总结

LightMem 面向长期交互中的 LLM 记忆系统,提出了一个三阶段轻量化框架:

  1. Light1 使用预压缩过滤冗余 token,并通过 attention 与 semantic similarity 结合的方式进行主题切分。
  2. Light2 将 topic-based groups 放入 STM buffer,在达到阈值后调用 LLM 生成结构化 memory entries。
  3. Light3 在 test time 采用 soft update 直接插入 LTM,在离线 sleep-time 阶段通过 update queue 并行执行长期记忆维护。

实验结果显示,LightMem 在 LongMemEval-S 和 LoCoMo 上相较多个 memory baselines 取得了较好的 ACC,同时显著减少 total tokens、API calls 和 runtime。论文的主要价值在于把长期记忆构建过程拆解为压缩、主题聚合和离线更新三个环节,并围绕 memory bank construction 阶段系统优化效率。

posted @ 2026-05-24 14:07  YourF4u1t  阅读(88)  评论(0)    收藏  举报