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

提交批处理运行以评估流

批处理运行使用大型数据集执行提示流,并为每行数据生成输出。 若要评估提示流在处理大型数据集时的性能,可以提交批处理运行并使用评估方法生成性能分数和指标。

批处理流完成后,评估方法会自动执行以计算分数和指标。 可以使用评估指标根据性能标准和目标评估流的输出。

本文介绍如何提交批处理运行,并使用评估方法来衡量流输出的质量。 你了解了如何查看评估结果和指标,学习了如何使用不同的方法或变体子集来开始新一轮的评估。

先决条件

若要使用评估方法运行批处理流,需要以下组件:

  • 要测试其性能的有效 Azure 机器学习提示流。

  • 用于批处理运行的测试数据集。

    测试数据集必须采用 CSV、TSV 或 JSONL 格式,并且应具有与流的输入名称匹配的标题。 但是,可以在评估运行安装过程中将不同的数据集列映射到输入列。

创建和提交评估批处理运行

若要提交批处理运行,请选择用于测试流的数据集。 还可选择评估方法来计算流输出的指标。 如果不想使用评估方法,则可以跳过评估步骤,并在不计算任何指标的情况下运行批处理运行。 还可以稍后进行另一轮评估。

  1. 若要使用或不使用评估开始批处理运行,请选择提示流页面顶部的“评估”

    突出显示批处理运行的 Web 分类的屏幕截图。

  2. 在“批处理运行和评估”的“基本设置”页上,根据需要自定义“运行显示名称”,然后根据需要提供“运行说明”和“标记”。 选择下一步

    指定运行名称和说明所在的批处理运行设置的屏幕截图。

  3. 在“批处理运行设置”页上,选择要使用的数据集并配置输入映射

    提示流支持将流输入映射到数据集中的特定数据列。 可以使用 ${data.<column>} 将数据集列分配给特定输入。 如果要将常量值分配给输入,可以直接输入该值。

    选择测试数据集所在的批处理运行设置的屏幕截图。

  4. 此时可以选择“查看 + 提交”,以跳过评估步骤并运行批处理运行,而无需使用任何评估方法。 然后,批处理运行将为数据集中的每个项生成单个输出。 可以手动检查输出,也可以导出输出供进一步分析。

    否则,若要使用评估方法来验证此运行的性能,请选择“下一步”。 还可以将新一轮评估添加到已完成的批处理运行。

  5. 在“选择评估”页上,选择要运行的一个或多个自定义或内置评估。 可选择“查看详细信息”按钮,查看有关评估方法的详细信息,例如生成的指标及其所需的连接和输入。

    可在其中选择内置评估方法的评估设置的屏幕截图。

  6. 接着,在“配置评估”屏幕上,指定评估所需输入的源。 例如,基本事实列可能来自数据集。 默认情况下,评估使用与整个批处理运行相同的数据集。 但如果相应的标签或目标基准真值位于不同的数据集中,则可以使用该数据集。

    注意

    如果评估方法不需要数据集中的数据,则数据集选择是不影响评估结果的可选配置。 无需选择数据集,也无需引用输入映射部分中的任何数据集列。

  7. 在“评估输入映射”部分中,指示评估所需输入的源

    • 如果数据来自测试数据集,则将源设置为 ${data.[ColumnName]}
    • 如果数据来自运行输出,则将源设置为 ${run.outputs.[OutputName]}

    评估输入映射的屏幕截图。

  8. 某些评估方法需要大型语言模型 (LLM),例如 GPT-4 或 GPT-3,或者需要其他连接才能使用凭据或密钥。 对于这些方法,必须在此屏幕底部的“连接”部分输入连接数据才能使用评估流。 有关详细信息,请参阅设置连接

    连接的屏幕截图,你可在这里配置评估方法的连接。

  9. 选择“查看 + 提交”以查看设置,然后选择“提交”以开始批处理运行并进行评估

注意

  • 某些评估过程使用大量令牌,因此建议使用可支持 >=16k 令牌的模型。
  • 批处理运行的最大持续时间为 10 小时。 如果批处理运行超过此限制,它将会终止并显示为失败。 监视 LLM 容量以避免限制。 如有必要,请考虑减小数据的大小。 如果仍有问题,请提交反馈表或支持请求。

查看评估结果和指标

可以在 Azure 机器学习工作室“提示流”页的“运行”选项卡上找到已提交的批处理运行列表

  1. 若要查看批处理运行的结果,请选择该运行,然后选择“可视化输出”

    在此查找批处理运行的提示流运行列表页的屏幕截图。

    在“可视化输出”屏幕上,“运行和指标”部分显示批处理运行和评估运行的总体结果。 “输出”部分按行显示结果表中的运行输入行,其中包括行 ID、“运行”、“状态”和“系统指标”

    批处理运行结果页“输出”选项卡的屏幕截图,可在此处查看批处理运行输出。

  2. 在“运行和指标”部分中,如果启用评估运行旁边的“查看”图标,则“输出”表还将显示每行的评估分数或成绩

    追加评估输出的批处理运行输出的屏幕截图。

  3. 选择“输出”表中每行旁边的“查看详细信息”图标,观察和调试该测试用例的“跟踪视图”和“详细信息”。 “跟踪”视图显示该用例的“令牌”和“持续时间”等信息。 展开并选择任何步骤以查看该步骤的“概述”和“输入”

    “跟踪”视图的屏幕截图,其中显示了展开的步骤和详细信息。

还可以查看测试的提示流中的评估运行结果。 在“查看批处理运行”下,选择“查看批处理运行”以查看流的批处理运行列表,或选择“查看最新批处理运行输出”以查看最新运行的输出

