将数据库与LLMs结合,增强模型的长期记忆能力--ChatDB

news2024/10/5 16:22:36

ChatDB: AUGMENTING LLMS WITH DATABASES AS THEIR SYMBOLIC MEMORY

返回论文和资料目录

论文地址
项目地址

1.导读

清华团队针对大模型LLMs的长期记忆能力进行的改进。改进思路是将LLMs与数据库结合,将信息以符号化的形式存储在数据库中。同时,使用大模型控制数据库的读写。每次与用户交互时,大模型都将结合数据库的信息,得到更优质和基于长期信息的回答。

2.摘要和引言

LLMs目前存在一个很大问题是缺乏长期记忆。

作者将目前解决这个问题的相关工作分为两类:

  1. 基于指令的记忆:将之前的历史文本和相应文本的 vector embedding 保存下来,需要的时候再利用 vector embedding 间的相似性找到相关的历史信息,然后放到 prompt 中,作为大语言模型的输入,相关的工作有 Auto-GPT 和 Generative Agents 等等。
  2. 基于矩阵的记忆:利用额外的 memory tokens 或者 memory matrices 来记录历史信息,相关的工作有 Recurrent Memory Transformer 等等。

作者认为上述工作的问题在于:

  1. 历史信息(记忆)的存储不是结构化的
  2. 这些信息不是符号化存储的

作者提出如下图所示的ChatDB。可以看到ChatDB主要由LLM控制器模块和记忆模块两部分组成。LLM控制器模块可以是目前主流的任何一个LLM模型,如ChatGPT、LLaMA等。它控制着记忆模块的读写。记忆模块可以是符号性的,也可以是非符号的,或者两者的组合,负责存储历史信息,并在需要时提供信息,以帮助LLM响应用户输入。但在这个工作中,作者专注于使用数据库作为符号记忆的存储介质。这个数据库的SQL语句将由LLM生成。

在这里插入图片描述
同时,本文提出记忆链CoM的方式来解决问题。它的思路是将一个用户输入的问题转化为多个步骤,每个步骤可能会使用多次SQL语句来帮助模型提升性能。这个CoM过程在ChatDB框架中例子如下图所示。

在这里插入图片描述

作者觉得他的贡献如下。

  1. 将数据库作为外部符号内存来增强LLM性能,允许历史数据的结构化存储,并使用SQL语句实现符号和复杂的数据操作。
  2. 记忆链方法通过将用户输入转换为多步骤的中间记忆操作,实现了有效的记忆操作,这提高了ChatDB的性能,使其能够处理复杂的、多表的数据库交互,提高了准确性和稳定性。
  3. 实验证明,使用符号内存增强LLM可以提高多跳推理能力,并防止错误积累,从而使ChatDB在合成数据集上的性能显著优于ChatGPT。

3.相关工作

作者这里写的还是很清晰的。

未完待续。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/692942.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

极致呈现系列之:Echarts日历坐标系的时光流转

目录 什么是日历坐标系Echarts日历坐标系的特性Echarts日历坐标系的应用场景Echarts日历坐标系中常用的配置项Vue3中使用Echats日历坐标系实现健康可视化图表日历饼图 什么是日历坐标系 日历坐标系是一种用于展示时间数据的坐标系,将数据按照日期呈现在一个日历形式…

「Java核心技术大会 2023」6月重磅启动,邀你共同探讨Java生态 ~文末福利

Java核心技术大会 2023 大会简介直播预约:视频号“IT阅读排行榜”PART 1 特邀启动专场PART 2 Java语言、平台和趋势专场PART 3 Java应用开发专场PART 4 Java应用与系统架构专场PART 5 Java应用性能优化专场PART 6 大数据与数据库专场PART 7 云原生与Serverless专场P…

STM32学习 6月27日

51单片机中有时钟和时钟树的概念,外设只有GPIO、定时器、和一个串口,使用的都是11.0592MHZ的频率,除了定时器外,其他外设只要上电就可以使用。 stm32每个外设都有对应控制的开关,其所使用的频率各不相同,需…

[Windows] ImageGlass Kobe v8.9便携版

这款ImageGlass Kobe 神仙看图软件,UI漂亮,而且官方收费95元限时免费,打开大图速度极快,界面简洁纯净无广告,简直就是我的梦中情软,看图体验真的嘎嘎好!是优秀的 Windows 照片查看器替代品。 具…

数据库监控与调优【十一】—— 索引调优技巧

索引调优技巧 长字段的索引调优使用组合索引的技巧覆盖索引排序优化冗余、重复索引的优化 长字段的索引调优 举例 实际项目中,我们可能需要给很长的字段添加索引。 比如以下first_name字段里面存储的数据普遍在200以上。 SELECT* FROMemployees WHEREfirst_…

Qt 动态手势识别“握拳”

系列文章目录 通过Qt实现手势识别控制软件操作相关系列技术方案 (一)Qt 将某控件、图案绘制在最前面的方法,通过QGraphicsScene模块实现 (二)Qt QGraphicsScene模块实现圆点绘制在所有窗体的最前方,实现圆…

永磁同步电机无位置传感器控制,采用的是龙贝格,基于模型的 定点开发,仿真效果和实际95%高度吻合

