结合符号性记忆,清华等提出ChatDB,提升大模型的复杂推理能力(1)

简介: 结合符号性记忆,清华等提出ChatDB,提升大模型的复杂推理能力


清华大学和北京智源人工智能研究院的研究者们提出了 ChatDB:用数据库作为符号性记忆模块来增强大语言模型。


随着大语言模型(Large Language Models)的爆火,例如 ChatGPT,GPT-4,PaLM,LLaMA 等,如何让大语言模型更好的应对有很长的上下文信息(超出其最大处理长度)的场景并利用相关历史信息做复杂的推理,成为一个热点研究话题。现有的主流做法是给大语言模型增加记忆(memory)模块,在需要的时候从记忆模块中提取相关的历史信息帮助大语言模型。

近期,清华大学和北京智源人工智能研究院的研究者们提出了一种新型的符号性(symbolic)记忆模块。他们从现代计算机架构中汲取灵感,利用符号性记忆模块来增强大型语言模型。这种符号性记忆模块可以利用符号性的操作,精确的控制记忆模块中的信息。这样的符号性记忆框架由一个大语言模型(如 ChatGPT)和一个数据库组成,称为 ChatDB。其中大语言模型负责控制对记忆模块的读写操作。在 ChatDB 中,大语言模型通过生成 SQL 指令来操纵数据库,从而实现对记忆模块中历史信息精确的增删改查,并在需要时为大语言模型提供信息,以帮助其回应用户的输入。这项研究可以让大语言模型胜任需要对历史信息进行长期且精确的记录、处理和分析的场景,例如各种管理和分析系统,以后甚至有望替代管理者,直接让大语言模型根据精确的历史数据做分析和决策。

相关论文为:ChatDB: Augmenting LLMs with Databases as Their Symbolic Memory,代码已开源。



推特上一些知名的机器学习和自然语言处理研究者也对这项研究进行了宣传:




与相关工作的对比

之前的记忆模块主要分为,Prompt-based memory 和 Matrix-based memory 两类。Prompt-based memory 是将之前的历史文本和相应文本的 vector embedding 保存下来,需要的时候再利用 vector embedding 间的相似性找到相关的历史信息,然后放到 prompt 中,作为大语言模型的输入,相关的工作有 Auto-GPT 和 Generative Agents 等等。Matrix-based memory 是利用额外的 memory tokens 或者 memory matrices 来记录历史信息,相关的工作有 Recurrent Memory Transformer 等等。之前这些记忆模块的设计,要么需要依靠文本的 vector embedding 之间的相似度,要么将历史信息隐式地存储在神经网络的权重中,都涉及神经性(neural)的操作,无法像符号性操作那样精确操纵记忆模块中的历史信息。

它们的主要问题有两点:(1) 没有以结构化的形式存储历史信息;(2) 对存储在记忆模块中的信息的操作不够精确:它们依赖于一些向量相似度的计算,这可能不准确,长期下来或者进行多步推理的时候就会导致错误的积累。

ChatDB 借鉴之前 Neuro-symbolic AI 的一些工作,如 Neural Symbolic Machines,利用支持 SQL 指令的数据库作为符号性记忆模块,来支持对历史信息抽象的(abstract),可拓展的(scalable)和精确的(precise)的操作。这些都是引入符号性记忆模块所带来的优势。符号性记忆模块还可以跟之前的记忆模块同时使用,起到相辅相成的作用。

之前的一些大语言模型和数据库结合的工作(比如DB-GPT和ChatExcel)也涉及用大语言模型生成 SQL 或 Excel 的指令,但 ChatDB 跟它们有本质上的不同。DB-GPT 和 ChatExcel 更多关注利用大语言模型解决自然语言到 SQL 或 Excel 指令的转化,而且更多只是用来解决查询的问题,数据源本身是给定好的。ChatDB 则是将数据库作为符号性记忆模块,不只涉及查询,包括了数据库的增删改查等所有操作,整个数据库是从无到有,不断记录并更新大语言模型的历史信息。并且,ChatDB 中的数据库,即符号性记忆模块,是与大语言模型紧密关联、融为一体的,可以帮助大语言模型进行复杂的多步推理。

