尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Ragas: Automated Evaluation of Retrieval Augmented Generation——检索增强生成的自动化评估

Ragas: Automated Evaluation of Retrieval Augmented Generation——检索增强生成的自动化评估 《Ragas检索增强生成的自动化评估》核心是为解决RAG系统评估难的问题提出了一套名为Ragas的无参考自动化评估框架。以下是其主要研究内容的系统总结一、研究背景与问题RAG系统的价值通过检索外部知识库为LLM提供上下文能有效减少幻觉、更新知识但系统搭建涉及检索模型、语料库、LLM及提示词等多个环节的调优。现有评估困境传统基于困惑度或提取式问答的评估无法全面反映下游任务表现且对封闭API模型如GPT-4不适用。缺乏无需人工参考答案、能同时衡量检索质量和生成质量的自动化评估工具。二、Ragas框架的核心贡献提出三个无参考的质量评估维度完全通过提示LLM来实现自动化打分评估维度定义实现方法忠实度答案中的主张能否从检索到的上下文中推断防幻觉①用LLM将答案拆解为多个陈述句②逐句判断是否被上下文支持③得分 被支持句数 / 总句数答案相关性答案是否恰当、完整地回应了问题惩罚冗余或缺失①用LLM根据答案反向生成n个问题②计算生成问题与原始问题的嵌入余弦相似度③取平均作为得分上下文相关性检索到的上下文是否聚焦只包含必要信息降低成本和干扰①用LLM从上下文中提取对回答问题至关重要的句子②得分 提取句数 / 上下文中总句数所有提示均基于GPT-3.5-turbo-16k实现框架已集成至LangChain和Llama-Index便于开发者使用。三、实验验证WikiEval数据集为验证Ragas指标的有效性作者构建了WikiEval数据集数据来源选取50个2022年后有更新的维基百科页面用ChatGPT生成问题及标准答案。人工标注两名标注者沿三个维度对答案/上下文进行成对比较一致性达90%~95%。评估方式计算Ragas在成对比较中选更优者与人工判断的准确率。四、主要实验结果评估维度Ragas准确率对比基线GPT打分/排名忠实度高接近95%显著优于基线答案相关性中等偏高低于忠实度因差异细微显著优于基线上下文相关性最低长上下文时LLM提取关键句困难优于基线但仍具挑战总体表明Ragas与人工判断高度一致尤其在忠实度上表现突出而上下文相关性是最难自动化的维度。五、论文的主要结论与意义实践价值Ragas为RAG开发者提供了无需标注数据、可快速迭代的评估工具尤其适用于封闭API场景。学术贡献首次系统提出覆盖“检索-生成”全链路的无参考评估指标体系。公开了WikiEval数据集为后续研究提供基准。局限性依赖LLM自身能力如GPT-3.5在长文本上下文提取和细微差异区分上仍有改进空间。Ragas是一套无需参考答案、通过LLM自动评估RAG系统“答案是否忠实于证据、是否切题、检索是否精准”的框架实验证明其评估结果与人类高度一致能有效加速RAG系统的开发与调优。这里是自己的论文阅读记录感兴趣的话可以参考一下如果需要阅读原文的话可以看这里如下所示项目地址在这里如下所示摘要我们引入 Ragas检索增强生成评估一个用于对检索增强生成RAG流程进行无参考评估的框架。RAG 系统由检索模块和基于 LLM 的生成模块组成通过向 LLM 提供来自参考文本数据库的知识使其能够充当用户与文本数据库之间的自然语言层从而降低幻觉风险。然而评估 RAG 架构具有挑战性因为需要考虑多个维度检索系统识别相关且聚焦的上下文段落的能力、LLM 忠实利用这些段落的能力以及生成内容本身的质量。Ragas 提出了一套指标可用于评估这些不同维度而无需依赖真实人工标注。我们认为这样的框架能够显著加快 RAG 架构的评估周期鉴于 LLM 的快速普及这一点尤为重要。1 引言语言模型LMs捕获了关于世界的大量知识使其能够在不访问任何外部来源的情况下回答问题。这种将 LM 视为知识库的观点在 BERTDevlin 等2019引入后不久便出现并随着更大规模 LM 的推出而更加稳固Roberts 等2020。尽管最新的大型语言模型LLMs捕获了足够的知识在各种问答基准测试中可与人类表现相媲美Bubeck 等2023但将 LLM 用作知识库的想法仍有两个根本局限性。首先LLM 无法回答关于其训练后发生事件的问题。其次即使是最大的模型也难以记忆训练语料中仅被很少提及的知识Kandpal 等2022Mallen 等2023。解决这些问题的标准方案是依赖检索增强生成RAGLee 等2019Lewis 等2020Guu 等2020。回答问题时本质上涉及从语料库中检索相关段落并将这些段落连同原始问题一起输入给 LM。虽然早期方法依赖于专门的 LM 进行检索增强语言建模Khandelwal 等2020Borgeaud 等2022但近期工作表明简单地将检索到的文档添加到标准 LM 的输入中也能表现良好Khattab 等2022Ram 等2023Shi 等2023从而使得检索增强策略可以与仅通过 API 使用的 LLM 结合。尽管检索增强策略的有效性显而易见但其实现需要大量调优因为整体性能会受到检索模型、所考虑的语料库、LM 或提示词公式化等因素的影响。因此检索增强系统的自动化评估至关重要。在实践中RAG 系统通常根据语言建模任务本身进行评估即通过测量在某些参考语料库上的困惑度。然而这种评估并不总能预测下游性能Wang 等2023c。此外这种评估策略依赖于 LM 的概率这对于某些封闭模型例如 ChatGPT 和 GPT-4是不可访问的。问答是另一种常见的评估任务但通常只考虑包含简短提取式答案的数据集这可能无法代表系统的实际使用方式。为解决这些问题我们在本文中提出了 Ragas一个用于自动化评估检索增强生成系统的框架。2 相关工作使用 LLM 估计忠实度检测 LLM 生成响应中的幻觉问题已被广泛研究Ji 等2023。一些作者提出了使用少样本提示策略预测事实性的想法Zhang 等2023。然而近期分析表明现有模型在使用标准提示策略时难以检测幻觉Li 等2023Azaria 和 Mitchell2023。其他方法依赖于将生成的响应与外部知识库中的事实相链接Min 等2023但这并非总是可行。另一种策略是检查分配给单个词元的概率我们期望模型在幻觉答案上比在事实性答案上更不自信。例如BARTScoreYuan 等2021通过查看给定输入下生成文本的条件概率来估计事实性。Kadavath 等2022使用了该想法的一种变体。基于观察到 LLM 在回答多项选择题时提供校准良好的概率他们本质上将验证模型生成答案的问题转换为一个询问答案真伪的多项选择题。Azaria 和 Mitchell2023没有查看输出概率而是提出在 LLM 隐藏层的权重上训练一个监督分类器以预测给定陈述是否真实。虽然该方法表现良好但访问模型隐藏状态的需求使其不适用于通过 API 访问 LLM 的系统。对于不提供词元概率访问权限的模型如 ChatGPT 和 GPT-4需要不同的方法。SelfCheckGPTManakul 等2023通过多次采样答案来解决此问题。其核心思想是事实性答案更稳定当答案事实正确时我们可以预期不同样本趋向于语义相似而对于幻觉答案则不太可能如此。文本生成系统的自动化评估LLM 也被用于自动评估生成文本片段的其他方面超越事实性。例如GPTScoreFu 等2023使用指定所考虑方面如流畅性的提示然后根据给定的自回归 LM基于生成词元的平均概率对段落进行评分。Yuan 等2021之前也考虑过这种使用提示的想法尽管他们使用了较小的微调 LM即 BART并未观察到使用提示有明显的益处。另一种方法直接要求 ChatGPT 通过提供 0 到 100 之间的分数或 5 星评级来评估给定答案的特定方面Wang 等2023a。值得注意的是通过这种方式可以获得强大的结果尽管其局限性在于对提示的设计敏感。一些作者没有对单个答案进行评分而是专注于使用 LLM 从多个候选答案中选择最佳答案Wang 等2023b通常用于比较不同 LLM 的性能。然而这种方法需要谨慎因为答案的呈现顺序会影响结果Wang 等2023b。关于真实答案或更广泛地说生成内容在文献中的典型使用方式大多数方法依赖于一个或多个参考答案的可用性。例如BERTScoreZhang 等2020和 MoverScoreZhao 等2019使用由预训练 BERT 模型生成的上下文嵌入来比较生成答案与参考答案之间的相似性。BARTScoreYuan 等2021类似地使用参考答案来计算诸如精确度估计为给定参考答案生成生成答案的概率和召回率估计为给定生成答案生成参考答案的概率等方面。3 评估策略我们考虑一个标准的 RAG 设置给定问题 q系统首先检索一些上下文 c(q)然后使用检索到的上下文生成答案 as(q)。在构建 RAG 系统时我们通常无法访问人工标注的数据集或参考答案。因此我们专注于完全自包含且无参考的指标。我们特别关注三个质量方面我们认为这些方面至关重要。首先忠实度指的是答案应基于给定上下文。这对于避免幻觉并确保检索到的上下文可以作为生成答案的依据至关重要。实际上RAG 系统通常用于生成文本相对于所依据来源的事实一致性非常重要的应用中例如在法律等知识不断演变的领域。其次答案相关性指的是生成的答案应针对所提出的实际问题。最后上下文相关性指的是检索到的上下文应聚焦包含尽可能少的不相关信息。考虑到向 LLM 馈送长上下文段落的成本这一点很重要。此外当上下文段落过长时LLM 在利用该上下文方面的效果通常会降低尤其是对于位于上下文段落中间部分的信息Liu 等2023。我们现在解释如何通过提示 LLM以完全自动化的方式衡量这三个质量方面。在我们的实现和实验中所有提示均使用可通过 OpenAI API 获得的 gpt-3.5-turbo-16k 模型进行评估。忠实度答案相关性上下文相关性如果上下文 c(q) 仅包含回答问题所需的信息则认为该上下文是相关的。特别是该指标旨在惩罚包含冗余信息。4 WikiEval 数据集为了评估所提出的框架我们理想上需要带有手动标注的问题-上下文-答案三元组示例。然后我们可以验证我们的指标在多大程度上与人类对忠实度、答案相关性和上下文相关性的评估一致。由于我们不知道有任何公开可用的数据集可用于此目的我们创建了一个新数据集我们称之为 WikiEvalsup4/sup。为了构建数据集我们首先选择了 50 个涵盖 2022 年初以来发生事件的维基百科页面sup5/sup。在选择这些页面时我们优先考虑了近期有编辑的页面。对于这 50 个页面中的每一个我们要求 ChatGPT 根据页面的引言部分提出一个可以回答的问题使用以下提示你的任务是根据给定上下文提出一个问题并满足以下规则问题应能从给定上下文中完全回答。问题应从包含非平凡信息的部分构思。答案不应包含任何链接。问题难度应适中。问题必须合理并能被人类理解和回应。问题中不要使用“提供的上下文”等短语。上下文[context]我们还使用 ChatGPT 在给定相应引言部分作为上下文的情况下回答生成的问题使用以下提示使用给定上下文中的信息回答问题。问题[question]上下文[context]所有问题都由两名标注者沿三个所考虑的质量维度进行标注。两名标注者均能流利使用英语并获得了关于三个质量维度含义的清晰指示。对于忠实度和上下文相关性两名标注者在约 95%95% 的情况下达成一致。对于答案相关性他们在约 90%90% 的情况下达成一致。分歧在标注者讨论后解决。忠实度为了获得关于忠实度的人工判断我们首先使用 ChatGPT 在不访问任何额外上下文的情况下回答问题。然后我们要求标注者判断在给定问题和相应维基百科页面的情况下两个答案即标准答案和没有上下文生成的答案中哪个更忠实。答案相关性我们首先使用 ChatGPT 获得答案相关性较低的候选答案使用以下提示以不完整的方式回答给定的问题。问题[question]然后我们要求人工标注者比较这个答案并指出哪个答案具有最高的答案相关性。上下文相关性为了衡量这一方面我们首先通过抓取相应维基百科页面的反向链接向上下文添加额外的句子。通过这种方式我们能够向上下文添加相关但对回答问题不太重要的信息。对于少数没有任何反向链接的页面我们改用 ChatGPT 来补全给定的上下文。5 实验表 1 分析了第 3 节提出的指标与我们提出的 WikiEval 数据集中人工评估之间的一致性。每个 WikiEval 实例要求模型比较两个答案或两个上下文片段。我们统计模型偏好的答案/上下文即估计忠实度、答案相关性或上下文相关性最高的与人工标注者偏好的答案/上下文一致的频率。我们以准确率即模型与标注者一致的实例比例报告结果。为了提供参考背景我们将我们提出的指标表 1 中显示为 Ragas与两种基线方法进行比较。对于第一种方法显示为 GPT Score我们要求 ChatGPT 为三个质量维度分配 0 到 10 之间的分数。为此我们使用一个提示来描述质量指标的含义然后要求根据该定义对给定的答案/上下文进行评分。例如对于评估忠实度我们使用了以下提示忠实度衡量答案相对于给定上下文的信息一致性。答案中任何无法从上下文中推导出的主张都应受到惩罚。给定一个答案和上下文分配一个 0-10 范围内的忠实度分数。上下文[context]答案[answer]如果 LLM 对两个候选答案分配了相同的分数则随机打破平局。第二种基线方法显示为 GPT Ranking要求 ChatGPT 选择偏好的答案/上下文。在这种情况下提示同样包含所考虑质量指标的定义。例如对于评估答案相关性我们使用了以下提示答案相关性衡量响应直接针对给定问题并与之相适应的程度。它惩罚给定问题下答案中存在冗余信息或不完整答案的情况。给定一个问题和答案根据答案相关性对每个答案进行排名。问题[question]答案 1[answer 1]答案 2[answer 2]表 1 中的结果表明我们提出的指标与人工判断的一致性远高于两种基线的预测。对于忠实度Ragas 的预测通常高度准确。对于答案相关性一致性较低但这主要是由于两个候选答案之间的差异通常非常细微。我们发现上下文相关性是最难评估的质量维度。特别是我们观察到 ChatGPT 在从上下文中选择关键句子的任务上经常遇到困难尤其是对于较长的上下文。6 结论我们强调了 RAG 系统自动化无参考评估的需求。特别是我们认为需要一个能够评估忠实度即答案是否基于检索到的上下文、答案相关性即答案是否针对问题和上下文相关性即检索到的上下文是否足够聚焦的评估框架。为支持这样一个框架的开发我们引入了 WikiEval一个包含这三个不同方面人工判断的数据集。最后我们还描述了 Ragas即我们实现的三个所考虑的质量方面。该框架易于使用即使没有任何真实数据也能为 RAG 系统的开发者提供有价值的见解。我们在 WikiEval 上的评估表明Ragas 的预测与人类预测高度一致尤其是在忠实度和答案相关性方面。
返回列表