Web 分类的屏幕截图,其中已选择“查看批量运行”按钮。

在批处理运行列表中,选择一个批处理运行名称以打开该运行的流页。

在评估运行的流页上,选择“查看输出”或“详细信息”以查看流的详细信息。 还可以“克隆”流以创建新流,或“部署”流作为联机终结点

显示历史记录的批处理运行的运行屏幕截图。

在“详细信息”屏幕上

  • “概述”选项卡显示有关此运行的完整信息,包括运行属性、输入数据集、输出数据集、标记和说明

  • “输出”选项卡显示页面顶部的结果摘要,后跟批处理运行结果表。 如果选择“追加相关结果”旁边的评估运行,该表还会显示评估运行结果

    评估流“详细信息”屏幕的“输出”选项卡的屏幕截图。

  • “日志”选项卡显示运行日志,这对于执行错误的详细调试非常有用。 可以下载日志文件。

  • “指标”选项卡提供指向运行指标的链接

  • “跟踪”选项卡显示每个测试用例的“令牌”和“持续时间”等详细信息。 展开并选择任何步骤以查看该步骤的“概述”和“输入”

  • “快照”选项卡显示运行中的文件和代码。 可以查看 flow.dag.yaml 流定义并下载任何文件

    批处理运行快照的屏幕截图。

为同一运行启动新一轮评估

可以运行新一轮评估来计算已完成的批处理运行的指标,而无需再次运行流。 此过程可节省重新运行流的成本,在以下场景中非常有用:

  • 你在提交批处理运行时未选择评估方法,现在需要评估运行性能。
  • 你使用了评估方法来计算特定的指标,现在需要计算其他指标。
  • 之前的评估运行失败,但批处理运行已成功生成输出,你需要再次尝试评估。

若要启动另一轮评估,请选择批处理运行流页顶部的“评估”。 “新建评估”向导将打开“选择评估”平面。 完成设置并提交新的评估运行。

新运行将显示在提示流“运行”列表中,你可以在列表中选择多个行,然后选择“可视化输出”来比较输出和指标

比较评估运行历史记录和指标

如果修改流以提高其性能,可以提交多个批处理运行来比较不同流版本的性能。 还可以比较由不同评估方法计算的指标,查看哪种方法更适合你的流。

若要查看流批处理运行历史记录,请选择流页顶部的“查看批处理运行”。 可以选择每个运行来查看详细信息。 还可以选择多个运行,并选择“可视化输出”,以比较这些运行的指标和输出

多个批处理运行的指标比较屏幕截图。

了解内置评估指标

Azure 机器学习提示流提供了多种内置评估方法,可帮助衡量流输出的性能。 每种评估方法计算不同的指标。 下表描述可用的内置评估方法。

评估方法 跃点数 说明 是否需要连接? 要求的输入 分数值
分类准确性评估 准确性 通过将分类系统的输出与真实值进行比较来衡量分类系统的性能 预测,真实值 在 [0, 1] 范围内
QnA 真实性评估 真实性 测量模型预测的答案在输入源中的真实程度。 即使 LLM 的响应是准确的,如果无法验证源,则它们就是没有根据的。 问题、答案、上下文(没有基本事实) 1 到 5,1 = 最差,5 = 最佳
QnA GPT 相似性评估 GPT 相似性 衡量用户提供的基本事实答案与使用 GPT 模型的模型预测答案之间的相似性 问题、答案、基本事实(不需要上下文) 1 到 5,1 = 最差,5 = 最佳
QnA 相关性评估 相关性 衡量模型预测的答案与所提出的问题的相关程度 问题、答案、上下文(没有基本事实) 1 到 5,1 = 最差,5 = 最佳
QnA 一致性评估 一致性 衡量模型预测的答案中所有句子的质量,以及它们如何自然地组合在一起 问题、答案(没有基本事实或上下文) 1 到 5,1 = 最差,5 = 最佳
QnA 流畅度评估 流畅度 衡量模型的预测答案的语法和语言正确性 问题、答案(没有基本事实或上下文) 1 到 5,1 = 最差,5 = 最佳
QnA F1 分数评估 F1 分数 衡量模型预测与真实值之间的共享字词数的比率 问题、答案、基本事实(不需要上下文) 在 [0, 1] 范围内
QnA Ada 相似性评估 Ada 相似性 使用 Ada 嵌入 API 计算句子(文档)级别的嵌入,以获得基本事实和预测,然后计算它们之间的余弦相似性(一个浮点数) 问题、答案、基本事实(不需要上下文) 在 [0, 1] 范围内

提高流性能

如果运行失败,请检查输出和日志数据并调试任何流故障。 若要修复流或提高性能,请尝试修改流提示、系统消息、流参数或流逻辑。

提示工程

提示构造可能很困难。 若要了解提示构造概念,请参阅提示概述。 若要了解如何构造可实现目标的提示,请参阅提示工程技术

系统消息

系统消息有时也称为元提示或系统提示,可用于指导 AI 系统的行为和提高系统性能。 若要了解如何使用系统消息提高流性能,请参阅系统消息分步创作

黄金数据集

创建使用 LLM 的助手通常涉及使用源数据集基于现实建立模型。 “黄金数据集”有助于确保 LLM 对客户查询提供最准确且最有用的响应

黄金数据集是一系列真实的客户问题和精心设计的答案,用作助手使用的 LLM 的质量保证工具。 黄金数据集不用于训练 LLM 或将上下文注入 LLM 提示,而是用于评估 LLM 生成的答案的质量。

如果你的应用场景涉及助手,或者要构建自己的助手,请参阅生成黄金数据集以获取详细的指导和最佳做法。