目录
- MemGPT: Towards LLMs as Operating Systems
- TL;DR
- Method
- Main context
- Experiment
- 总结与思考
- 相关链接
MemGPT: Towards LLMs as Operating Systems
link
时间:23.10
单位:UC Berkeley
相关领域:Agent
作者相关工作:Charles Packer
被引次数:238
项目主页:
https://research.memgpt.ai/
TL;DR
大语言模型上下文长度限制了用户多轮对话以及文档分析的需求,本文参考传统计算机操作系统中多级内存管理机制,提出MemGPT算法,能够智能地管理LLM存储的多个层级。实验证明该方法能够支持long-term交互。
Method
Main context
- system instructions: 保存MemGPT control flow信息,例如,如何使用不同层级内存,使用MemGPT functions的指标 等。
- working context: unstructured text,用来存储一些关键信息,例如,用户画像,用户偏好 等。
- FIFO Queue: 存储历史滚动信息,第一个Key是历史所有信息的概括。
FIFO Queue:
- 消息生命周期管理
- 接收与写入
- 持久化存储: 所有会话信息将永久性地写入外部的“回忆存储”(Recall Storage)。
- 检索与重载:当LLM通过函数调用(如搜索)从回忆存储中检索历史消息时,这些消息会被重新载入FIFO队列中。
- 上下文溢出控制
- 警告:队列填充达到70%时,警告MemGPT及时将重要工作归档。
- 驱逐:队列填充达到70%时,执行强制性的队列刷新(Flushing) 操作,从队列头部(最旧的消息)开始驱逐一定数量的消息。
- 递归摘要生成:从现有的递归摘要(存储在FIFO队列的第一个索引中)和本次被驱逐的消息,生成一个新的、更精简的递归摘要。
Q:图3中的Archival Storage与Recall Storage有什么区别?
- Archival Storage 像一个主动搜集的研究资料库,用于存储LLM主动选择的、与任务相关的原始信息片段。
- Recall Storage 像一个被动记录的完整对话日志,用于自动记录所有发生过的交互的完整历史。
Experiment
评估的考查维度:
- Consistency: 多轮对话前后一致性;
- Engagement: Agent长期应当给用户提供个性化的回答;
测试集:Multi-Session Chat (MSC) dataset
总结与思考
参考操作系统内存管理设计,但整体框架依然偏策略,不知道后续有没有 基于RL更新Agent中LLM 或者 端到端Agent的方法。
相关链接
cool paper链接:https://papers.cool/
https://zhuanlan.zhihu.com/p/711289611