AI知识库

53AI知识库

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


知识库越大向量检索准确性越低!RAG应用的陷阱
发布日期:2024-09-29 18:39:27 浏览次数: 1696 来源:AI工程化


在构建知识库的过程中,我们除了关注内容解析、文本分块层面对RAG性能影响之外,知识库大小会对RAG性能会有什么样的影响呢?AI工具公司EyeLevel.ai的数据科学家Daniel Warfield和前IBM Watson高级工程师Dr. Benjamin Fletcher博士在RAG技术规模化研究过程中发现一个现象:向量搜索的准确性随着数据量的增加而显著下降。
他们发现,使用向量数据库进行相似性搜索时,当文档数量仅达到10,000页时,搜索精度就开始出现明显下降。更令人担忧的是,当文档数量达到100,000页时,性能损失高达12%。
研究团队使用Pinecone向量数据库,结合LangChain和LlamaIndex两种流行的RAG框架进行测试。结果显示,这两种框架在文档数量增加时都出现了显著的性能下降。
测试方案设计如下:
  • 定义了92个基于真实世界文档的问题。
  • 创建了四个文档集,每个集合都包含相同的310页核心文档,这些文档包含了92个测试问题的答案。
  • 在核心文档的基础上,逐步增加无关文档的数量,创建了四个测试集:1,000页、10,000页、50,000页和100,000页。


此图表显示了每个文档集中的相关页面数量(蓝色为相关文档,红色为无关文档),与每个文档集的总大小进行比较。
测试结果显示:
  • 在1,000页文档集上,三种方法的性能差异不大。
  • 到10,000页时,LangChain和LlamaIndex(简单RAG)的准确率开始明显下降,大约下降了5%。
  • 在50,000页文档集上,这两种方法的准确率进一步下降,降幅接近10%。
  • 当文档数量达到100,000页时,LangChain和LlamaIndex的性能损失高达12%。
研究团队指出,向量搜索在大规模数据集上表现不佳的原因可能在于如何将信息"有意义地"组织到向量空间中。现有的编码器似乎难以在向量空间中有效地组织大量文档,导致空间变得"杂乱",使得基于距离的搜索效果下降,这也说明了embedding模型的重要性。
理论上,高维向量空间可以容纳大量信息。例如,1536维的向量空间可以描述的内容数量远远超过已知宇宙中的原子数量。然而,实际应用中,如何有效地将信息组织到向量空间中是一个巨大的挑战。现代编码器在处理大规模文档集时,难以将信息有意义地组织到向量空间中,导致基于距离的搜索性能下降。
也就是说,造成这个问题的根源可能在于RAG系统强依赖的向量相似性搜索策略。例如,Pinecone等向量数据库通常使用余弦相似度或欧氏距离来计算向量间的相似性。然而,随着文档数量的增加,这些简单的距离度量可能无法准确捕捉文档间的语义关系。
相比之下,GroundX给出的方案是采用了基于语义对象相似性的比较方法,避免了直接使用向量,从而在大规模数据集上保持了较好的性能,在整个测试过程中表现出了更好的稳定性。即使在100,000页的大规模数据集上,其准确率仅下降了约2%。
出现这一结果是符合直觉的,作为一个知识型应用,高质量的、精准的数据对于提升检索性能是至关重要的,比如,一个组织,团队规模较小时,越多的context是有利于团队更好的决策和执行,随着组织规模扩大,太多的context甚至是无关的context会带来巨大的信息负担,进而影响组织效率。
因此,不仅要控制质量,也要控制数量,这在text2sql实践中,增加一些选表模型,就是为了缓解这一类问题,随着知识库越建越大,如何拆分知识库,以及更准确的的找到相关知识库,这一类问题也将会越来越被人所关注。
在实践层面,混合检索的方式也是克服这一类问题的有效方式之一,不仅使用向量检索,也适用文本检索。这其中就包括之前介绍的“上下文检索”这样的方案详见:Anthropic提出Contextual Retrieval让RAG再进化,大幅降低检索失败率


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

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

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

联系我们

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

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询