LLM记忆:处理新信息的5种方法
摘要
一篇HuggingFace文章,总结了IIT Madras研究人员的一篇论文,将LLM记忆处理归为五种方法——存储更多、压缩、纠正、推理时学习和分布可塑性——并探讨当新信息与旧状态冲突时,这些方法各自表现如何。
在HuggingFace上偶然看到这篇关于LLM记忆的文章。它超越了传统的"记忆层"方法——那种方法仅局限于LLM当前的能力。文章还探讨了不同方法下LLM能保留多少历史信息,以及当新信息与旧状态冲突时会发生什么。这张表格将方法分为五类:
**存储更多**:保留显式历史,例如KV缓存和检索/RAG。新旧信息可以共存,由系统在读取/检索时决定哪一个适用。
**压缩**:将历史折叠进固定大小的状态,例如线性注意力、RetNet和Mamba。这节省了空间,但存储的关联会相互干扰,随着上下文增长会限制回忆能力。
**纠正**:通过门控或预测误差更新来控制变化,例如门控线性注意力、mLSTM和DeltaNet。通常比简单的"压缩"更高效,但在更大上下文下的扩展同样困难。
**推理时学习**:利用输入的证据更新可变参数,例如TTT和Titans。
**分布可塑性**:将变化分散到状态的各个交互部分,例如Dragon Hatchling(BDH)。记忆存在于高维空间中,具有稀疏性和分布性。
一个让我更容易理解的例子是:一个编程智能体学习到某个函数签名已发生变更。同时保留新旧两套定义意味着它保留了信息,但仍需判断哪套定义应该指导它的下一次调用。这使得读取时效率降低。
我怀疑这些类别是否处于同一比较层面。有些描述的是模型层面的机制,而另一些描述的是系统层面的设计。
好奇大家在这里怎么看这个问题,尤其是那些为自己的智能体构建过记忆系统的同行。当某些信息过时后,你们是立即更新记忆,还是保留历史并让模型在检索时自行判断?随着信息量的增长,哪种方法实际上效果更好?
表格与框架:R. Vimalkanth 和 T. Chudiwal,IIT Madras,《The Missing Piece in LLM Memory: Why Long Context and Retrieval Aren’t Enough for Belief Revision》,HF社区文章。
相似文章
@neural_avb: 构建LLM记忆系统存在两到三种完全不同的思想流派。当谈到…
讨论构建LLM记忆系统的不同思想流派,重点关注图记忆及其对人类创造力和归纳偏置的潜力。
大语言模型能泄露训练数据,但它们愿意吗?对LLM记忆的倾向性感知评估
PropMe是一个倾向性感知框架,用于评估LLM的记忆,区分强制复现能力和自然倾向,使用SimpleTrace在开放模型和数据集上进行确定性归因。
STALE:LLM智能体能否识别记忆何时失效?
本文识别了LLM智能体中的一个关键失效模式:当新证据与先前信念冲突时,它们无法更新个性化记忆。本文引入了STALE基准和一个三维探测框架,揭示了即使最佳模型也仅达到55.2%的准确率,并提出了CUPMem作为鲁棒记忆修正的原型。
内存
解释了为什么由于KV缓存随上下文长度和并发用户数扩展,LLM推理越来越受内存带宽限制,以及像vLLM和PagedAttention这样的系统如何提高内存利用率。
LLMs与记忆限制——请审阅我的想法
本文分析了LLM记忆限制,认为真正的个人AI需要单租户权重定制,这与当前多租户云经济模式相冲突,并指出开源权重模型可能是进步的关键来源。