从大语言模型使用工具的视角来看,类比之前的工作 Toolformer 和 Langchain,ChatDB 将符号性记忆模块(即数据库)用作工具。其优势在于,对于需要使用准确历史数据进行多步推理的问题,它可以让大语言模型更准确的存储并使用历史数据,而且可以利用数据库存储和再利用推理的中间结果,从而取得更好的效果。

重要意义

该工作对大语言模型(LLMs)领域做出了如下几个贡献:

  • 首先,提出了 ChatDB—— 一个用数据库作为 LLMs 的符号性记忆模块来增强 LLMs 的框架。这使得历史数据可以精确的以结构化的方式进行存储,并且支持使用 SQL 语句进行抽象的、可拓展的、精确的数据操作。
  • 其次,提出了 Chain-of-Memory(CoM,记忆链)方法,通过将用户输入转化为多步中间的记忆操作,实现了对记忆模块中历史信息的复杂操作。这提高了 ChatDB 的性能,使其能够处理复杂的、涉及多个表的数据库交互,并提高了准确性和稳定性。
  • 最后,将符号性记忆模块与 LLMs 结合,可以避免错误的累积,方便地存储中间结果,从而提高了多步推理(multi-hop reasoning)能力,使 ChatDB 在合成数据集上显著优于 ChatGPT。


方法



相关文章
|
4月前
|
自然语言处理 程序员
大模型问题之大模型与之前的NLP技术有什么显著差别
大模型问题之大模型与之前的NLP技术有什么显著差别
|
6月前
|
存储 机器学习/深度学习 人工智能
论文介绍:InfLLM——揭示大型语言模型在无需训练的情况下处理极长序列的内在能力
【5月更文挑战第18天】InfLLM是一种新方法,无需额外训练即可增强大型语言模型处理极长序列的能力。通过使用记忆单元存储长序列的远距离上下文,InfLLM能更准确地捕捉长距离依赖,提高对长文本理解。实验表明,InfLLM使预训练在短序列上的模型在处理极长序列时表现媲美甚至超过专门训练的模型。尽管有挑战,如动态上下文分割和记忆单元效率,InfLLM为长序列处理提供了有效且未经训练的解决方案。论文链接:https://arxiv.org/abs/2402.04617
151 3
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
让大模型不再巨无霸,这是一份最新的大模型参数高效微调综述
【5月更文挑战第12天】最新综述探讨了大模型参数高效微调,旨在减少计算成本、增强泛化能力和灵活性。方法包括Additive、Selective、Reparameterized和Hybrid PEFT,已应用于NLP、CV和多模态学习。尽管取得进展,仍需解决泛化、效率和可解释性问题。未来研究将关注多任务学习、强化学习和神经架构搜索。论文链接:https://arxiv.org/pdf/2403.14608.pdf
346 2
|
6月前
|
人工智能 Python
论文推荐:大型语言模型能自我解释吗?
这篇论文的研究主要贡献是对LLM生成解释的优缺点进行了调查。详细介绍了两种方法,一种是做出预测,然后解释它,另一种是产生解释,然后用它来做出预测。
82 2
|
SQL 人工智能 自动驾驶
结合符号性记忆,清华等提出ChatDB,提升大模型的复杂推理能力(2)
结合符号性记忆,清华等提出ChatDB,提升大模型的复杂推理能力
278 0
|
机器学习/深度学习 存储 并行计算
深度学习实践篇 第十章:混合精度训练
简要介绍混合精度的原理和代码实现。
270 0
|
机器学习/深度学习 自然语言处理 并行计算
类GPT模型训练提速26.5%,清华朱军等人用INT4算法加速神经网络训练
类GPT模型训练提速26.5%,清华朱军等人用INT4算法加速神经网络训练
163 0
|
机器学习/深度学习 人工智能 自然语言处理
解决通用LLM「偏科」问题,数学大模型MathGPT要来了!
解决通用LLM「偏科」问题,数学大模型MathGPT要来了!
268 0
|
机器学习/深度学习 人工智能 决策智能
重新审视AI,神经网络中概念符号涌现的发现与证明(1)
重新审视AI,神经网络中概念符号涌现的发现与证明
111 0