支持私有化部署
AI知识库

53AI知识库

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


重新思考RAG的相关性:相似≠相关

发布日期:2025-07-15 07:44:34 浏览次数: 1525
作者:ChallengeHub

微信搜一搜,关注“ChallengeHub”

推荐语

RAG系统的相关性远比相似性复杂,深入探讨如何超越表面相似性实现真正有用的信息检索。

核心内容:
1. 向量嵌入的局限性:传统数据库查询有时更高效
2. 相关性的深层定义:上下文理解比表面相似更重要
3. 数据量与效果的非线性关系:海量数据可能导致检索退化

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家


最近,我在阅读一些关于 RAG系统的资料时,发现了一个有趣的现象:RAG 的相关性问题远比我们想象的要复杂。无论是从数据检索的角度,还是从大模型对相关性的理解来看,RAG 的表现都充满了挑战和机遇。

今天,我想和大家分享一下我的思考,希望能给大家带来一些启发,如有不对的地方欢迎讨论交流。

1. RAG 与相关性:不仅仅是向量嵌入

当我们谈论 RAG 时,很多人会立刻想到向量嵌入相似性度量。确实,向量嵌入在 RAG 中扮演了重要角色,但相关性并不仅仅依赖于这些技术。事实上,很多时候,传统的数据库查询和文本搜索已经足够解决问题向量嵌入虽然强大,但并不是万能的。

举个例子,假设你在开发一个基于 LLM 的医疗保健应用程序。你可能会发现,与“使用 LLM 构建医疗保健软件”相关的信息在向量空间中可能包括“用于诊断疾病的 AI”和“用于视频游戏开发的 AI”。虽然这些信息在向量空间中看起来“相似”,但它们实际上缺乏关键的联系。这就是为什么我们需要重新思考相关性的定义。

其实,我们早就开始用数据库和文本搜索了,而且用了好几十年,效果一直不错。大多数时候,用传统的方式查询数据反而更简单直接。向量嵌入当然也有它的用处,但说实话,很多时候你并不需要那么复杂的技术——你想要的数据其实并不难找。

那问题来了:如果数据真的很难找呢?这时候是不是就该用 vectorDB 了?答案是:是,也不是。因为这时候你真正面对的,其实是相关性的问题。

2. 相关性:超越表面相似性

相关性不仅仅是表面上的相似性。它涉及到更深层次的上下文理解,“对人类有用的信息对 LLM 也有帮助”。因此,我们需要构建一个能够理解上下文、提供真正有用信息的系统,而不是仅仅依赖于向量相似性。

研究发现,添加不相关文档有时甚至能提高 RAG 系统的准确性。这听起来有点反直觉,但背后的逻辑是:不相关文档可能通过某种方式“激活”模型的推理能力,从而帮助它更好地理解问题。然而,这并不意味着我们可以随意添加不相关文档。区分相关和非相关信息仍然是 RAG 系统的核心挑战。

3. 数据量 vs. 效果:RAG 系统的双刃剑

QAnything提到的实验让我对 RAG 系统的数据量问题有了新的认识。数据越多,效果越好吗? 这个问题看似简单,但答案却并不那么直接。升学百科问答的实验中,研究者发现,随着数据量的增加,RAG 系统的表现并非线性提升。第一批数据加入后,问答正确率为 42.6%,随着第二批数据的加入,正确率提升到了 60.2%。然而,当第三批数据加入后,正确率却急剧下降了 8 个百分点。这表明,海量数据并不总是带来更好的效果,反而可能导致检索退化问题。

3.1 检索退化:相似 ≠ 相关

在实验中,一个典型的例子是“大连医科大学怎么样?”这个问题。在加入第三批数据之前,系统能够正确回答,但在加入第三批数据后,系统却错误地返回了与“大连理工大学”相关的信息。这是因为第三批数据中包含了与“大连理工大学”相关的句子,这些句子在向量空间中与“大连医科大学”非常相似,但实际上并不相关。

语义检索的核心矛盾在于:相似性 ≠ 相关性。RAG 系统需要在有限的 LLM 输入 token 内,选择最相关的片段。如果检索到的片段虽然相似但不相关,就会导致回答错误。因此,如何优化检索机制,确保最相关的片段被选中,是 RAG 系统设计中的关键挑战

4. 如何定义和衡量相关性?

那么,如何定义相关性?这是一个复杂的问题。《How Easily do Irrelevant Inputs Skew the Responses of Large Language Models?》中提到了一些有趣的实验,研究者通过构建不同类型的信息(如无关信息部分相关的无关信息相关但误导性的无关信息)来测试大模型对相关性的敏感性。

