本文是LLM系列文章,针对《MemGPT: Towards LLMs as Operating Systems》的翻译。
MemGPT:将LLM作为操作系统
- 摘要
- [1 引言](#1 引言)
- [2 MEMORY-GPT (MEMGPT)](#2 MEMORY-GPT (MEMGPT))
- [3 实验](#3 实验)
- [4 相关工作](#4 相关工作)
- [5 结论要点和未来方向](#5 结论要点和未来方向)
-
- [5.1 局限性](#5.1 局限性)
摘要
大型语言模型(LLM)已经彻底改变了人工智能,但受到有限上下文窗口的限制,阻碍了它们在扩展对话和文档分析等任务中的实用性。为了能够在有限的上下文窗口之外使用上下文,我们提出了虚拟上下文管理,这是一种从传统操作系统中的分层内存系统中汲取灵感的技术,通过在快内存和慢内存之间的数据移动来提供大内存资源的外观。使用此技术,我们介绍了MemGPT(Memory GPT),这是一个智能管理不同内存层的系统,以便在LLM的有限上下文窗口内有效地提供扩展上下文,并利用中断来管理其自身和用户之间的控制流。我们在两个领域评估了我们受操作系统启发的设计,在这两个领域,现代LLM的有限上下文窗口严重阻碍了它们的性能:文档分析,其中MemGPT能够分析远远超过底层LLM上下文窗口的大型文档,以及多会话聊天,在多会话聊天中,MemGPT可以创建会话代理,并通过与用户的长期互动而动态发展。我们在https://memgpt.ai上发布我们的实验MemGPT代码和数据。
1 引言
2 MEMORY-GPT (MEMGPT)
3 实验
4 相关工作
5 结论要点和未来方向
在本文中,我们介绍了MemGPT,这是一种受操作系统启发的新型LLM系统,用于管理大型语言模型的有限上下文窗口。通过设计类似于传统操作系统的内存层次结构和控制流,MemGPT为LLM提供了更大上下文资源的假象。这种受操作系统启发的方法在两个领域进行了评估,其中现有的LLM性能受到有限上下文长度的约束:文档分析和会话代理。对于文档分析,MemGPT可以通过有效地在内存中和内存外分页相关上下文来处理远远超出当前LLM上下文限制的冗长文本。对于会话代理,MemGPT能够在扩展对话中保持长期记忆、一致性和可进化性。总的来说,MemGPT证明,即使受到固定上下文长度的限制,分层内存管理和中断等操作系统技术也可以释放LLM的潜力。这项工作为未来的探索开辟了许多途径,包括将MemGPT应用于其他具有海量或无限上下文的领域,集成数据库或缓存等不同的内存层技术,以及进一步改进控制流和内存管理策略。通过将操作系统架构的概念桥接到人工智能系统中,MemGPT代表了一个很有前途的新方向,可以在LLM的基本极限内最大限度地提高其能力。
5.1 局限性
我们的参考实现利用了专门针对函数调用进行微调的OpenAI GPT-4模型。虽然OpenAI模型的内部工作方式是专有的,没有公开披露,但OpenAI的API文档指出,当使用函数微调模型时,提供的函数模式会转换为系统消息,该模型经过训练,可以通过微调过程进行解释。虽然已经针对函数调用进行了微调的GPT模型仍然需要解析器来验证输出是否为有效的函数语法,但我们观察到,GPT-4函数微调模型很少在MemGPT函数集上出现语法或语义错误,而GPT-3.5微调模型始终生成不正确的函数调用,或试图不正确地使用函数。同样,我们还发现,最流行的Llama 2 70B模型变体(即使是那些针对函数调用进行微调的变体)也会持续生成不正确的函数调用,甚至在提供的模式之外产生幻觉。目前,只有使用专门的GPT-4模型才能实现合理的性能,然而,我们预计,未来的开源模型最终会通过微调(例如,在更大的函数调用数据集或更专业的函数调用集上)、提示工程或提高基础模型的质量,提高MemGPT风格的操作。尽管如此,目前对专有闭源代码模型性能的依赖仍然是这项工作的一个重大限制。