留言

评估使用 Amazon Bedrock 的检索增强生成应用程序的可靠性 机器学习博客

评估使用 Amazon Bedrock 的检索增强生成应用的可靠性

关键点摘要

检索增强生成RAG 是通过整合外部知识来源来提升大型语言模型LLMs的一种技术,能够在生成回复之前参考权威知识库。RAG 系统虽然前景广阔,但面临诸多挑战,包括获取最相关知识、避免与检索上下文不一致的幻觉等。监控和评估基于 RAG 的生成人工智能AI应用至关重要,以确保其在现实世界场景中的有效性和可靠性。本文展示了如何在 Amazon Bedrock 上评估 RAG 系统和应用的性能、可信性及潜在偏见。

引言

检索增强生成RAG作为一种提升 LLM 性能的技术,通过集成外部知识源来提高响应的相关性、准确性和效率,而无需对模型进行重训练,这是提升 LLM 性能的一种成本效益解决方案。然而,RAG 系统面临一些挑战,例如有效检索知识、避免生成无效信息幻觉以及检索与生成组件的高效整合。此外,RAG 架构可能引发潜在问题,例如“检索崩溃”,导致系统学习检索相同的文档,而不论输入内容如何。因此,评估 RAG 应用的性能与可信性尤为重要,这对实现负责任的 AI 在各领域如问答、对话系统和内容生成中的应用至关重要。

在本篇文章中,我们将介绍如何在 Amazon Bedrock 上评估 RAG 流程和应用的性能、可信性以及潜在偏见。Amazon Bedrock 是一项完全托管的服务,提供来自多家顶级 AI 公司的高性能基础模型FMs,以及构建安全、隐私和负责任的生成 AI 应用的广泛能力。

RAG 在现实情境中的评估和监测挑战

评估 RAG 系统的性能由于其复杂的架构而面临显著挑战,包括检索模块和生成组件由 LLM 表示。每个模块的工作原理不同,需要独特的评估方法,从而使得全面评估 RAG 的整体性能变得困难。以下是一些可能遇到的挑战:

缺乏参考真相:在许多开放式生成任务中,没有单一的正确答案或参考文本可供评估系统输出的准确性。这使得标准评估指标的应用变得复杂。真诚度评估:RAG 系统生成的输出应与检索的上下文保持一致。以自动化方式评估这种一致性,特别是在开放式响应中并非易事。上下文相关性评估:RAG 输出的质量在很大程度上取决于检索到的上下文知识是否合适。自动评估检索上下文与输入提示之间的相关性仍然是一个开放性挑战。事实与连贯性的权衡:检索知识的事实准确性虽然重要,但生成的文本也应当自然连贯。衡量和兼顾事实一致性与语言流畅性十分困难。复合错误、诊断和可追溯性:错误可能源于检索与生成组件。将错误归因于检索失败或生成不一致并不简单,尤其是在缺乏明确中间输出的情况下。人工评估的挑战:虽然人工评估适用于样本输出,但其成本高且主观,难以在多个示例中扩展。评估过程中需要域专家创建和评估数据集,这通常是费时耗力的。缺乏标准化基准:目前还没有广泛接受的标准化基准用于全面评估不同 RAG 系统的能力。缺乏这些基准会使得对不同 RAG 技术、模型和参数配置的比较变得困难,阻碍了 selecting 适合特定用例的理想 RAG 方法的过程。

解决这些评估和监测挑战是当前研究的活跃领域,因为稳健的指标对于迭代与部署可靠的 RAG 系统至关重要。

RAG 评估概念与指标

正如前文所述,基于 RAG 的生成 AI 应用包含了两个主要过程:检索与生成。检索是一种使用用户查询从知识库中提取相关文档的过程,而生成是从 LLM 制定最终响应的过程。监控和评估这两个过程至关重要,因为它们影响应用的性能和可靠性。

检索指标

你可以使用以下检索指标:

上下文相关性:此指标衡量 RAG 系统检索的段落或片段是否与给定查询相关,值的范围为 01,值越高表示相关性越强。上下文召回率:此指标评估检索到的上下文内容与标注答案的匹配程度,值的范围为 01,值越高表明性能越好。上下文精度:此指标衡量是否所有真正相关的信息都被高排名或适当地显示。这个度量通过考量问题、真确答案和上下文来计算,值的范围为 01,值越高表示精度越好。

生成指标

你可以使用以下生成指标:

真诚度:该指标评估 RAG 系统生成的答案是否真实可靠,最大程度避免幻觉,确保输出由 RAG 系统输入的上下文所支持。答案相关性:此指标评估生成的答案是否与给定的查询相关,惩罚包含冗余信息的情况,值的范围为 01,值越高表示更相关。答案语义相似度:该指标对比生成答案与参考答案的意义和内容,相似度值的范围为 01,值越高表示两个答案的语义越接近。

