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.相关工作

作者主要分为了下面几个部分

  1. 增强记忆的大模型。
  2. 逻辑推理的大模型。
  3. 使用工具的大模型。

增强记忆的大模型

未完待续。。

更多推荐