你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

如何使用 Azure AI Studio 评估生成式 AI 模型和应用程序

若要全面评估生成式 AI 模型和应用程序应用于大量数据集时的性能,可启动评估过程。 此评估过程使用给定数据集测试模型或应用程序,并且使用基于数学的指标和 AI 辅助式指标来量化衡量其性能。 此评估运行提供对应用程序功能和限制的全面见解。

若要进行此评估,可以利用 Azure AI Studio 中的评估功能,这是一个全面的平台,提供用于评估生成式 AI 模型性能和安全性的工具和功能。 在 AI Studio 中,可以记录、查看和分析详细的评估指标。

本文介绍如何使用 Azure AI Studio UI 中的内置评估指标创建针对模型运行的评估过程、测试数据集或流。 为了提高灵活性,可以建立自定义评估流,并使用自定义评估功能。 或者,如果你的目标只是执行批处理运行而不进行任何评估,也可以利用自定义评估功能。

先决条件

若要使用 AI 辅助指标运行评估,需要准备好以下各项:

  • 以下格式之一的测试数据集:csvjsonl
  • Azure OpenAI 连接。 以下其中一种模型的部署:GPT 3.5 模型、GPT 4 模型或 Davinci 模型。 仅在运行 AI 辅助质量评估时需要。

使用内置评估指标创建评估

通过评估运行,可以生成测试数据集中每个数据行的指标输出。 可以选择一个或多个评估指标来评估不同方面的输出。 你可以从 AI Studio 的评估、模型目录或提示流页创建要运行的评估过程。 然后,将显示评估创建向导,指导你完成设置评估运行的过程。

从评估页

在可折叠的左侧菜单中,选择“评估”>“+ 新建评估”。

用于创建新评估的按钮的屏幕截图。

从模型目录页

从可折叠的左侧菜单中,选择“模型目录”> 转到特定模型 > 导航到基准选项卡 >“尝试使用自己的数据”。 此时模型评估面板将打开,供你创建针对所选模型运行的评估过程。

“模型目录”页“尝试使用自己的数据”按钮的屏幕截图。

从流页

在可折叠的左侧菜单中,选择“提示流”>“评估”>“自动评估”。

如何选择内置评估的屏幕截图。

评估目标

从评估页开始评估时,需要先确定评估目标是什么。 通过指定适当的评估目标,我们可以根据应用的特定性质定制评估,确保指标的准确性和相关性。 我们支持三种评估目标:

  • 模型和提示:评估所选模型生成的输出和用户定义的提示。
  • 数据集:模型已在测试数据集中生成输出。
  • 提示流:已创建流,并且想要评估流的输出。

选择评估目标的屏幕截图。

数据集或提示流评估

进入评估创建向导后,可以为要运行的评估提供可选名称。 我们目前支持查询和响应方案,该方案专为在含或不含上下文信息的情况下回答用户查询和提供响应的应用程序而设计。

你可以为要运行的评估过程选择性地添加描述和标记,方便你整理、掌握更多背景信息以及检索。

你也可以使用帮助面板查看常见问题解答,并按照指导完成向导。

创建新评估时的基本信息页的屏幕截图。

如果要评估提示流,可以选择要评估的流。 如果从“流”页启动评估,我们将自动选择要评估的流。 如果打算评估另一个流,可以选择其他流。 请务必注意,流中可能有多个节点,每个节点可能有自己的变体集。 在这种情况下,必须指定要在评估过程中评估的节点和变体。

创建新评估时“选择要评估的流”页的屏幕截图。

配置测试数据

可以从预先存在的数据集中进行选择,也可以专门上传新数据集进行评估。 如果在上一步中没有选择流,则测试数据集需要有模型生成的输出,以便用于评估。

  • 选择现有数据集:可以从已建立的数据集集合中选择测试数据集

    创建新评估时用于选择测试数据的选项的屏幕截图。

  • 添加新数据集:可以从本地存储上传文件。 我们仅支持 .csv.jsonl 文件格式。

    创建新评估时“上传文件”选项的屏幕截图。

  • 流的数据映射:如果选择要评估的流,请确保将数据列配置为与流执行批处理运行所需的输入保持一致,从而生成用于评估的输出。 然后,将使用流的输出执行评估。 然后,在下一步中为评估输入配置数据映射。

    创建新评估时数据集映射的屏幕截图。

选择指标

我们支持 Microsoft 特选的三种指标,以便于你全面评估应用程序:

  • AI 质量(AI 辅助):这些指标评估所生成内容的整体质量和连贯性。 若要运行这些指标,需要部署模型作为裁判。
  • AI 质量 (NLP):这些 NLP 指标基于数学,同样评估所生成内容的整体质量。 它们通常需要真实数据,但不需要部署模型作为裁判。
  • 风险和安全指标:这些指标侧重于识别潜在的内容风险,并确保所生成内容的安全性。