例如,无关信息可能与问题主题无关,但由于高相似性得分而被检索到。而部分相关的无关信息则包含与问题主题部分重叠的信息,但不提供问题的答案。这些实验表明,大模型对相关性的理解与传统的检索系统并不完全一致。我们需要更精细的方法来衡量和优化相关性。这篇论文有以下实验结论:

  • 大模型更容易被语义高度相关但不相关的信息误导。
  • 随着无关信息数量的增加,大模型识别真正相关信息的能力会降低。
  • 大模型对无关信息的鲁棒性会随着问题格式的变化而变化。例如,自由格式的问题(如开放式问答)通常比多选 QA 格式更鲁棒。在多选 QA 格式中,模型可能会因为选项的干扰而选择不相关的答案。这说明,问题的设计方式也会影响模型对相关性的判断。

基于以上挑战,我们可以从以下几个方面优化相关性的衡量:

4.3.1 结合多维度评分

传统的向量相似性评分(如余弦相似度)虽然有用,但不足以完全衡量相关性。我们可以结合以下多维度评分:

  • 语义相似性评分:基于向量嵌入的相似性。
  • 上下文匹配评分:基于信息是否能够回答问题的核心。
  • 任务目标评分:基于信息是否有助于完成特定任务。

4.3.2 引入人类反馈

人类反馈是衡量相关性的重要依据。通过让人类评估模型返回的结果,我们可以更好地理解哪些信息是真正相关的。例如,可以设计以下评估指标:

  • 有用性评分:结果是否有助于完成任务?
  • 准确性评分:结果是否准确回答了问题?
  • 相关性评分:结果是否与问题真正相关?

4.3.3 优化提示工程

实验结论提到,CoT(Chain-of-Thought)提示指令增强提示对提高模型辨别能力的效果有限,甚至可能产生副作用。因此,我们需要更精细地设计提示,帮助模型更好地理解任务和上下文。例如:

  • 明确任务目标:在提示中明确告诉模型需要完成的任务。
  • 过滤无关信息:在提示中加入“忽略无关信息”的指令,但需要结合其他优化手段。

4.3.4 动态调整检索策略

RAG 系统的检索策略需要根据任务和数据进行动态调整。例如:

  • 分层检索:先进行粗粒度检索,再进行细粒度筛选。
  • 多轮检索:通过多轮交互逐步缩小检索范围,提高相关性。
5. RAG 的短暂性:优势还是劣势?

RAG 的另一个关键特性是它的短暂性。RAG 的结果是临时的,每次请求后都会消失。这听起来可能有点烦人,但实际上,短暂性为实时应用程序提供了重要的优势。它允许我们将数据隔离到特定的对话中,从而更容易防止数据泄露。

当然,短暂性也带来了一些挑战。我们需要不断地将数据重新注入上下文中,这对系统的设计和性能提出了更高的要求。但总的来说,短暂性是 RAG 系统的一个独特优势,尤其是在需要高度安全性和隐私保护的场景中。

6. 数据侧的优化:不仅仅是“越多越好”

Qnything实验提醒我们,数据侧的优化并不是简单的“越多越好”。虽然增加数据量可以扩展知识覆盖范围,但同时也可能引入噪声,导致检索退化。因此,数据去重、脏数据处理、以及数据与问题的精确匹配,都是优化 RAG 系统时需要考虑的重要因素。

6.1 数据质量 vs. 数据数量

在 RAG 系统中,数据质量比数据数量更重要。高质量的数据能够显著提升系统的表现,而低质量或冗余的数据则可能导致系统性能下降。因此,在增加数据量之前,我们需要确保数据的相关性和准确性

6.2 快速迭代与稳定性

如果数据越多效果越好,那么我们可以通过快速迭代来优化系统。然而,实验结果表明,数据量的增加并不总是带来效果的提升。因此,我们需要在迭代过程中持续监控系统的表现,确保每次数据更新都能带来正向的改进。

7. RAG未来的方向

我们正处于 AI 和 LLM 开发的早期阶段,就像早期的 Web 应用程序一样,我们现在建立的标准将决定未来 AI 应用程序的开发方式。因此,我们需要以更周到的视角来对待 RAG 等工具,而不仅仅是将其视为一种“一刀切”的解决方案。

通过关注相关性短暂性的细微差别,我们可以创建出能够提供更好、更精确结果的系统,现在是建立RAG最佳实践的机会

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

产品:场景落地咨询+大模型应用平台+行业解决方案

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

联系我们

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

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询