方面评估

方面的评估如下:

有害性是/否:生成的答案是否可能对个人、社区或社会造成危害。恶意是/否:提交是否意图伤害、欺骗或利用用户。连贯性是/否:生成的答案是否逻辑清晰且结构合理。正确性是/否:生成的答案是否事实准确且没有错误。简洁性是/否:生成的答案是否清楚和高效地传达信息,没有冗余内容。

RAG 三元组由 TrueLens 提出,主要由三种不同的评估组成。此外,RAGAS 论文提出了一种自动化指标,用于无参考真相方式评估这三种质量维度,避免依赖人工标注的答案。

评估使用 Amazon Bedrock 的检索增强生成应用程序的可靠性 机器学习博客

解决方案概述

借助 Amazon Bedrock,您可以评估基于 RAG 的应用。以下部分将描述实现此解决方案的步骤:

设置可观察性。准备评估数据集。选择指标并准备评估提示。汇总和审查指标结果,然后优化 RAG 系统。

设置可观察性

在 RAG 系统中,多个组件输入处理、嵌入、检索、提示增强、生成和输出格式化相互作用生成借助外部知识源的答案。监控用户查询、搜索结果、元数据和组件延迟有助于开发人员识别性能瓶颈、理解系统交互以及监测问题,这对维持、优化和有效扩展 RAG 系统至关重要。

要为 RAG 系统设置可观察性,除了指标和日志之外, 追踪 是必不可少的。实现追踪的第一步是为应用程序加上侦测代码,以记录入站和出站请求及其有关事件的相关联数据。您可以选择或结合多种不同的侦测选项。

准备评估数据集

要评估 RAG 系统的可靠性,您需要一个随时间演变并反映 RAG 系统状态的数据集。每条评估记录至少包含以下三者中的三项:

用户查询:到达 RAG 系统的用户查询。参考文档:从知识库检索并添加为最终提示上下文的文档内容。AI 答案:来自 LLM 生成的答案。

真相:可选地,您还可以添加真相信息:

上下文真相:与用户查询相关的文档或片段。

答案真相:用户查询的正确答案。

选择指标并准备评估提示

数据集准备好后,您可以选择对应用和用例最重要的指标。除了前面讨论的指标外,您还可以创建符合您业务目标的定制指标。允许使用 LLM 作为判断标准评价是关键,评估提示在提供准确和可靠的评估中起着重要作用。设计评估提示时,应遵循以下最佳实践:

角色明确:明确 LLM 应承担的角色,如“评估者”或“裁判”,以确保其理解自身的任务。指示清晰:提供具体指令,说明 LLM 应如何评估响应,需考虑的标准或使用的评分标准。解释评估程序:概述需要评估的参数和评估步骤,包括必要的背景信息。处理边缘情况:预测并处理评估过程中可能出现的边缘情况或模糊点。

汇总与审查指标结果并优化 RAG 系统

在获得评估结果后,您可以将指标存储在可观察性系统中,识别基于其值或总和的改进点。RAG 系统每个方面的性能都有级联效应影响后续处理,因此在审查和优化时,应该从流程左侧开始,即在整个链条中先优化早期步骤。例如,对文档解析的优化会影响块的创建、嵌入质量和模型输出等。

总结

本文强调了评估和监测基于 RAG 的生成 AI 应用的重要性,展示了 RAG 系统的评估指标方案,并介绍了如何在 Amazon Bedrock 中使用基础模型来计算 RAG 可靠性指标。对于组织而言,选择与其目标和优化配置最相关的指标是至关重要的。

如果 RAG 不足以满足你的用例需求,可以选择在 Amazon Bedrock 或 Amazon SageMaker 上进行 微调 或持续预训练 以构建特定于领域和组织的定制模型。最重要的是,将人类纳入循环以确保 AI 系统及其评估机制与其预期使用和目标保持一致。

关于作者

Oussama Maxime Kandakji 是 AWS 的高级解决方案架构师,专注于数据科学与工程。他与企业客户合作,解决业务挑战并在 AWS 上构建创新功能。

Ioan Catana 是 AWS 的高级人工智能与机器学习专家解决方案架构师。他帮助客户在 AWS 云中开发和扩展机器学习解决方案和生成 AI 应用。Ioan 在软件架构设计与云工程方面拥有超过 20 年的经验。

蘑菇加速器app官方
构建良好架构的 IDP 解决方案与自定义镜头 第 2 部分:安全性 机器学习博客