暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

从幻觉到精准:向量数据库如何拯救大语言模型

数据库应用创新实验室 2025-05-15
182

本文对卡内基梅隆大学、普渡大学、密歇根大学联合编写的论文《When Large Language Models Meet Vector Databases: A Survey》进行解读,全文共6752字,预计阅读需要15至25分钟。


本综述探讨了大语言模型(LLMs)与向量数据库(VecDBs)协同的潜力,这是一个新兴且发展迅速的研究领域。随着大语言模型的广泛应用,存在着许多挑战包括幻觉问题、知识过时、商业应用成本高昂等。而向量数据库能够高效地存储、检索和管理大语言模型操作中固有的高维向量表示,成为解决这些问题的有力方案。作者先阐述了大语言模型和向量数据库的基本原理,并批判性地分析了它们的集成对增强大语言模型功能的影响。本文还对该领域未来的发展进行了展望,旨在推动更多关于优化大语言模型与向量数据库融合的研究,以实现更先进的数据处理和知识提取能力。


1. 研究背景与动机


1.1 大语言模型给自然语言处理带来的里程碑


ChatGPT的兴起给自然语言处理(NLP)领域实现了一个重大里程碑。这一突破在很大程度上归功于大语言模型的进步,如GPT、T5和Llama等,它们能够处理、理解和生成类似人类语言的文本。得益于预训练的强大能力,即在大规模文本数据语料库上对语言模型进行训练,大语言模型可以捕捉到人类语言的复杂性,包括上下文、习语,甚至文化背景信息。


1.2 大语言模型目前的局限性


然而,尽管大语言模型能力出众,但在某些方面仍受到诸多挑战:

1. 幻觉问题:大语言模型会生成看似合理但实际上错误或完全无意义的信息。这归因于:

● 大语言模型缺乏领域知识:由于大语言模型主要在公共数据集上进行训练,它们在回答超出其内部知识范围的问题时能力有限。

● 大语言模型难以进行实时知识更新:由于外部世界动态变化,其内部知识可能已经过时,导致回答仍存在局限性。

● 大语言模型还存在偏差问题:用于训练大语言模型的数据集规模庞大,这可能会引入系统性错误。每个数据集都可能存在偏差问题,包括模仿性错误、重复偏差和社会偏差等。


2. 在商业应用中成本高昂:对于非技术公司几乎不可能定制和训练自己的GPT模型,因为它们缺乏开展如此大型项目所需的资源和人才。而频繁调用像OpenAI这样的第三方大语言模型提供商的API成本极高,并且在某些领域这类提供商的数量非常有限。


3. 遗忘问题:研究发现大语言模型倾向于忘记之前输入的信息,并且和神经网络一样会出现灾难性遗忘的现象。


1.3 向量数据库和大语言模型结合的可能


为了在大语言模型中提供一个可靠的数据系统,并以经济高效的方式管理和检索大量数据,一个与大语言模型看似无关但日益流行的领域是向量数据库(VecDB),它支持向量数据的存储并能大规模高效检索。通过将向量数据库与大语言模型进行有效结合,向量数据库可以作为外部知识库,为大语言模型提供特定领域的知识;也可以作为大语言模型的记忆,为每个用户的对话标签保存之前相关的聊天内容;还可以作为语义缓存。由此大语言模型上述的问题可以得到有效解决。


本综述从向量数据库视角介绍大语言模型,旨在探讨向量数据库如何解决大语言模型已知的缺点,并希望为这个充满研究机遇的交叉领域提供未来发展方向的独特见解。


2. 背景


2.1 大语言模型


在过去的五年里,大语言模型的突破性成功标志着自然语言处理领域的一个重要里程碑,彻底改变了大众对机器理解和生成人类语言方式的看法。


1. 语言模型的发展:随着神经网络的出现,自然语言处理领域发生了变革性的转变,这一转变始于循环神经网络(RNNs)的引入。RNNs提供了一种处理单词序列并捕捉文本中时间依赖关系的方法。门控循环单元(GRUs)和长短期记忆网络(LSTMs),解决了RNNs在处理梯度消失和梯度爆炸问题时的局限性。


