【AI大模型应用开发】【RAG评估】0. 综述:一文了解RAG评估方法、工具与指标

简介: 【AI大模型应用开发】【RAG评估】0. 综述:一文了解RAG评估方法、工具与指标
  • 大家好,我是同学小张,日常分享AI知识和实战案例
  • 欢迎 点赞 + 关注 👏,持续学习持续干货输出
  • 一起交流💬,一起进步💪。
  • 微信公众号也可搜【同学小张】 🙏

本站文章一览:


前面我们学习了RAG的基本框架并进行了实践,我们也知道使用它的目的是为了改善大模型在一些方面的不足:如训练数据不全、无垂直领域数据、容易出现幻觉等。那么如何评估RAG的效果呢?本文我们来了解一下。

推荐前置阅读

0. RAG效果评估的必要性

  • 评估出RAG对大模型能力改善的程度
  • RAG优化过程,通过评估可以知道改善的方向和参数调整的程度

1. RAG评估方法

1.1 人工评估

最Low的方式是进行人工评估:邀请专家或人工评估员对RAG生成的结果进行评估。他们可以根据预先定义的标准对生成的答案进行质量评估,如准确性、连贯性、相关性等。这种评估方法可以提供高质量的反馈,但可能会消耗大量的时间和人力资源。

1.2 自动化评估

自动化评估肯定是RAG评估的主流和发展方向。

1.2.1.1 LangSmith

在我的这篇文章中 【AI大模型应用开发】【LangSmith: 生产级AI应用维护平台】1. 快速上手数据集与测试评估过程 介绍了如何使用LangSmith平台进行效果评估。

  • 需要准备测试数据集
  • 不仅可以评估RAG效果,对于LangChain中的Prompt模板等步骤都可进行测试评估。

1.2.1.2 Langfuse

Langfuse作为LangSmith的平替,也具有自动化评估的功能。在我的这篇文章中 【AI大模型应用开发】【LangFuse: LangSmith平替,生产级AI应用维护平台】0. 快速上手 - 基本功能全面介绍与实践(附代码) 介绍了如何使用Langfuse平台进行效果评估。

  • 需要准备测试数据集
  • 不仅可以评估RAG效果,对于LangChain中的Prompt模板等步骤都可进行测试评估。

以上两个平台对RAG的评估,都可以自定义自己的评估函数。当然其也支持一些内置的评估函数。

1.2.1.3 Trulens

TruLens是一款旨在评估和改进 LLM 应用的软件工具,它相对独立,可以集成 LangChain 或 LlamaIndex 等 LLM 开发框架。它使用反馈功能来客观地衡量 LLM 应用的质量和效果。这包括分析相关性、适用性和有害性等方面。TruLens 提供程序化反馈,支持 LLM 应用的快速迭代,这比人工反馈更快速、更可扩展。

使用的步骤:

(1)创建LLM应用

(2)将LLM应用与TruLens连接,记录日志并上传

(3)添加 feedback functions到日志中,并评估LLM应用的质量

(4)在TruLens的看板中可视化查看日志、评估结果等

(5)迭代和优化LLM应用,选择最优的版本

其对于RAG的评估主要有三个指标:

  • 上下文相关性(context relevance):衡量用户提问与查询到的参考上下文之间的相关性
  • 忠实性(groundedness ):衡量大模型生成的回复有多少是来自于参考上下文中的内容
  • 答案相关性(answer relevance):衡量用户提问与大模型回复之间的相关性

其对RAG的评估不需要有提前收集的测试数据集和相应的答案。

1.2.4 RAGAS

考虑标准的RAG设置,即给定一个问题q,系统首先检索一些上下文c(q),然后使用检索到的上下文生成答案as(q)。在构建RAG系统时,通常无法访问人工标注的数据集或参考答案,因此该工作将重点放在完全独立且无参考的度量指标上

四个指标,与Trulens的评估指标有些类似:

  • 评估检索质量:
  • context_relevancy(上下文相关性,也叫 context_precision)
  • context_recall(召回性,越高表示检索出来的内容与正确答案越相关)
  • 评估生成质量:
  • faithfulness(忠实性,越高表示答案的生成使用了越多的参考文档(检索出来的内容))
  • answer_relevancy(答案的相关性)

2. 常用评估指标

在上文评估方法中已经介绍了几种常用的评估指标:

2.1 Trulens 的RAG三元组指标

  • 上下文相关性(context relevance):衡量用户提问与查询到的参考上下文之间的相关性
  • 忠实性(groundedness ):衡量大模型生成的回复有多少是来自于参考上下文中的内容
  • 答案相关性(answer relevance):衡量用户提问与大模型回复之间的相关性

2.2 RAGAS的四个指标

四个指标,与Trulens的评估指标有些类似:

  • 评估检索质量:
  • context_relevancy(上下文相关性,也叫 context_precision)
  • context_recall(召回性,越高表示检索出来的内容与正确答案越相关)
  • 评估生成质量:
  • faithfulness(忠实性,越高表示答案的生成使用了越多的参考文档(检索出来的内容))
  • answer_relevancy(答案的相关性)

2.3 其它指标