“选择评估内容”的屏幕截图,其中选择了“AI 质量和安全性”。

可以参考下表,以获取每种场景中支持的指标的完整列表。 如需了解每个指标定义及其计算方式的更多详细信息,请参阅评估和监视指标

AI 质量(AI 辅助) AI 质量 (NLP) 风险和安全指标
有据性、相关性、连贯性、流畅性、GPT 相似性 F1 分数,ROUGE,分数,BLEU 分数,GLEU 分数,METEOR 分数 自我伤害相关内容、仇恨和不公平内容、暴力内容、性内容、受保护材料、间接攻击

运行 AI 辅助质量评估时,必须为计算过程指定 GPT 模型。 为计算选择 Azure OpenAI 连接和具有 GPT-3.5、GPT-4 或 Davinci 模型的部署。

AI 质量(AI 辅助)的屏幕截图,其中在创建新评估时选择了有据性、相关性和连贯性指标。

AI 质量 (NLP) 指标是基于数学的度量值,用于评估应用程序的性能。 它们通常需要真实数据来进行计算。 ROUGE 是一系列指标。 你可以选择 ROUGE 类型来计算分数。 各种类型的 ROUGE 指标提供多种方式来评估所生成文本的质量。 ROUGE-N 度量所生成文本与参考文本之间 n 元语法的重叠程度。

AI 质量 (NLP) 的屏幕截图,其中在创建新评估时选择了有据性、相关性和连贯性指标。

对于风险和安全指标,无需提供连接和部署。 Azure AI Studio 安全评估后端服务已预配 GPT-4 模型,该模型可生成内容风险严重性分数和推理,使你能够评估应用程序的内容危害。

可以设置阈值来计算内容危害指标(自我伤害相关内容、仇恨和不公平内容、暴力内容、性内容)的缺陷率。 缺陷率是通过获取严重性级别(非常低、低、中、高)高于阈值的实例百分比来计算的。 默认情况下,我们将阈值设置为“中”。

在计算受保护或面临间接攻击的材料的缺陷率时,缺陷率是通过采用输出结果为“true”(即有缺陷)的实例所占的百分比,计算公式如下:缺陷率 =(有缺陷实例数量/总实例数量)× 100。

由 Microsoft 策划的风险和安全指标的屏幕截图,其中选择了“自我伤害”、“受保护材料”和“间接攻击”。

注意

AI 辅助风险和安全指标由 Azure AI Studio 安全评估后端服务托管,仅在以下区域提供:美国东部 2、法国中部、英国南部、瑞典中部

评估的数据映射:必须指定数据集中的哪些数据列与评估所需的输入相对应。 不同的评估指标需要不同类型的数据输入,以进行准确的计算。

数据集与评估输入的对应关系的屏幕截图。

注意

如果要利用数据进行评估,“响应”应映射到数据集 ${data$response} 中的响应列。 如果要利用流进行评估,“响应”应来自流输出 ${run.outputs.response}

有关每个指标的特定数据映射要求的指导,请参阅表中提供的信息:

查询和响应指标要求
指标 查询 响应 上下文 基本事实
真实性 必需:Str 必需:Str 必需:Str 不可用
一致性 必需:Str 必需:Str 空值 空值
流畅度 必需:Str 必需:Str 空值 空值
相关性 必需:Str 必需:Str 必需:Str 不可用
GPT 相似性 必需:Str 必需:Str 不可用 必需:Str
F1 分数 空值 必需:Str 不可用 必需:Str
BLEU 分数 空值 必需:Str 不可用 必需:Str
GLEU 分数 空值 必需:Str 不可用 必需:Str
METEOR 分数 空值 必需:Str 不可用 必需:Str
ROUGE 分数 空值 必需:Str 不可用 必需:Str
自我伤害相关内容 必需:Str 必需:Str 空值 空值
仇恨和不公平内容 必需:Str 必需:Str 空值 空值
暴力内容 必需:Str 必需:Str 空值 空值
性内容 必需:Str 必需:Str 空值 空值
受保护的材料 必需:Str 必需:Str 空值 空值
间接攻击 必需:Str 必需:Str 空值 空值
  • 查询:查找特定信息的查询。
  • 响应:模型针对查询生成的响应。
  • 上下文:生成响应所依据的源(即真实文档)。
  • 真实数据:用户/人类针对查询以真实答案提供的响应。

查看并完成