语言模型的下一个关键里程碑是Transformer架构的广泛应用,它的编码器和解码器中的多头自注意力模块交叉注意力模块使模型能够捕捉长距离依赖关系,进行并行处理并理解上下文。在Transformer时代,模型的规模开始迅速增长。它代表了自然语言处理领域的范式转变,其架构的成功成为大语言模型的重要支柱。


2. 纯大语言模型面临的挑战:尽管大语言模型取得了显著成功,但如前文所述,它们面临着不可忽视的重大挑战:幻觉问题和大量的计算资源。


往向量数据库进行转变可能潜在地解决这些挑战。向量数据库具有高效的数据结构化和检索能力,能够增强模型编辑灵活性,通过改进特定领域的响应来减少幻觉问题,以及优化计算资源。从而更符合可持续人工智能的原则。


2.2向量数据库


1. 一种针对向量数据优化的独特数据库:数据库管理系统(DBMS)在过去已经得到了深入开发。随着深度学习模型的发展和广泛应用,研究发现可以将图像和文本等非结构化多模态数据嵌入到相应的固定长度向量表示中,这些向量表示包含了原始数据的高维语义特征,并且语义相似性自然地通过向量之间的距离来表示。这就需要一种新型的数据库管理系统,专门用于处理向量数据的操作,尤其是搜索和存储。


向量数据库是唯一一类能够自然地支持对各种非结构化数据进行高效存储、索引和检索的数据库。与传统数据库要求的数据格式不同,向量数据库是专门为存储现实世界中出现的各种非结构化数据的深度学习嵌入而设计的。另一方面,与传统数据库管理系统在数据库中搜索精确值不同,向量数据库中向量的语义特征需要进行向量近似搜索,即在高维基础向量数据空间中搜索近似的前k个最近距离邻居,代表前k个语义相近的数据。


2. 向量数据库管理系统中的高效向量检索:随着非结构化基础数据被嵌入到高维向量中,计算给定查询向量数据的k近邻可能会很耗时。向量索引可以解决暴力搜索既耗时又耗费计算资源的问题。其中,基于树的方法、基于哈希的方法和基于图的方法,通过向量索引优化了向量数据库管理系统中的近似最近邻(ANN)搜索。向量索引是为近似最近邻搜索而优化设计的向量集合。ANN Benchmarks还展示了暴力搜索与索引增强的ANN 搜索之间的巨大性能差距。在所有这些索引中,基于图的分层可导航小世界(HNSW)算法具有最先进的性能和通用性,并且在大多数向量数据库管理系统中被广泛使用。


支持向量数据的主流各级数据库的比较


3. 大语言模型的可行知识库解决方案:传统的全文和关键词搜索引擎在许多搜索应用中很实用。然而,这种搜索技术需要投入大量时间和专业知识来调整,以考虑搜索词的含义或相关性,很难实现精准搜索。此外,它们不像向量数据库那样支持多模态存储和检索。


向量数据库能够通过简单地将数据转换为向量并利用其检索效率来解决上述问题。向量数据库的出现极大地影响了机器学习系统及其多模态应用,比如在谷歌图像搜索引擎上用图像搜索图像,使用一个输入图像在互联网上查找相似的图像。虽然向量数据库在非结构化数据的搜索能力和效率方面表现出色,但它们只是众多应用的后端支持因素。于是存在一个问题:能否将向量数据库和大语言模型结合起来,克服大语言模型应用中固有的上述挑战呢?


答案是肯定的。首先,向量数据库能够在高维空间中表示现实世界的信息,非常适合与大语言模型结合的检索应用。另一方面,向量数据库可以有效地管理和存储大语言模型所需和生成的向量数据,从而为大语言模型及其应用提供坚实的数据基础。虽然大语言模型常常受到领域知识的限制,但领域知识通常是非结构化数据,可以很容易地嵌入到向量数据库中,以便进行高效的本地检索,并进一步与生成式人工智能集成。此外,向量数据库的计算和存储资源成本比大语言模型低得多,因为它们不需要昂贵的GPU和TPU,从而实现了一种经济高效的快速检索和持久(非易失性)存储方式。


