无限上下文,多级内存管理!突破ChatGPT等大语言模型上下文限制
目前,ChatGPT、Llama 2、文心一言等主流大语言模型,因技术架构的问题上下文输入一直受到限制,即便是Claude 最多只支持10万token输入,这对于解读上百页报告、书籍、论文来说非常不方便。
为了解决这一难题,加州伯克利分校受操作系统的内存管理机制启发,提出了MemGPT。该模型的最大创新是模仿操作系统的多级内存管理机制,通过数据在不同的内存层级之间的传输,来打破大语言模型固定上下文的限定。
开源地址:https://github.com/cpacker/MemGPT
论文:https://arxiv.org/abs/2310.08560
MemGPT主要包含主上下文和外部上下文两大内存类型。主上下文相当于操作系统的主内存,是大语言模型可以直接访问的固定长度上下文窗口。
外部上下文则相当于磁盘存储,保存了主上下文之外的额外信息。MemGPT还提供了丰富的功能调用,允许大语言模型主动管理自己的内存而无需人工干预。
这些功能调用可以将信息在主上下文和外部上下文之间进行导入导出。大语言模型可以根据当前任务目标,自主决定何时移动上下文信息以更好利用有限的主上下文资源。
研究人员在多个测试环境中进行了评估,结果表明,MemGPT可以有效处理远超大语言模型上下文长度限制的文本内容,例如,MemGPT可以处理长度远超过GPT-3.5和GPT-4上下文限制的文档。
当取回的文档数增加时,固定上下文模型的性能受限于取回器的质量,而MemGPT可以通过调用分页机制取回更多文档,其问答准确率也获得提升。
在新提出的多步嵌套关键词提取任务中,MemGPT通过多次调用外部上下文,成功完成了需要跨文档进行多跳查询才能得出解的任务,而GPT-3.5和GPT-4的准确率在嵌套层数增加时急剧下降到0。
主上下文
MemGPT中的主上下文相当于操作系统中的“主内存”,是大语言模型可以直接访问的固定长度上下文窗口。研究人员将主上下文分为三个部分:
系统指令:这部分保存了MemGPT的基本控制逻辑,例如,函数调用模式等,长度固定且只读。
对话上下文:这是一个先入先出的队列,保存了最近的用户交互历史,只读且会在长度超限时裁剪前段对话。
工作上下文:这是一个读写临时存储,大语言模型可以通过功能调用自主向其中写入信息。
需要注意的是,这三个部分合起来,不能超过底层大语言模型的最大上下文长度。
外部上下文
外部上下文保存了主上下文之外的额外信息,相当于操作系统中的“磁盘存储”。外部上下文需要明确的函数调用才能将信息导入主上下文供模型访问,包括以下两种类型:
回溯存储:保存完整的历史事件信息,相当于对话上下文的无压缩版本。
归档存储:通用的读写数据库,可以作为主上下文的溢出空间保存额外信息。在对话应用中,归档存储可以保存有关用户或系统角色的事实、喜好等额外信息。
回溯存储允许检索特定时间段的历史交互。在文档分析中,归档存储可以支持更大的文档集搜索。
自主编辑与检索
MemGPT通过大语言模型产生的函数调用在内存层级之间主动移动数据,实现自主的编辑与检索。例如,可以自主决定何时在上下文之间移动信息,以适应当前任务目标,无需人工参与。
创新点在于系统指令中详细描述了内存体系结构和功能调用方法,指导大语言模型学习使用这些工具管理内存。
大语言模型可以根据反馈调整调用策略。同时,当主上下文空间不足时,系统会提醒大语言模型及时保存重要信息,引导其管理内存。
链式调用
在MemGPT中,各种外部事件会触发大语言模型进行推理,这包括用户消息、系统内存警告、用户交互事件等。
功能调用可以请求获取控制权,从而实现链式调用。例如,检索结果分页浏览时,连续调用可以将不同页面的数据收集到主上下文中。
而Yield调用则会暂停大语言模型,直到下一个外部事件触发才再启动推理。这种基于事件的控制流协调了内存管理、模型推理和用户交互之间的顺畅沟通。
解析器与优化
MemGPT使用解析器验证大语言模型生成的函数调用,检查参数等是否正确。调用后会将结果反馈给模型,这样可以学习调整策略,减少错误。
此外,MemGPT的系统指令可以进行实时更新,以便在不同任务上给模型加入定制化的内存管理指导,实现持续优化。
本文素材来源加州伯克利分校MemGPT论文,如有侵权请联系删除
相关文章:

