AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


企业级RAG向量检索的限制和Writer的GraphRAG方案 - Part2
发布日期:2024-04-24 19:58:38 浏览次数: 1709


前两天发表了

“海外人工智能公司Writer的GraphRAG实践揭秘- Part1

这一篇是进一步阐述向量检索的限制和GraphRAG的应用方案

摘要:

企业RAG中基于矢量的检索存在诸多局限,如粗糙的分块、低效率的KNN/ANN算法、密集和稀疏映射问题、高昂的成本以及输出中潜在的不准确性,提出了一种更优秀的替代方案:使用Writer Knowledge Graph的基于图谱的检索。

- 矢量检索面临粗糙分块和低效算法等挑战。

- 使用Writer Knowledge Graph的基于图谱的检索提供了一种经济高效且准确的替代方案。

- 企业数据中,矢量检索在密集和稀疏映射中遇到困难。

- 使用矢量检索更新数据可能成本高且不灵活。

- 数据输入的质量对语言模型的输出有重大影响。

- 基于图谱的RAG检索支持各种文件类型、高效的更新和准确的检索。

来源:

https://writer.com/blog/vector-based-retrieval-limitations-rag/

正文:

企业越来越多地采用生成式人工智能来利用公司的知识和数据。然而,仅仅依赖大型语言模型(LLMs)可能无法提供对内部数据的理想理解。因为它们是在公共领域获取的数据集上训练的,单独依赖LLMs对您的公司的理解是有限的。要在企业中构建强大的生成式人工智能应用程序,您需要让LLMs基于您的内部数据。

为了应对这一挑战,数据科学家和开发人员开始探索各种途径进行检索增强生成(RAG)。RAG是寻找正确数据来回答问题并将其提供给LLMs的过程。然后LLMs可以进行推理并生成答案。

处理RAG的一种方法是向量检索,它使用向量数据库。这是一种强大的方法,但并非适合企业使用。让我们探讨向量检索的概念、过程以及在企业使用案例中的限制。我们还将介绍一种更优越的用于企业的RAG方法:基于图的RAG检索。

  • 在RAG中,矢量检索依赖于存储数据对象的矢量嵌入的矢量数据库。

  • KNN / ANN算法通过测量矢量嵌入之间的数值距离来定义数据片之间的关系。

  • 然而,矢量检索存在一些限制,如粗糙的分块、低效的KNN / ANN算法、密集和稀疏映射、成本和刚性,以及输出中的潜在不准确性。

  • 为了克服这些限制,Writer开发了一种基于图的RAG方法,称为Writer知识图。

  • Writer知识图谱利用专门的LLM处理数据并建立数据点之间的语义关系,提供了相关数据的准确检索。

  • Writer知识图谱与矢量数据库不同,成本效益高,易于更新,并支持各种文件类型,使其成为企业RAG的优选。

向量检索试图解决什么问题?


传统上,基于关键词的搜索已被用于检索查询的答案。实质上,算法将搜索包含与查询中找到的相同单词的信息,并提供结果。

但是在自然语言问答系统中利用关键词匹配存在问题,因为查询中的关键词通常无法与响应中使用的词汇匹配。

举个例子,如果有人搜索“寻找团体社交活动供烹饪爱好者参与”,基于关键词的检索系统将无法与“烹饪课程”或“美食品尝活动”匹配。用户可能需要查看大量包含“团体社交活动”和“烹饪”等无关紧要的响应,才能从检索到的信息中找到价值。

通过矢量数据库进行知识检索是一种机器学习技术,通过寻找具有类似语义或相关含义的概念的数据来弥合这种语言差距。

向量检索如何工作?


任何信息检索过程包括三个步骤:

  1. 数据处理:将数据分割成较小的片段并存储在数据结构中。

  2. 查询和检索:接收查询并检索相关数据片段以回答该查询。

  3. 答案生成:将相关数据发送到LLM,LLM推理并生成答案。

这是使用向量检索的方式:

1. 数据处理

首先,像文本这样的数据对象被分割成100到200个字符的块。然后将每个数据块转换为矢量嵌入或数值表示。这些矢量嵌入被存储在矢量数据库中。

数据块之间的关系是通过衡量矢量嵌入之间的数值距离来定义的。使用我们先前的关键词查询示例,“食物”和“烹饪”这样的相似概念会在数值上比“食物”和“椅子”更接近。

2. 查询与检索

当用户提出问题时,查询也会转换为矢量嵌入。K-近邻(KNN)或近似最近邻(ANN)算法确定并检索最接近(“k”)查询的数据点。

3. 答案生成

前“k”个矢量嵌入被重新映射回原始数据块,并发送到LLM进行推理和答案生成。

向量检索的限制

尽管向量检索已经变得流行起来,但在企业使用案例中需要考虑某些限制。

粗糙的分块方法

由于LLM只能处理有限的上下文窗口,数据通常被分割成粗糙的100到200字符的块进行嵌入。这可能导致上下文丢失,因为相关数据可能被分割开来。

假设为LLM检索到以下分块:“他们重新开始了原型制作过程,使用了替代成分,有时从美国进口成分来进行测试。”

尽管该句描述了与原型制作过程和成分相关的动作,但缺乏周围的上下文(在本例中是关于《掌握法国烹饪艺术》的维基百科文章)。无论是人类读者还是LLM都无法理解“他们”是谁,或者为什么“他们”要使用来自美国的成分进行原型制作和测试。

此外,向量嵌入只能测量数据片段之间的相似性,缺乏关于它们关系的上下文信息。

