揭开RAG评估的神秘面纱,让 RAG 评估不再困难(含代码)

检索增强生成(Retrieval-Augmented Generation,RAG)技术近年来备受瞩目。RAG系统结合了信息检索和语言生成的优势,通过从大量文本中检索相关信息来辅助生成高质量的文本内容,广泛应用于问答系统、文档生成等场景。然而,对RAG系统进行准确评估却面临诸多挑战,传统评估方法存在局限性,使得RAG评估犹如一个“黑箱”,难以清晰洞察系统内部的运行机制和性能表现。如何打破这个黑箱,成为当前RAG技术发展中的关键问题。

RAG评估的现状与困境

RAG系统组件的复杂关联性

RAG系统包含多个关键组件,如嵌入模型、分块策略、相似度阈值等,这些组件之间存在着紧密且脆弱的相互依赖关系。以嵌入模型为例,当更换为经过微调的嵌入模型时,原本设定的相似度阈值可能不再适用。若采用新的分块策略,检索到的文本块数量和内容也会发生变化。不同类型的文档,其最佳分块策略也各不相同。这种复杂的关联性使得为RAG系统选择“最优”配置变得极为困难,任何一个组件的变动都可能对整个系统的性能产生难以预测的影响。

当前评估方法的局限性

目前,RAG系统的评估方法主要有人工评估和基于大语言模型(LLM)的评估两种主流方式。人工评估虽然直观,但主观性强、成本高昂、效率低下且难以大规模扩展。不同的评估人员可能对同一答案的评价存在差异,而且随着数据规模的增大,人工评估的工作量会急剧增加。基于LLM的评估方式,如RAGAS和DeepEval等工具所采用的方法,通过生成合成或人工策划的评估数据集,让LLM对问题、检索到的上下文和答案进行评分,评估正确性、相关性、忠实性等方面。然而,这种方法也并非完美无缺。一方面,需要耗费大量资源来构建高质量的评估数据集;另一方面,LLM本身也存在一定的局限性,其评分结果可能受到自身训练数据和模型偏差的影响。

此外,还有一些工具专注于检索质量本身的评估,使用上下文精度、召回率、平均倒数排名(MRR)、归一化折损累计增益(NDCG)等指标。但这些指标的应用依赖于事先确定“正确”的文档,即需要一个“黄金标准”,而在实际应用中,获取这样的标准并非总是可行的。例如,在一些特定领域的文档检索中,可能并不存在一个明确的标准答案集。

构建以利用为中心的评估视角

为了应对RAG评估中的诸多挑战,一种以利用为中心的评估视角应运而生,旨在打破RAG评估的黑箱,更深入地理解和优化RAG系统。

比较不同配置

RAG系统的组件众多,每个组件的选择和设置都会影响系统性能。通过构建一个工具,允许用户上传文档、添加测试问题,并设置多种配置进行对比测试,能够有效分离各个组件的影响。以两种不同的嵌入模型配置为例,一种使用通用的句子转换器嵌入模型,另一种使用针对金融文档微调的嵌入模型,在其他参数保持一致的情况下,对同一问题进行测试。

结果发现,虽然两种配置生成的答案在表面上看起来相似,但在检索部分却存在显著差异。使用通用嵌入模型的配置检索到的部分文本块与问题的相关性较低,尽管它们的相似度得分较高;而经过微调的嵌入模型则能够检索到更多与问题相关的文本块,为生成答案提供了更丰富、准确的上下文。这种对比分析为优化RAG系统提供了直观的依据,帮助确定哪些组件的选择更为合适,哪些地方还存在改进的空间。

检索利用率得分(RUS)

为了更精确地量化检索的利用情况,定义了检索利用率得分(Retrieval Utilization Score,RUS)。RUS综合考虑了多个因素,以全面评估检索到的文本块在生成答案过程中的实际利用效率。

  1. 归一化折损累计相关性(DCR)

    该指标用于奖励模型尽早检索到有用的文本块。相关性得分会根据文本块在检索结果中的位置进行对数折扣,并与最佳可能的文本块排序进行归一化处理。这样,排在前面且相关性高的文本块会得到更高的分数,鼓励模型优先检索最有价值的信息。

  2. 相似度 - 相关性相关性(Spearman Rank)

    相似度得分(如余弦相似度)只能反映文本块与查询在嵌入空间中的“距离”,但不能保证其对生成答案的有用性。通过计算相似度和相关性得分之间的Spearman等级相关性,可以衡量两者之间的匹配程度,从而评估检索的有效性。理想情况下,相似度高的文本块应该与答案的相关性也高。

  3. 浪费相似度惩罚(Wasted Similarity Penalty)

    如果相似度排名靠前的文本块实际上与问题无关,就会对系统进行惩罚。这一惩罚机制能够避免系统过度依赖高相似度但无用的文本块,促使其更精准地检索相关信息。

