莱莱 发表于 2024-7-21 01:29:17

RAG 修炼手册|揭秘 RAG 时代的新向量数据库

https://img-blog.csdnimg.cn/img_convert/f2bb7f484604727cee260eab6a2376fc.jpeg    随着对大型模子应用探索的深入,检索增强天生技能(Retrieval-Augmented Generation)受到了广泛关注,并被应用于各种场景,如知识库问答、法律顾问、学习助手、网站呆板人等。
不过,有很多朋友对于向量数据库和 RAG 的关系及技能原理并不清楚,本文将带各人深入了解 RAG 时代的新向量数据库。
01.RAG 的广泛应用及其独特上风

一个典型的 RAG 框架可以分为检索器(Retriever)和天生器(Generator)两块,检索过程包罗为数据(如 Documents)做切分、嵌入向量(Embedding)、并构建索引(Chunks Vectors),再通过向量检索以召回相关效果,而天生过程则是使用基于检索效果(Context)增强的 Prompt 来激活 LLM 以天生答复(Result)。
https://img-blog.csdnimg.cn/img_convert/9688dc2241c1b5a78c0cb14824dc163d.png https://arxiv.org/pdf/2402.19473
RAG 技能的关键在于其联合了这两种方法的优点:检索系统能提供具体、相关的究竟和数据,而天生模子则能够灵活地构建答复,并融入更广泛的语境和信息。这种联合使得 RAG 模子在处理复杂的查询和天生信息丰富的答复方面非常有用,在问答系统、对话系统和其他必要明白和天生自然语言的应用中非常有用。相较于原生的大型模子,搭配 RAG 可以形成自然互补的上风:


[*]         避免“幻觉”问题:RAG 通过检索外部信息作为输入,辅助大型模子答复问题,这种方法能显著减少天生信息不正确的问题,增长答复的可追溯性。
[*]         数据隐私和安全:RAG 可以将知识库作为外部附件管理企业或机构的私有数据,避免数据在模子学习后以不可控的方式泄露。
[*]         信息的实时性:RAG 允许从外部数据源实时检索信息,因此可以获取最新的、范畴特定的知识,办理知识时效性问题。
虽然大型模子的前沿研究也在致力于办理以上的问题,例如基于私有数据的微调、提升模子自身的长文本处理能力,这些研究有助于推动大型模子技能的进步。然而在更通用的场景下,RAG 依然是一个稳定、可靠且性价比高的选择,这主要是因为 RAG 具有以下的上风:


[*]         白盒模子:相较于微调和长文本处理的“黑盒”效应,RAG 模块之间的关系更为清楚精密,这在效果调优上提供了更高的可操作性和可表明性;此外,在检索召回内容质量和置信度(Certainty)不高的环境下,RAG 系统甚至可以禁止 LLMs 的介入,直接复兴“不知道”而非胡编乱造。
[*]         成本和相应速度:RAG 相比于微调模子具有训练时间短和成本低的上风;而与长文本处理相比,则拥有更快的相应速度和低得多的推理成本。在研究和实验阶段,效果和精确程度是最吸引人的;但在工业和财产落地方面,成本则是不容忽视的决定性因素。
[*]         私有数据管理:通过将知识库与大型模子解耦,RAG 不仅提供了一个安全可落地的实践基础,同时也能更好地管理企业现有和新增的知识,办理知识依赖问题。而与之相关的另一个角度则是访问权限控制和数据管理,这对 RAG 的底座数据库来说是很容易做到的,但对于大模子来说却很难。
因此,在我看来,随着对大型模子研究的不断深入,RAG 技能并不会被代替,相反会在相当长的时间内保有告急地位。这主要得益于其与 LLM 的自然互补性,这种互补性使得基于 RAG 构建的应用能在许多范畴大放异彩。而 RAG 提升的关键一方面在 LLMs 能力的提升,而另一方面则依赖于检索(Retrieval)的各类提升和优化。
02.RAG 检索的底座:向量数据库

在业界实践中,RAG 检索通常与向量数据库密切联合,也催生了基于 ChatGPT + Vector Database + Prompt 的 RAG 办理方案,简称为 CVP 技能栈。这一办理方案依赖于向量数据库高效检索相关信息以增强大型语言模子(LLMs),通过将 LLMs 天生的查询转换为向量,使得 RAG 系统能在向量数据库中迅速定位到相应的知识条目。这种检索机制使 LLMs 在面对具体问题时,能够使用存储在向量数据库中的最新信息,有用办理 LLMs 固有的知识更新延迟和幻觉的问题。
   https://img-blog.csdnimg.cn/img_convert/a5cbd145753cbc20cb4747e5a86e1293.png    尽管信息检索范畴也存在选择浩繁的存储与检索技能,包罗搜索引擎、关系型数据库和文档数据库等,向量数据库在 RAG 场景下却成为了业界首选。这一选择的背后,是向量数据库在高效地存储和检索大量嵌入向量方面的精彩能力。这些嵌入向量由呆板学习模子天生,不仅能够表征文本和图像等多种数据类型,还能够捕捉它们深层的语义信息。在 RAG 系统中,检索的任务是快速且精确地找出与输入查询语义上最匹配的信息,而向量数据库正因其在处理高维向量数据和进行快速相似性搜索方面的显著上风而脱颖而出。