永磁同步电机无位置传感器控制,采用的是龙贝格,基于模型的 定点开发,仿真效果和实际95%高度吻合,可以仿真学习,也可以直接移植到项目中 YID:32768642079012761

深度学习框架背景

深度学习框架背景 本文目录: 一、深度学习框架概念 二、为何要用深度学习框架 三、掌握深度学习框架要做哪些准备 四、深度学习主要应用场景 五、常见深度学习框架的对比 六、深度学习框架在市场上的占比 七、中国深度学习开源框架状况 八、备注 一、深度学…

redis------Hash操作(字典)

Hash操作,redis中Hash在内存中的存储格式如下图: # hash类型就是咱们python中的字典,key-value,字典又叫hash类型 字典的key必须可hash -字典类型在底层存储,基于数组存的 key---{key:value,key:value} hset(name, key, val…

【Vue】CI持续集成Vue前端项目--20230627

我的实践(CI) 1.打包 npm run build,产生dist文件 2.将dist文件的内容拷贝到static下面。不用在nginx文件夹中 3.编写nginx配置 default.conf server {listen 80;listen [::]:80;server_name localhost;location / {root /usr/…

【MySQL数据库】MHA高可用配置及故障切换

目录 一、MHA简介1.1什么是MHA1.2MHA的组成1.3MHA的特点 二、搭建MHA2.1故障模拟2.2故障修复 一、MHA简介 1.1什么是MHA MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。MHA 的出现就是解决MySQL 单点的问题。M…

掌握构造函数:打破面向对象编程难题

文章目录 I. 介绍解释构造函数的概念及其作用为什么构造函数是面向对象编程中至关重要的一部分 II. 创建构造函数介绍如何定义并创建一个构造函数着重介绍构造函数的语法和使用方法定义一个构造函数创建一个对象实例使用对象实例继承和原型 III. 构造函数的参数介绍构造函数的参…

模拟测试 青少年软件编程(Python)等级考试试卷(一级) 试题解析

【单选题】(每题2分) 1、与a>b and b>c等价的是?( ) A、a>b or b>c B、a>b>c C、a>b or not b D、not a 正确答案:B 试题解析:a>b并且b>c,那么a…

施工作业票管理

施工作业票管理是建筑行业中的一项重要管理,它是指在进行安全施工前,必须依据工程特点及安全要求,制定符合施工现场实际情况的施工作业方案,并按照程序进行作业申请及作业批准的程序书。比如说吊装作业票,高空作业票&a…

控制请求来源的HTML Meta标签 - Referrer详解

83. 控制请求来源的HTML Meta标签 - Referrer详解 在Web开发中&#xff0c;为了保护用户的隐私和安全&#xff0c;控制请求的来源信息是至关重要的。HTML中的<meta>标签提供了一种简单而有效的方式来控制请求的来源&#xff0c;其中包括Referrer&#xff08;引荐者&…

NVIDIA Jetson TX1,TX2,TX2 NX,AGX Xavier 和 Nano开发板GPIO口配置及应用

NVIDIA Jetson TX1&#xff0c;TX2&#xff0c;TX2 NX&#xff0c;AGX Xavier 和 Nano开发板GPIO口配置及应用 简介 ​ Jetson TX1、TX2、TX2 NX、AGX Xavier和Nano开发板都配备了一个包含40个引脚的GPIO接头&#xff0c;这些引脚可以用于数字输入输出。如下图 ​ 类似于Rasp…

cesium系列:根据中心点绘制圆和返回离某点最近的一个点的方法

1.背景 有需求写一个方法cesium 提供一个代码方法接收参数为function aaa(point1,point2,radius,num)其中点1和点2是经度纬度高度对象&#xff0c; 以point2为圆心&#xff0c;radius为半径生成一个圆弧&#xff0c;并创建一个数组在圆弧上均匀生成 num个点,点需要包含经纬高,…

2023年江西省研究生数学建模竞赛题目三解题思路

为了竞赛公平性&#xff0c;本人只提供思路&#xff0c;不提供具体的解决方法&#xff0c;欢迎交流讨论。给你们分享省赛特等奖的解题思路&#xff0c;哈哈哈&#xff0c;欢迎评论区讨论。这里给出第三题的解题思路。第二题的思路在这里&#xff1a;2023年江西省研究生数学建模…

打造加速组织变革的PMO—新药研发PMO实践分享︱先声药业研发PMO负责人

先声药业研发PMO负责人谢少斐先生受邀为由PMO评论主办的2023第十二届中国PMO大会演讲嘉宾&#xff0c;演讲议题&#xff1a;打造加速组织变革的PMO—新药研发PMO实践分享。大会将于8月12-13日在北京举办&#xff0c;敬请关注&#xff01; 议题简要&#xff1a; 2023年生物医药…

力扣 110. 平衡二叉树

题目来源&#xff1a;https://leetcode.cn/problems/balanced-binary-tree/description/ C题解1&#xff1a;递归法&#xff0c;后续遍历&#xff0c;从叶子节点开始&#xff0c;判断左右子树的深度差是否大于1。 /*** Definition for a binary tree node.* struct TreeNode {…