最终的RUS得分是这三个因素的加权组合,通过合理设置权重(如α = 0.5,β = 0.4,γ = 0.1),可以综合评估检索利用情况。这种量化的评估方式为比较不同RAG配置的性能提供了客观依据,帮助开发者更清晰地了解系统在检索利用方面的优势和不足。

可视化嵌入空间

将查询、文档文本块和生成的答案投影到2D空间(使用PCA、T - SNE和UMAP等技术)是一种直观的评估方法。尽管投影到2D空间会导致一定的信息损失,但它能够让评估者快速发现异常行为和潜在问题。

在可视化结果中,可以观察检索到的文本块是否聚集在查询附近,相关文本块是否与查询紧密相关,以及语义相似的文本块在嵌入空间中是否接近。例如,在某个配置的可视化中,发现某个文本块在嵌入空间中与查询和答案非常接近,但实际上在生成答案时却没有发挥作用,这就提示可能存在检索策略的问题。通过可视化,能够在宏观层面上对RAG系统的检索行为有一个直观的认识,为进一步的优化提供方向。

LLM作为推荐评判者

借助LLM强大的分析能力,构建一个提示,将所有配置的详细信息(如相似度得分、相关性得分、检索指标、最终答案等)输入给LLM,让其扮演评判者的角色。LLM可以根据这些信息,分析可能的潜在原因,提供优化建议,起到推荐系统的作用。同时,它还能验证人工分析得出的见解,发现更多潜在的观察点。对于时间有限或缺乏耐心的评估者来说,LLM可以承担大部分的分析工作,提高评估效率。

未来探索方向

目前,以利用为中心的RAG评估方法还处于不断发展和完善的阶段,未来有许多值得探索的方向。

  1. 更灵活的配置选项

    赋予用户更大的自主权,允许他们插入自己的代码,在不重写整个管道的情况下,轻松测试新的嵌入模型、相似度度量方法等。这将极大地提高评估工具的适应性和扩展性,满足不同用户在特定场景下的评估需求。

  2. 批量评估

    通过支持Excel文件上传,用户可以一次性上传一批问题和答案(可选)进行评估,避免了手动逐个输入的繁琐过程,便于在大规模数据集上测试RAG系统的性能,提高评估效率。

  3. 支持多种文档格式

    使评估工具能够处理多种文档格式,如PDF、Word文件、幻灯片等,甚至可以在一次运行中处理混合格式的文档,增强工具的通用性和实用性,适应不同场景下的文档评估需求。

  4. 更智能、可扩展的仪表板评估

    构建功能更强大的仪表板,能够轻松扩展到多个问题、配置和运行场景,从微观和宏观层面提供全面的见解。例如,在微观层面,可以详细分析每个问题 - 配置对的评估结果;在宏观层面,可以对不同配置在大量问题上的整体性能进行对比和趋势分析。

  5. 可导出结果

    允许用户将评估结果(包括所有指标、分数和比较信息)下载为Excel或CSV文件,便于进行离线分析和共享,方便团队协作和进一步的数据挖掘。

  6. 更好的会话管理和全面部署

    优化评估工具的会话状态处理,提高用户体验,并最终将其部署为一个完善的、可用于生产环境的应用程序,使其能够在实际业务中发挥更大的作用。

迈向透明的RAG评估

通过将嵌入可视化与双重视角评分(以利用为中心的评估视角)相结合,打破了RAG评估的黑箱,为深入理解和优化RAG系统提供了有力的支持。这种方法使得评估者能够清晰地看到检索系统的运行情况,理解为什么某些配置比其他配置表现更好,并且在不需要昂贵的人工标注或预先确定正确答案的情况下进行优化。未来,随着RAG技术的不断发展,更灵活、智能、高效的评估方法将持续涌现,推动RAG系统在各个领域的广泛应用和性能提升,为自然语言处理技术的发展注入新的活力。

code:https://github.com/Sakshee5/Evaluating-RAG-Systems

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大模型之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值