3. 大语言模型和向量数据库的协同:增强与创新


随着这两个领域的快速发展,结合LLMs和VecDBs的应用也在迅速增长,其中最有成果的是检索增强生成(RAG),使得向量数据库对于实现经济高效的数据存储和高效检索起着至关重要的作用。


3.1向量数据库作为外部知识库:检索增强生成(RAG)


1. RAG范式的发展:随着大语言模型受到了公众的广泛关注,人们越来越需要将人工智能聊天机器人用作查询和检索代理。简单地将用户的私人数据作为输入提供给大语言模型并不可行,因为大语言模型受到其有限的词元数量以及每次数据更改时训练和微调的高昂成本的限制。为了解决这些问题和需求,检索增强生成(RAG)作为一种新颖的解决方案应运而生,它解决了大语言模型在集成和处理外部数据库中的大量动态数据时所面临的挑战。与向量数据库集成使大语言模型能够访问和合成大量数据,而无需不断重新训练,从而克服了其固有的局限性。


RAG的概念被设计为一种范式,该系统的完整运行主要包括三个部分:数据存储、检索和生成:


RAG在向量数据库中的框架流程


● 数据存储:意味着建立像向量数据库这样可靠的外部存储器。首先是数据预处理,原始数据被收集、清理、集成、转换、规范化和标准化。由于大语言模型的上下文限制,处理后的数据会被分割成较小的片段。然后,这些数据片段由嵌入模型转换为向量,即数据的语义表示,将这些向量存储在向量数据库中,供后续步骤中的向量搜索使用。一个成熟的向量数据库会对数据进行适当的索引,并优化检索过程。

● 检索:此过程开始于用户以提示的形式向同一嵌入模型提出问题,该嵌入模型之前已经生成了存储数据的向量表示,并获得了问题的向量嵌入。接下来在向量数据库中进行向量搜索和评分,即计算向量之间的相似性分数。然后数据库识别并检索与查询向量相似性分数最高的(前K个)数据片段。这些检索到的片段随后从向量格式转换回其原始形式,通常是文档文本。

● 生成:在此过程中,大语言模型参与生成最终答案。检索到的文档以及用户的问题被整合到一个经过特别选择和设计的提示模板中。这个模板的选择基于任务类型,旨在有效地将上下文与问题合并,形成一个连贯的提示。最后选定的大语言模型接收提示并生成最终答案。


2. 结合向量数据库的RAG:在RAG范式的原型中,本文通过提供带有思维链等精确指令的特定领域信息来克服大语言模型的幻觉问题。向量数据库在其中作为外部知识库存储特定领域的相关信息,然后大语言模型可以轻松地从用户拥有的大量数据中推理出与问题相关的信息。通过使用向量数据库,用户可以预先筛选他们希望模型查看的内容,而这对于基于提示工程的GPT助手来说很难做到。


许多研究和行业实例证明了RAG的显著效果。Azure AI Search使用Qdrant开发了其向量搜索功能;Canopy这个开源框架利用Pinecone的向量数据库构建和托管适用于生产环境的RAG系统。同样的,像Spotify和Yahoo采用了Vespa这种在线向量数据库来帮助用户直接与他们的邮箱聊天、询问关于邮箱的问题,并让它为用户服务。这将个性化数据与大语言模型集成,形成了一个RAG系统。这展示了结合向量数据库的RAG在解决企业在管理和从各种数据集中提取价值时所面临的独特挑战方面的优势,同时也展示了通过与向量数据库集成可以如何解决大语言模型面临的上述难题。


3.2 向量数据库作为经济高效的语义缓存


向量数据库和大语言模型的结合不仅促进了RAG在大语言模型中的深度应用,还为经济高效的端到端大语言模型应用开辟了新的前沿:

● 高昂的API成本:基于大语言模型的聊天机器人和代理系统严重依赖API供应商提供的大语言模型输出;重复或相似的查询可能会导致高昂的API成本。

● API带宽限制:聊天机器人和代理系统还可能面临突发的查询负载,几秒钟内爆发式的API调用可能会耗尽系统带宽,导致系统中断和重新配置。


将向量数据库与大语言模型集成的主要好处之一是显著降低数据操作成本。如图,GPT-Cache作为一个语义缓存的向量数据库,它存储先前查询的响应,并在调用大语言模型API之前充当缓存。这种缓存机制意味着系统不需要每次都进行API调用,以等待从头生成的响应,从而减少了对大语言模型昂贵的API调用次数。此外,这种方法还加快了响应时间,提升了用户体验。


使用向量数据库的GPT的语义缓存概览


向量数据库通过对大量先前的问答数据进行索引并将它们映射到向量空间中,增强了大语言模型检索和利用相关信息的能力。这允许对查询与现有知识进行更精确的语义匹配,使得生成的响应不仅基于大语言模型的训练数据,还能参考向量数据库中最相关和最新的信息。


3.3 向量数据库作为GPT的可靠记忆


● 遗忘问题:当使用大语言模型进行问答时,大语言模型很可能会完全忘记你之前对话的内容和信息,即使是在同一个聊天标签中。


为了解决这个问题,应用程序通常使用向量数据库作为强大的记忆层,来解决大语言模型的一个内在局限性:知识的静态性。虽然大语言模型擅长根据学习到的模式生成类似人类的文本,但本质上无法动态更新其知识库,因此缺乏少样本学习能力。向量数据库弥补了这一差距,提供了一种可以不断更新新信息的存储解决方案,确保大语言模型的响应基于当前最相关的数据。


向量数据库和大语言模型的结合产生了协同效应,大语言模型为用户查询提供上下文和理解,而向量数据库提供了一种精确的机制来存储和检索相关向量。这种协作方法能够更准确、相关和高效地响复杂查询,这对于任何一个单独的系统来说都是具有挑战性的。同时,这种协同有助于实现实时学习和适应。随着新数据被摄入向量数据库,大语言模型可以立即利用这个更新的存储库来优化其响应。这对于需要即时准确性的应用至关重要,如金融分析、新闻传播和个性化推荐。


4. 拓展视野:RAG的进展


4.1 RAG的多模态化


如今,RAG借助多模态模型的能力,已发展到能够处理广泛的数据类型。大语言模型取得的显著成果推动了视觉-语言研究的重大进展:

●OpenAI的DALL-E:提出了一种基于Transformer的方法,将文本转换为图像,将图像视为离散标记的序列。通过模型扩展、预训练和改进的图像量化模型等方法,文本到图像领域取得了进一步的进展。

● BLIP-2:使用静态图像编码器和大语言模型进行高效的视觉语言预训练,实现了直接的图像到文本转换。

 Flamingo:提出了一种用于文本生成的视觉语言模型,在各种视觉和语言任务中展现出卓越的适应性和领先性能。

● CM3:其在大型HTML语料库上训练了一个随机掩码模型,证明该模型能够生成图像和文本。

● FROMAGe:其从(图像-字幕)对中获得了强大的少样本学习多模态能力。


为了将语音数据引入RAG系统:Wav2Seq通过使k-均值聚类和字节对编码等技术从语音中生成伪子词,实现了无需转录的高效预训练。LLaSM是一个经过端到端训练的大型多模态语音-语言模型,具备跨模态对话技能,能够熟练理解和响应语音和语言组合指令。


一些RAG系统也开始支持视频数据:Vid2Seq通过为语言模型添加特定的时间指示符,在单个输出序列中预测事件界限和文本描述,增强了语言模型的功能。


4.2 RAG的检索优化


为了更好地利用各类数据中的知识,