以下是对以向量检索为代表的向量数据库与其他技能选项的横向比较,以及它在 RAG 场景中成为主流选择的关键因素分析:
   https://img-blog.csdnimg.cn/img_convert/28f1509fc5c57ef6473f3c318114e476.png    首先在实现原理方面,向量是模子对语义寄义的编码形式,向量数据库可以更好地明白查询的语义内容,因为它们使用了深度学习模子的能力来编码文本的寄义,不仅仅是关键字匹配。受益于 AI 模子的发展,其背后语义正确度也正在稳步提升,通过用向量的距离相似度来表示语义相似度已经发展成为了 NLP 的主流形态,因此表意的 embedding 就成了处理信息载体的首选。
其次在检索效率方面,由于信息可以表示成高维向量,针对向量加上特别的索引优化和量化方法,可以极大提升检索效率并压缩存储成本,随着数据量的增长,向量数据库能够水平扩展,保持查询的相应时间,这对于必要处理海量数据的 RAG 系统至关告急,因此向量数据库更擅长处理超大规模的非结构化数据。
至于泛化能力这个维度,传统的搜索引擎、关系型或文档数据库大都只能处理文本,泛化和扩展的能力差,向量数据库不仅限于文本数据,还可以处理图像、音频和其他非结构化数据类型的嵌入向量,这使得 RAG 系统可以更加灵活和多功能。
末了在总拥有成本上,相比于其他选项,向量数据库的部署都更加方便、易于上手,同时也提供了丰富的 API,使其易于与现有的呆板学习框架和工作流程集成,因而深受许多 RAG 应用开发者的喜爱。
向量检索正依附其对于语义的明白能力、高效的检索效率、以及对多模态的泛化支持等上风,成为了大模子时代理想的 RAG 检索器,而随着 AI 和 embedding 模子的进一步发展,这些上风在未来或将更加突出。
03.RAG 场景对向量数据库的需求

虽然向量数据库成为了检索的告急方式,但随着 RAG 应用的深入以及人们对高质量答复的需求,检索引擎依旧面临着诸多挑战。这里以一个最基础的 RAG 构建流程为例:检索器的构成包罗了语料的预处理如切分、数据洗濯、embedding 入库等,然后是索引的构建和管理,末了是通过 vector search 找到相近的片段提供给 prompt 做增强天生。大多数向量数据库的功能还只落在索引的构建管理和搜索的计算上,进一步则是包含了 embedding 模子的功能。
   https://img-blog.csdnimg.cn/img_convert/56c8ad085394dc209308c9c218a7c879.png    但在更高级的 RAG 场景中,因为召回的质量将直接影响到天生模子的输出质量和相关性,因此作为检索器底座的向量数据库应该更多的对检索质量负责。为了提升检索质量,这里实在有很多工程化的优化手段,如 chunk_size 的选择,切分是否必要 overlap,如何选择 embedding model,是否必要额外的内容标签,是否加入基于词法的检索来做 hybrid search,重排序 reranker 的选择等等,其中有不少工作是可以纳入向量数据库的考量之中。而检索系统对向量数据库的需求可以抽象形貌为:


[*]         高精度的召回:向量数据库必要能够正确召回与查询语义最相关的文档或信息片段。这要求数据库能够明白和处理高维向量空间中的复杂语义关系,确保召回内容与查询的高度相关性。这里的效果既包罗向量检索的数学召回精度也包罗嵌入模子的语义精度。
[*]         快速相应:为了不影响用户体验,召回操作必要在极短的时间内完成,通常是毫秒级别。这要求向量数据库具备高效的查询处理能力,以快速从大规模数据会合检索和召回信息。此外,随着数据量的增长和查询需求的变化,向量数据库必要能够灵活扩展,以支持更多的数据和更复杂的查询,同时保持召回效果的稳定性和可靠性。
[*]         处理多模态数据的能力:随着应用场景的多样化,向量数据库可能必要处理不仅仅是文本,还有图像、视频等多模态数据。这要求数据库能够支持不同种类数据的嵌入,并能根据不同模态的数据查询进行有用的召回。
[*]         可表明性和可调试性:在召回效果不理想时,能够提供富足的信息帮助开发者诊断和优化黑白常有价值的。因此,向量数据库在设计时也应考虑到系统的可表明性和可调试性。
RAG 场景中对向量数据库的召回效果有着严格的要求,不仅必要高精度和快速相应的召回这类基础能力,还必要处理多模态数据的能力以及可表明性和可调试性这类更高级的功能,以确保天生模子能够基于高质量的召回效果产生正确和相关的输出。在多模态处理、检索的可表明性和可调试性方面,向量数据库仍有许多工作值得探索和优化,而 RAG 应用的开发者也急需一套端到端的办理方案来到达高质量的检索效果。
阅读原文


[*]         好消息,Milvus 社区正全网寻找「   北辰使者」!!! ​
[*]         假如在使用 Milvus 或 Zilliz 产品有任何问题,可添加小助手微信 “zilliz-tech” 加入交换群。 ​
[*]         欢迎关注微信公众号“Zilliz”,了解最新资讯。
本文由 mdnice 多平台发布

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: RAG 修炼手册|揭秘 RAG 时代的新向量数据库