RAG 评测

学习视频:https://www.bilibili.com/video/BV1b69gB5E3h/?spm_id_from=333.1391.0.0&vd_source=c8bba3e4c6227d5b9d8c05405ebc0791

之前的传统指标

之前NLP的传统指标都是检测字面重叠的,比如BLEU,ROUGE,这些指标只能衡量字面重叠,无法衡量语义上的相似度。

针对RAG的评测

忠诚度是检查大语言模型有没有胡说,将输出的答案拆解成独立的声明,然后将每一条声明都去被检索到的文档中找,看能够被检索文档支持的声明占总共声明的多少条。

忠诚度这个指标只管答案是不是和检索到的文档相匹配,不管检索到的文档是不是对的。

Answer Releance 是答案相关性,这个环节不需要参考答案,将输出的答案给大语言模型要求它反向生成问题,然后将这些反向问题去和原始答案做相似度匹配。

Context Relevance 需要问题和检索到的文档,然后让 LLM 挑出检索文档中对问题有用的句子,这个指标是衡量的检索的效率。

RAG 评测中存在的已知偏差

三大偏差是位置偏差,冗长偏差和自我偏好。

实际工程中的缓解方案

具体执行中应该如何评估

针对Retriever进行评估,要先人工做一个数据集。

精确度就是在前k个指标中,比如说前 5 个指标,有多少个是和答案相关的。召回率是指在整个文档中和这个问题有关的有多少个,比如说20个,你能够将多少个检索出来。MRR 是衡量排序能力的,计算第一个相关文档排第几。举个例子比如现在找出了20个文档,第一个真正相关的文档可能排在第4. NDCG 则能够衡量整体的排序效果。它引入了更细粒度的打分,而且计算时加入了排序惩罚,排在最后面的会除以一个系数导致天然地就更小。

针对 Generator,我们先给定完美检索文档,看在完美文档下能够达到什么效果,用的三个评价指标,也就是忠诚度那三个。

诊断矩阵如下:

常见的7个问题

相关推荐
I_belong_to_jesus5 小时前
C++关于分支预测的优化1
开发语言·c++·算法
Code_Solitude12 小时前
C语言动态内存 + 柔性数组 + 数组名退化
c语言·算法·柔性数组
上海潭龙东海科技有限公司12 小时前
客运站管控之动态孪生技术方案(新增一屏管控模块
数据仓库·人工智能·算法·重构·动态规划
YLCHUP14 小时前
【思维&图论建模】题解:债权(debt)_图论_建模_思路转化_思维题目_C++算法竞赛
c++·笔记·算法·数学建模·贪心算法·深度优先·图论
思麟呀15 小时前
背包DP(01背包+完全背包)
c++·算法
笑容掩饰我的失落16 小时前
区块链从小白到精通(七):Solidity 语法精讲——数据类型、函数、修饰器与事件
算法·区块链·php·智能合约·哈希算法
Pniubi17 小时前
力扣24. 两两交换链表中的节点(递归)
算法·leetcode·链表
꧁细听勿语情꧂17 小时前
直接选择排序,堆排序,冒泡排序,递归快速排序、hoare版本、挖坑法、lomuto前后指针,非递归快速排序
c语言·开发语言·数据结构·算法
俊俊几年的18 小时前
动态规划(Dynamic Programming)详解:从入门到 LeetCode Hot 100
linux·c++·算法·leetcode·嵌入式·动态规划·c