● kNN-LMs:探索了将最近邻搜索融入语言模型,如何通过有效利用记忆示例来提升模型的泛化能力。

● EASE:将实体作为文本语义的强指示,为句子嵌入提供丰富的训练信号。

●上下文检索增强语言模型(In-context RALM):其证明在语言模型架构不变的情况下,仅在输入中附加基础文档就能提升性能。

● SURGE:通过整合来自知识图谱的上下文相关子图来增强对话生成。

● RET-LLM:结合知识图谱和大语言模型,旨在为大语言模型配备通用的读写记忆单元。

这些研究聚焦于检索粒度和数据结构化,粗粒度能提供更多但不太精确的信息;相反,结构化文本检索提供详细信息,但以效率为代价。


为了同时利用内部知识和外部资源,

● SKR:通过让大语言模型评估自身已知信息,并确定何时寻求外部信息以更有效地回答问题,提升了大语言模型的能力。

● Selfmem:通过利用模型输出创建一个无界记忆池,并选择最佳输出作为后续轮次的记忆,增强了检索增强的文本生成。

● FLARE:利用对后续句子的预测来预期待生成内容,并检索相关文档以重写句子,特别是当句子中包含低置信度标记时。

● Atlas:在问答和事实验证等任务中表现出色,参数较少,但性能优于许多更大的模型。


5. 讨论:挑战与未来工作


5.1 向量搜索是万能的吗?


尽管向量数据是表示非结构化数据的有效方式,但基于向量的搜索方法仍不太适合诸如结构化查询(SQL)、查询后过滤、全面的全文搜索、基于关系的图搜索、以及传统数据库系统和搜索引擎所依赖的关键词搜索机制等操作。在多样化应用场景中,向量搜索或任何单一搜索方法都不是万能的解决方案。另一方面,传统的数据库管理系统在事务处理和分析应用中能够高效处理结构化数据,知识图谱可以表示事件和实体之间的交互和逻辑,但是专用的向量数据库还无法满足这些查询需求。


这体现了向量数据库与先前成熟的数据检索范式在功能适配方面可能存在的差距,这就需要开发混合搜索算法,将向量搜索与传统关系型数据引擎的功能无缝集成。


5.2 支持多模态的向量数据库管理系统VDBMS


在现实世界的数据表示和搜索中,多模态数据条目不限于某种特定的结构化、半结构化或非结构化数据,而是它们的任意随机组合。多模态数据搜索及其混合处理对向量数据库的存储和检索构成了不小的挑战,因为整合和融合多模态数据需要借助多模态编码器进行高效的预处理、构建多模态存储索引,还需要进行排序权重分配和多模态数据融合。


6. 结论


本文系统地回顾了大语言模型LLMs和向量数据库VecDBs相结合的最新进展,从向量数据库视角看待大语言模型的理论依据;并且介绍了一些结合两者的应用,从多个角度对现有研究和跨学科研究进行了分类。本文还揭示了此领域在研究和工程方面面临的挑战,并对未来的工作方向提出了建议。


论文解读联系人:

刘思源

13691032906(微信同号)

liusiyuan@caict.ac.cn





数据库应用创新实验室简介



数据库是基础软件的重要一员,是支撑全球数字经济蓬勃发展的核心技术产品。为推动我国数据库产业国际地位从跟跑、并跑到领跑,多家数据库企业、应用单位、系统集成商、数据库服务企业、硬件制造商,共同成立公益性免费社群数据库应用创新实验室(以下简称“实验室”),打造了中国数据库产业的“联合舰队”。实验室持续致力于推动我国数据库产业创新发展,以实际问题为导向,以合作共赢为目标,联合政、产、学、研、用等多方力量,协同推进数据库领域应用创新的相关工作。实验室将一直秉承开放理念,持续欢迎数据库领域各企业、各机构、各组织申请加入。




实验室联系人



刘老师
13691032906
liusiyuan@caict.ac.cn

齐老师
17801071990
qidanyang@caict.ac.cn



实验室成员单位



文章转载自数据库应用创新实验室,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论