完成所有必需的配置后,可以查看并继续选择“提交”以提交评估运行。

用于创建新评估的“评审并完成”页的屏幕截图。

模型和提示评估

若要为所选的模型部署和定义的提示创建新的评估,请使用简化的模型评估面板。 通过简化的界面,你可以在单个合并面板中配置和启动评估。

基本信息

首先为要运行的评估设置名称。 然后选择要评估的模型部署。 我们支持 Azure OpenAI 模型和其他与模型即服务 (MaaS) 兼容的开放式模型,例如 Meta Llama 和 Phi-3 系列模型。 (可选)你可以根据需求调整模型参数,例如最大响应数、温度和 Top-P。

在“系统消息”文本框中,提供方案的提示。 有关如何撰写提示的详细信息,请参阅提示目录。 可以选择添加示例来显示聊天中你需要的响应。 系统将尝试模拟在此处添加的任何响应,确保响应与系统消息中设置的规则相符。

基本信息的屏幕截图。

配置测试数据

配置模型和提示后,设置将用于评估的测试数据集。 此数据集将发送到模型,以生成要评估的响应。 你可选择三种方式来配置测试数据:

  • 生成示例数据
  • 使用现有数据集
  • 添加数据集

如果没有随时可供使用的数据集,并且想要使用小型示例运行评估,可以选择使用 GPT 模型根据所选主题生成示例问题。 主题可帮助你根据感兴趣的领域定制生成的内容。 查询和响应将实时生成,你可以根据需要重新生成它们。

注意

创建要运行的评估后,生成的数据集会保存到项目的 Blob 存储中。

配置测试数据的屏幕截图。

数据映射

如果选择使用现有数据集或上传新数据集,需要将数据集的列映射到评估所需的字段。 在评估期间,将针对关键输入内容评估模型的响应,例如:

  • 查询:所有指标都需要
  • 上下文:可选
  • 真实数据:可选,AI 质量 (NLP) 指标需要

这些映射可确保数据完全符合评估条件。

选择数据列的屏幕截图。

选择评估指标

最后一步是选择要评估的内容。 我们简化了此流程,支持你选择最符合需求的指标类别,这样你就无需选择单个指标并熟悉所有可用选项。 选择某一类别时,系统会基于你在上一步中提供的数据列计算该类别中的所有相关指标。 选择指标类别后,可以选择“创建”提交要运行的评估,然后转到评估页查看结果。

我们支持三种类别:

  • AI 质量(AI 辅助):需要提供 Azure OpenAI 模型部署作为裁判来计算 AI 辅助式指标。
  • AI 质量 (NLP)
  • 安全
AI 质量(AI 辅助) AI 质量 (NLP) 安全
有据性(需要上下文)、相关性(需要上下文)、连贯性、流畅性 F1 分数,ROUGE,分数,BLEU 分数,GLEU 分数,METEOR 分数 自我伤害相关内容、仇恨和不公平内容、暴力内容、性内容、受保护材料、间接攻击

使用自定义评估流创建评估

你可以开发自己的评估方法:

从流页面:在左侧的折叠菜单中,选择“提示流”>“评估”>“自定义评估”

显示如何从提示流创建自定义评估的屏幕截图。

查看和管理评估器库中的评估器

评估器库是一个中心位置,在其中可以查看评估器的详细信息和状态。 你可以查看和管理 Microsoft 特选的评估器。

提示

可以通过提示流 SDK 使用自定义评估器。 有关详细信息,请参阅使用提示流 SDK 进行评估

评估器库还会启用版本管理。 你可以比较不同的工作版本,根据需要还原以前的版本,并更轻松地与他人协作。

若要在 AI Studio 中使用评估器库,请转到项目的“评估”页面并选择“评估器库”选项卡

从评估器库中选择评估器的页面的屏幕截图。

可以选择评估器名称以查看更多详细信息。 可以查看名称、说明和参数,并检查与评估器关联的任何文件。 下面是 Microsoft 特选评估器的一些示例:

  • 对于 Microsoft 特选的性能和质量评估器,可以在详细信息页面上查看注释提示。 你可以根据数据和目标 Azure AI 评估 SDK 更改参数或条件,依自己的用例调整这些提示。 例如,可以选择“Groundedness-Evaluator”,并查看展示如何计算指标的 Prompty 文件
  • 对于 Microsoft 特选的风险和安全性评估器,可以查看指标的定义。 例如,可以选择“Self-Harm-Related-Content-Evaluator”,并了解其含义以及 Microsoft 如何确定此安全性指标的各种严重性级别

后续步骤

详细了解如何评估生成式 AI 应用程序: