ChatDB: 使用数据库符号存储提升LLMs的性能

发布时间 2023-08-16 21:36:34作者: 辛几何旋律

ChatDB论文地址
ChatDB项目地址

Abstract

采用符号记忆的方式辅助大模型的多跳推理。
符号记忆框架具化为LLM和一系列SQL数据库,LLM生成SQL指令去控制SQL数据库

ChatDB整体架构:
image

1. Introduction

LLM发展的过程也会遇到一系列的挑战,比如:生成token多,需要考虑上下文信息,可能会导致谈话轨迹的偏离和生成答案的不准确。

neural memory:存储存在缺陷,难以用于多跳推理,主要在两方面

  1. 未结构化存储过去的信息
  2. 未进行符号化存储,依赖于向量的相似检索,导致其可能发生额外的错误

改进:提出ChatDB
Memory,存储历史信息,提供信息辅助大模型。
通过LLM生成SQL statements来存储信息到数据库中。

同时采用CoM(chain-of-memory)提升存储管理的效果,核心思想是一个复杂的问题转化为多个内存上操作的问题(对应SQL语句)

Memory-Augmented LLMs

  • 采用存储器存放text prompt (Auto-GPT和Generative Agents)
  • NMT训练和交互内存
  • GGS-NN采用图
  • RMT采用sequences存储,具体细节仍待阅读

Reasoning with LLMs

早期通过监督信号和微调方式,
最近采用ICL方法,尤其是CoT方法(通过举例方式)

LLMs with DBs

几个有趣的应用:比如ChatExcel,Binder,和Text-to-SQL

Tool-using LLMs

Toolformers采用API,Auto-GPT采用搜索引擎提升大模型能力

3. ChatDB

3.1 Task Definition

用户命令->对数据库的操作

3.2 Framework Overview

整体框架如下所示:
image
主要分为三步:

  1. 通过输入转化为一系列对内存的中间操作
  2. 内存链方法,对内存进行四种操作
  3. 总结答案

3.3 Chain-of-Memory

目标:提升推理能力和鲁棒性,可以通过对历史数据的复杂和准确的交互实现对真实世界应用
方法:ICL
基本流程:
image

3.4 Comparison with previous memory-augmented LLMs

具体结果如下,不再赘述:
image

4. Evaluation

主要讲了怎么做实验的事情。

4.1 Experimental Setup

主要采用了50个问题,15个easy,35个hard。
提升对比效果,采用水果商店数据集

4.1.1 Model Configuration

ChatDB和Baseline对比
均采用GPT-3.5 Turbo,超参数温度设置为0

4.1.2 Dataset

四种操作,购买(从供应商)、售卖、返还、改价,70条记录。
对应如下:
image
同时采用的Prompt为:
image

4.1.3 Processing record

数据库模式的创建,通过LLM或人工,并采用方式1控制数据库
处理记录是one by one,符号化的并且避免了错误的出现

4.1.4 Answering Questions

ChatDB不采用prompt回答问题,通过SQL statements返回结果。
ChatGPT需要prompt,并且直接回答

4.2 Results

image

ChatDB效果明显更好。
两点优势:

  1. CoM简化问题,提升复杂问题推理能力。
  2. 符号记忆提前计算的准确度和精度,通过SQL语句的操作减少错误出现

5. Conclusion

着重强调了LLM借助符号记忆的好处。