低效和不准确的KNN/ANN算法

为了测量和识别在数值距离上最接近的向量嵌入,基于向量的数据库检索使用最近邻(KNN)算法,最初开发于1951年。但KNN算法在信息检索方面存在限制。

以下是主要限制:

  1. 可伸缩性:KNN算法在处理大数据集时表现不佳。随着数据集的增长,算法变得越来越低效和耗时。这可能会影响模型的整体性能,使其不适合处理大数据。

  2. 维数灾难:KNN算法在处理高维数据时遇到困难。随着维数的增加,算法的性能会恶化。这被称为维数灾难。KNN在高维空间中找到有意义的模式或相似之处变得具有挑战性,导致结果不够准确。

  3. 内存和存储需求:KNN算法需要将整个训练数据集存储在内存中。这可能会消耗大量内存和成本,尤其是对于大型数据集。此外,随着新增数据的加入,算法需要更新和维护整个数据集,这可能会消耗资源。

  4. 对噪声和离群值敏感:离群值会显著影响算法的决策过程,导致不准确的结果。数据中的噪声也会引入错误并影响算法的性能。

  5. 确定K的最佳值:在KNN算法中,选择K值(考虑的最近邻居数)至关重要。选择不当的K值可能导致数据过拟合或欠拟合。找到K的最佳值需要仔细的试验和调整。

  6. 不平衡数据:KNN算法在处理类别不平衡的数据集时遇到困难,其中不同类别的实例数量存在显著差异。该算法倾向于偏向主要类别,导致偏见预测并在少数类别上表现不佳。

另一个基于接近性的算法出现以弥补KNN的缺点——近似最近邻居(ANN)。ANN可以减少计算时间,比KNN更好地处理大型数据集。然而,使用ANN也存在一些缺点。其中包括由于为了效率而牺牲精度而导致的潜在近似误差,以及算法对各种参数的敏感性,可能需要仔细调整以获得最佳性能。在使用KNN和ANN算法进行信息检索任务时,考虑这些限制非常重要。鉴于企业数据集的复杂性,其他算法或技术更适合实现准确和高效的信息检索。

密集和稀疏映射

企业数据经常因密集和稀疏映射而对矢量检索提出挑战。例如,当处理设备不同版本的用户手册时,设备名称可能经常出现,导致密集映射。这可能导致向量估计不准确,进而导致不正确的结果或无法准确检索相关信息。此外,密集映射可能需要大量计算和耗费时间,导致检索时间缓慢。

另一方面,表格和代码等数值数据在与文本等其他数据对象相比较时可能会被解释为相似。数值数据被分组在一起,导致稀疏映射。


在上述稀疏映射示例中,“Q”表示自然语言问题,数字表示数值数据。系统难以检索准确信息,因为它只能根据向量之间的距离进行操作,而没有关于基于数字的数据和基于文本的问题之间的实际关系的上下文。因此,系统会撒下更广泛的网并在过程中带回无关信息。

成本和刚性

向量数据库既昂贵又繁琐。每次您需要添加新数据时,它都不能只是将其附加到现有数据集中。它需要重新运行所有数据并为每个数据对象分配一个新值。这是因为整个数据集中的内容决定了向量嵌入的每个值。随着每天增加新数据,企业环境需要更具动态性、灵活性和经济实惠的解决方案。

垃圾进,垃圾出

大语言模型中的幻觉程度或答案的准确性取决于训练数据的质量和您应用的训练技术。如果通过向量检索发送到LLM的数据是不正确的(出于上述原因),那么LLM的输出将是糟糕的。出于这个原因,基于向量的检索可能不是企业使用的最佳选择,因为它并不总是能够提供可靠和准确的结果。

基于知识图谱的RAG:企业RAG的更好方法


为了克服向量检索的局限性,Writer开发了一种独特的基于图的RAG方法,证明在准确性和处理企业数据方面优越。这种方法称为Writer Knowledge Graph,使用经过专门训练以大规模处理数据并建立数据点之间有价值的语义关系的专业LLM。和任何RAG流程一样,Writer Knowledge Graph遵循数据处理、查询和检索以及答案生成三个步骤:

1. 数据处理

实体被表示为节点,关系被表示为边。这些边可以用来展示节点之间的关系。例如,客户数据库的图可以包括每个客户的节点,并使用边来表示他们的购买。

2. 查询和检索

基于图的检索使用自然语言处理(NLP)算法、启发式算法和机器学习技术的组合来理解查询的上下文,并识别最相关的实体和关系。

3. 答案生成

然后LLM获取这些相关数据点并制定答案。

通过将数据存储在具有成本效益和易于更新的图结构中,语义关系得以保留,从而使得对每个查询的相关数据得以准确检索。先进的检索技术和LLM增强可以进一步提高准确性并减少幻觉。

支持您的文件类型:知识图谱处理结构化和非结构化数据,包括文档、电子表格、图表、演示文稿、PDF、音频和视频文件等。

处理密集数据:当数据高度集中时,基于向量的RAG会出现问题,而知识图谱在处理密集数据时表现出色。

高效更新数据:与基于向量的RAG不同,向知识图谱添加或更新数据既简单又快速,成本低廉。

发现企业RAG的全部潜力与Writer知识图谱


在考虑在企业应用中使用时,了解矢量检索的限制是很重要的。准确知识检索的力量在于采用基于知识图谱的RAG方法,利用专门的LLM和语义关系提供卓越的结果。通过选择正确的检索技术并增强LLM的能力,企业可以实现对其内部知识和数据的生成式AI的全部潜力。



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询