无限上下文,多级内存管理!突破ChatGPT等大语言模型上下文限制
目前,ChatGPT、Llama 2、文心一言等主流大语言模型,因技术架构的问题上下文输入一直受到限制,即便是Claude 最多只支持10万token输入,这对于解读上百页报告、书籍、论文来说非常不方便。 为了解决这一难题,加州伯克利…...
学习剑指jvm
一直弱,jvm 1、主要解决运行状态的线上系统突然卡死,造成系统无法访问,甚至直接内存溢出异常(Out of Memory,OOM) 2、希望解决线上JVM垃圾回收的相关问题,但无从下手。 3、新项目上线,对设置…...

java网络通信
浏览器中输入:“www.woaijava.com”之后都发生了什么? 请详细阐述 由域名→IP地址 寻找IP地址的过程依次经过了浏览器缓存、系统缓存、hosts文件、路由器缓存、 递归搜索根域名服务器。 建立TCP/IP连接(三次握手具体过程) 由浏览…...
Three.js之加载外部三维模型
参考资料 建模软件绘制3D场景…加载.gltf文件(模型加载全流程) 知识点 注:基于Three.jsv0.155.0 三维建模软件gltf格式加载.gltf文件 三维建模软件 D美术常用的三维建模软件,比如Blender、3dmax、C4D、maya等等 Blender(轻量开源)3dmaxC4Dmaya 特…...
【机器学习】正规方程与梯度下降API及案例预测
正规方程与梯度下降API及案例预测 文章目录 正规方程与梯度下降API及案例预测1. 正规方程与梯度下降正规方程(Normal Equation)梯度下降(Gradient Descent) 2. API3. 波士顿房价预测 1. 正规方程与梯度下降 回归模型是机器学习中…...

【SOC基础】单片机学习案例汇总 Part2:蜂鸣器、数码管显示
📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…...

顶层模块【FPGA】
1顶层模块: 不能像C语言的h文件那样,把io的定义放在其他文件。 在Verilog中,顶层模块是整个设计的最高层次,它包含了所有其他模块和子模块。 顶层模块定义了整个设计的输入和输出端口,以及各个子模块之间的连接方式。…...
IT行业就业分析
1. IT技术发展背景及历程介绍 2. IT行业的就业方向有哪些? IT技术发展背景及历程介绍: IT技术的发展背景和历程可以追溯到上世纪40年代,以下是IT技术的主要发展阶段: 1.计算机的发展:二战期间,计算机作…...
读取用户剪贴板内容
读取用户剪贴板内容 在Web开发中,要读取用户剪贴板的内容,可以使用Clipboard API。这个API提供了一组方法和事件,用于访问和操作用户的剪贴板数据。 HTML <body><button onclick"readClipboard()">读取剪切板内容&l…...

“深入理解Nginx的负载均衡与动静分离“
目录 引言一、Nginx简介1. Nginx的基本概念2. Nginx的特点3. Nginx的安装配置 二、Nginx搭载负载均衡三、前端项目打包四、Nginx部署前后端分离项目,同时实现负载均衡和动静分离总结 引言 在现代互联网应用中,高性能和可扩展性是至关重要的。Nginx作为一…...