参考论文:https://arxiv.org/pdf/2309.01431.pdf

(1)噪声鲁棒性(Noise Robustness)

衡量从噪声文档中提取有用的信息能力。在现实世界中,存在大量的噪声信息,例如假新闻,这给语言模型带来了挑战。

(2)否定拒绝(Negative Rejection)

当检索到的文档不足以支撑回答用户的问题时,模型应拒绝回答问题,发出"信息不足"或其他拒绝信号。

(3)信息整合(information integration)

评估模型能否回答需要整合多个文档信息的复杂问题,即,当一个问题需要查找多个文档,综合信息之后才能回答时,模型的表现。

(4)反事实鲁棒性(CounterfactualRobustness)

模型能否识别检索文档中已知事实错误的能力,即当索引的文档信息原本就是与事实相背时,大模型能否识别出不对。

3. 总结

本文主要总结了当前比较流行的评估方法和指标。当前AI技术的快速发展,RAG和RAG评估是当前比较有前景的发展方向,不断有新的评估工具和理论被提出,让我们持续跟进,了解这些工具和理论,从而在使用时知道如何选择。

参考

如果觉得本文对你有帮助,麻烦点个赞和关注呗 ~~~


  • 大家好,我是同学小张,日常分享AI知识和实战案例
  • 欢迎 点赞 + 关注 👏,持续学习持续干货输出
  • 一起交流💬,一起进步💪。
  • 微信公众号也可搜【同学小张】 🙏

本站文章一览:

相关文章
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
当大火的文图生成模型遇见知识图谱,AI画像趋近于真实世界
本文介绍了阿里云机器学习PAI团队开发的名为ARTIST的中文文图生成模型,该模型融合了知识图谱信息,能够生成更加符合常识的图像。ARTIST基于Transformer架构,将文图生成任务分为图像矢量量化和文本引导的图像序列生成两个阶段。在第一阶段,模型使用VQGAN对图像进行矢量量化;在第二阶段,通过GPT模型并结合知识图谱中的实体知识来生成图像序列。在MUGE中文文图生成评测基准上,ARTIST表现出色,其生成效果优于其他模型。此外,EasyNLP框架提供了简单易用的接口,用户可以基于公开的Checkpoint进行少量领域相关的微调,实现各种艺术创作。
|
5天前
|
机器学习/深度学习 数据采集 人工智能
【专栏】AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计
【4月更文挑战第27天】本文探讨了AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计。AI辅助工具利用机器学习、自然语言处理和图像识别提高效率,但面临数据质量、模型解释性、维护更新及安全性挑战。未来,AI将更注重用户体验,提升透明度,并在保护隐私的同时,通过联邦学习等技术共享知识。AI在软件测试领域的前景广阔,但需解决现有挑战。
|
5天前
|
人工智能
介绍一个工具,能够检测一段内容是否通过 AI 工具生成
介绍一个工具,能够检测一段内容是否通过 AI 工具生成
16 2
|
5天前
|
人工智能 iOS开发 MacOS
[译][AI OpenAI] 引入 GPT-4o 及更多工具至免费版 ChatGPT 用户
我们推出了最新的旗舰模型 GPT-4o,并为免费版 ChatGPT 用户提供更多功能,包括更快的速度、改进的文本、语音和视觉能力,以及新的桌面应用程序和简化的界面。
[译][AI OpenAI] 引入 GPT-4o 及更多工具至免费版 ChatGPT 用户
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
一个检测文字是否是 AI 生成的工具
一个检测文字是否是 AI 生成的工具
13 0
|
5天前
|
人工智能 NoSQL atlas
Fireworks AI和MongoDB:依托您的数据,借助优质模型,助力您开发高速AI应用
我们欣然宣布MongoDB与 Fireworks AI 正携手合作让客户能够利用生成式人工智能 (AI)更快速、更高效、更安全地开展创新活动
2546 1
|
5天前
|
人工智能 JSON 计算机视觉
AI工具-标注工具labelme
Labelme是一款Python开源图像标注工具,支持图像分类、目标检测、语义分割和实例分割等任务。它提供了一个GUI界面,用户可绘制圆形、方形和多边形进行标注。安装通过`pip install labelme`和`lxml`,使用时可导入预定义标签列表。标注结果保存为json文件,包含类别、边界框信息和形状类型。Labelme还支持格式转换,如转换为VOC或COCO格式。这款工具对视频标注也兼容。5月更文挑战第9天
40 5
|
5天前
|
人工智能 vr&ar
[译][AI Research] AI 模型中的“it”是数据集
模型效果的好坏,最重要的是数据集,而不是架构,超参数,优化器。
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
大模型和传统ai的区别
在人工智能(AI)领域,大模型一直是一个热议的话题。从之前的谷歌 DeepMind、百度 Big. AI等,再到今天的百度GPT-3,人工智能技术经历了从“有”到“大”的转变。那么,大模型与传统 ai的区别在哪里?这对未来人工智能发展会产生什么影响?
|
5天前
|
人工智能 监控 安全
在园区引入AI大模型
5月更文挑战第5天
20 0

热门文章

最新文章