你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
提交批处理运行和评估流
重要
本文中标记了“(预览版)”的项目目前为公共预览版。 此预览版未提供服务级别协议,不建议将其用于生产工作负载。 某些功能可能不受支持或者受限。 有关详细信息,请参阅 Microsoft Azure 预览版补充使用条款。
若要评估流在处理大型数据集时的性能,可以在提示流中提交批处理运行并使用评估方法。
在本文中学习如何:
- 提交批处理运行并使用评估方法
- 查看评估结果和指标
- 开始新一轮的评估
- 检查批处理运行历史记录并比较指标
- 了解内置评估方法
- 提高流性能的方法
先决条件
若要提交批处理运行并使用评估方法,需要准备好以下内容:
- 用于批处理运行的测试数据集。 数据集应采用以下格式之一:
.csv
、.tsv
或.jsonl
。 数据还应包含与流的输入名匹配的标头。 如果流输入包含复杂结构(如列表或字典),则使用jsonl
格式来表示数据。 - 用于运行批处理运行的可用计算会话。 计算会话是一种基于云的资源,用于执行流并生成输出。 若要详细了解有关计算会话,请参阅计算会话。
提交批处理运行并使用评估方法
借助批处理运行,可以使用大型数据集运行流,并为每行数据生成输出。 还可以选择评估方法,将流的输出与特定标准和目标进行比较。 评估方法是一种特殊类型的流,它基于不同的方面计算流输出的指标。 当与批处理运行一起提交时,将会执行评估运行以计算指标。
若要开始批处理运行和评估,可以选择“评估”按钮 -“自定义评估”。 通过选择“自定义评估”,可以提交批处理运行并使用评估方法,也可以提交批处理运行而不对流进行评估。
首先,系统会要求你为批处理运行提供一个描述性且可识别的名称。 还可以编写说明,并向批处理运行添加标记(键值对)。 完成配置后,选择“下一步”以继续。
首先,需要选择或上传要用于测试流的数据集。 还需要选择可用的计算会话来执行此批处理运行。
提示流还支持将流输入映射到数据集中的特定数据列。 这意味着可以将列分配给特定输入。 可以通过使用 ${data.XXX}
格式引用来为输入分配列。 如果要为输入分配常量值,则可以直接键入该值。
然后,在下一步中,可以决定使用评估方法来验证此运行的性能。 如果你不想应用任何评估方法或计算任何指标,则可以直接选择“下一步”按钮来跳过此步骤。 否则,如果想要立即运行批处理运行并进行评估,可以选择一种或多种评估方法。 评估将在完成批处理运行后开始。 也可以在批处理运行完成后开始另一轮评估。 若要详细了解如何开始新一轮的评估,请参阅开始新一轮的评估。
在下一步“输入映射”部分中,需要指定评估方法所需的输入数据的源。 例如,基本事实列可能来自数据集。 默认情况下,评估会使用与提供给已测试运行的测试数据集相同的数据集。 但如果相应的标签或目标地基本事实值位于不同的数据集中,则可以轻松切换到该数据集。
- 如果数据源来自运行输出,则会指示该源为“${run.output.[OutputName]}”
- 如果数据源来自测试数据集,则源指示为“${data.[ColumnName]}”
注意
如果评估不需要数据集中的数据,则无需在输入映射部分引用任何数据集列,这指示数据集选择是可选配置。 数据集选择不会影响评估结果。
如果评估方法使用大语言模型 (LLM) 来衡量流响应的性能,则还需要在评估方法中为 LLM 节点设置连接。
然后,可以选择“下一步”以查看设置,并选择“提交”以开始批处理运行并进行评估。
查看评估结果和指标
提交后,可以在提示流页的“运行列表”选项卡中查找提交的批处理运行。 选择运行以导航到运行结果页。
在“运行详细信息”页中,可以选择“详细信息”以查看此批处理运行的详细信息。
输出
基本结果和跟踪
首先你将被定向到“输出”选项卡,以逐行查看输入和输出。 输出选项卡页显示结果的表格列表,包括行 ID、输入、输出、状态、系统指标和创建时间。
对于每一行,选择“查看跟踪”可让你在其跟踪详细页面中观察和调试该特定测试用例。
追加评估结果和跟踪
选择“追加评估输出”后,可以选择相关的评估运行,并在表末尾看到追加的列,其中显示了每行数据的评估结果。 可以追加多个评估输出进行比较。
可以在左侧“概述”面板中看到最新的评估指标。
基本概述
在右侧,“概述”提供了有关运行的总体信息,例如每个数据点执行数、总词元数和运行持续时间。
默认情况下,此处显示了最新的评估运行聚合指标,可以选择“查看评估运行”以跳转到查看评估运行本身。
可在此处展开和折叠概述,还可以选择“查看完整信息”以定向到“输出”选项卡旁边的“概述”选项卡,其中包含此运行的更多详细信息。
开始新一轮的评估
如果已完成批处理运行,则可以开始另一轮评估,以提交新的评估运行来计算输出的指标,而无需再次运行流。 这非常有用,而且在以下情况下可重新运行流的成本:
- 在提交批处理运行时,你没有选择评估方法来计算指标,但现在决定选择。
- 你已使用评估方法来计算指标。 你可以开始另一轮的评估来计算另一个指标。
- 评估运行失败,但流已成功生成输出。 你可以再次提交评估。
可以转到提示流“运行”选项卡。然后转到批处理运行详细信息页,并选择“评估”以开始另一轮评估。
设置配置后,可选择“提交”来进行新一轮的评估。 提交后,你将能够在提示流运行列表中查看新记录。 同样,在评估运行完成后,可以在批处理运行详细信息面板的“输出”选项卡中查看评估结果。 需要选择新的评估运行才能查看其结果。
要详细了解内置评估方法计算的指标,请导航到了解内置评估方法。
概述
选择“概述”选项卡后,系统将显示有关此运行的完整信息,包括运行属性、输入数据集、输出数据集、标记和说明。
日志
选择“日志”选项卡后,可以查看运行日志,这对于执行错误的详细调试非常有用。 可以将日志文件下载到本地计算机。
快照
选择“快照”选项卡后,会显示运行快照。 可以查看流的 DAG。 此外,可以选择“克隆”以创建新流。 还可以将其“部署”为联机终结点。
检查批处理运行历史记录并比较指标
在某些情况下,需要修改流来提高其性能。 你可以提交多个批处理运行,以对不同版本的流进行性能比较。 还可以比较由不同评估方法计算的指标,查看哪种指标更适合你的流。
若要查看流的批处理运行历史记录,可以选择流页面的“查看批处理运行”按钮。 你将看到已为此流提交的批处理运行列表。
你可以选择每个批处理运行来查看详细信息。 还可以选择多个批处理运行,并选择“可视化输出”,以比较这些批处理运行的指标和输出。
在“可视化输出”面板中,“运行和指标”表突出显示了所选运行的信息。 还列出了将所选运行的输出作为输入的其他运行。
在“输出”表中,可以按每行示例比较所选批处理运行。 通过选择“运行和指标”表中的“目视可视化”图标,该运行的输出将追加到相应的基本运行。
了解内置评估方法
在提示流中,我们提供了多种内置评估方法,以帮助你衡量流输出的性能。 每种评估方法计算不同的指标。 请参阅下表中内置评估方法及其说明的列表。
评估方法 | 指标 | 说明 | 需要连接 | 要求的输入 | 分数值 |
---|---|---|---|---|---|
分类准确性评估 | 精确度 | 通过将分类系统的输出与真实值进行比较来衡量分类系统的性能。 | 否 | 预测,真实值 | 在 [0, 1] 范围内。 |
QnA 相关性分数成对评估 | 分数,赢/输 | 评估问答系统生成的答案的质量。 它涉及到根据每个答案与用户问题的匹配程度为每个答案分配相关性分数,将不同的答案与基线答案进行比较,并聚合结果来生成平均胜率和相关性分数等指标。 | 是 | 问题、答案(没有基本事实或上下文) | 分数:0-100,赢/输:1/0 |
QnA 真实性评估 | 真实性 | 测量模型预测的答案在输入源中的真实程度。 即使 LLM 的响应为 true,如果无法对源进行验证,也为“不真实”。 | 是 | 问题、答案、上下文(没有基本事实) | 1 到 5,其中 1 为最差,5 为最佳。 |
QnA GPT 相似性评估 | GPT 相似性 | 衡量用户提供的基本事实答案与使用 GPT 模型的模型预测答案之间的相似性。 | 是 | 问题、答案、基本事实(不需要上下文) | 在 [0, 1] 范围内。 |
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] 范围内。 |
提高流性能的方法
通过评估检查内置方法后,可通过以下方式来尝试提高流性能:
- 检查输出数据以调试流的任何潜在故障。
- 修改流来提高其性能。 这包括但不限于:
- 修改提示
- 修改系统消息
- 修改流的参数
- 修改流逻辑
若要详细了解如何构建可实现目标的提示,请参阅提示工程简介、提示工程技术以及针对大型语言模型 (LLM) 的系统消息框架和模板建议。
在本文档中,你了解了如何提交批处理运行,并使用内置评估方法来衡量流输出的质量。 你还了解了如何查看评估结果和指标,学习了如何使用不同的方法或变体子集来开始新一轮的评估。 我们希望本文档可帮助你提高流性能,并通过提示流实现你的目标。