JVM 内存和 GC 算法
文章目录 内存布局直接内存执行引擎解释器JIT 即时编译器JIT 分类AOT 静态提前编译器(Ahead Of Time Compiler) GC什么是垃圾为什么要GC垃圾回收行为Java GC 主要关注的区域对象的 finalization 机制GC 相关算法引用计数算法(Reference Count…...

memtest86 prosite v10.6
passmark官方的memtest86 v10开始支持颗粒级别的坏内存芯片定位了,对于特定的若干种CPU和芯片组的组合,支持这项功能。 当然支持颗粒定位的site版本售价4800美金,是比较贵的。所以网络上出现了破解版的,人才真是。但是鼓励大家支…...

Springboot JSP项目如何以war、jar方式运行
文章目录 一,序二,样例代码1,代码结构2,完整代码备份 三,准备工作1. pom.xml 引入组件2. application.yml 指定jsp配置 四,war方式运行1. 修改pom.xml文件2. mvn执行打包 五,jar方式运行1. 修改…...

系统架构设计师(第二版)学习笔记----层次式架构设计理论与实践
【原文链接】系统架构设计师(第二版)学习笔记----层次式架构设计理论与实践 文章目录 一、层次式体系结构概述1.1 软件体系结构的作用1.2 常用的层次式架构图1.3 层次式体系可能存在的问题点 二、表现层框架设计2.1 MVC模式2.1.1 MVC三层模式2.1.2 MVC设…...

Python之字符串详解
目录 一、字符串1、转义字符与原始字符串2、使用%运算符进行格式化 一、字符串 在Python中,字符串属于不可变、有序序列,使用单引号、双引号、三单引号或三双引号作为定界符,并且不同的定界符之间可以互相嵌套。 ‘abc’、‘123’、‘中国’…...

《视觉SLAM十四讲》-- 概述与预备知识
文章目录 01 概述与预备知识1.1 SLAM 是什么1.1.1 基本概念1.1.2 视觉 SLAM 框架1.1.3 SLAM 问题的数学表述 1.2 实践:编程基基础1.3 课后习题 01 概述与预备知识 1.1 SLAM 是什么 1.1.1 基本概念 (1)SLAM 是 Simultaneous Localization a…...

Java8 Stream API全面解析——高效流式编程的秘诀
文章目录 什么是 Stream Api?快速入门流的操作创建流中间操作filter 过滤map 数据转换flatMap 合并流distinct 去重sorted 排序limit 限流skip 跳过peek 操作 终结操作forEach 遍历forEachOrdered 有序遍历count 统计数量min 最小值max 最大值reduce 聚合collect 收集anyMatch…...

分享一下微信小程序里怎么开店
如何在微信小程序中成功开店:从选品到运营的全方位指南 一、引言 随着微信小程序的日益普及,越来越多的人开始尝试在微信小程序中开设自己的店铺。微信小程序具有便捷、易用、即用即走等特点,使得开店门槛大大降低。本文将详细介绍如何在微…...

uniapp小程序刮刮乐抽奖
使用canvas画布画出刮刮乐要被刮的图片,使用移动清除画布。 当前代码封装为刮刮乐的组件; vue代码: <template><view class"page" v-if"merchantInfo.cdn_static"><image class"bg" :src&q…...

Qt 窗口无法移出屏幕
1 使用场景 设计一个缩进/展开widget的效果,抽屉效果。 看到实现的方法有定时器里move窗口,或是使用QPropertyAnimation。 setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint |Qt::X11BypassWindowManagerHint); 记得在移…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...

用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...

vulnyx Blogger writeup
信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...
多模态图像修复系统:基于深度学习的图片修复实现
多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...

第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10+pip3.10)
第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10pip3.10) 一:前言二:安装编译依赖二:安装Python3.10三:安装PIP3.10四:安装Paddlepaddle基础框架4.1…...

【免费数据】2005-2019年我国272个地级市的旅游竞争力多指标数据(33个指标)
旅游业是一个城市的重要产业构成。旅游竞争力是一个城市竞争力的重要构成部分。一个城市的旅游竞争力反映了其在旅游市场竞争中的比较优势。 今日我们分享的是2005-2019年我国272个地级市的旅游竞争力多指标数据!该数据集源自2025年4月发表于《地理学报》的论文成果…...

聚六亚甲基单胍盐酸盐市场深度解析:现状、挑战与机遇
根据 QYResearch 发布的市场报告显示,全球市场规模预计在 2031 年达到 9848 万美元,2025 - 2031 年期间年复合增长率(CAGR)为 3.7%。在竞争格局上,市场集中度较高,2024 年全球前十强厂商占据约 74.0% 的市场…...