提交批量运行和评估流
要评估流在处理大型数据集时的表现,可以在提示流中提交批处理运行并使用内置评估方法。
在本文中学习如何:
- 提交批处理运行并使用内置评估方法
- 查看评估结果和指标
- 开始新一轮的评估
- 检查批处理运行历史记录并比较指标
- 了解内置评估指标
- 提高流性能的方法
先决条件
要运行批处理运行并使用评估方法,需要准备好以下内容:
- 用于批处理运行的测试数据集。 数据集应采用以下格式之一:
.csv
、.tsv
或.jsonl
。 数据还应包含与流的输入名匹配的标头。 扩展阅读:如果要构建自己的 copilot,建议参考用于 Copilot 质量保证的黄金数据集的创建指南。
提交批处理运行并使用内置评估方法
借助批处理运行,可以使用大型数据集运行流,并为每行数据生成输出。 还可以选择评估方法,将流的输出与特定标准和目标进行比较。 评估方法是一种特殊类型的流,它基于不同的方面计算流输出的指标。 当与批处理运行一起提交时,将会执行评估运行以计算指标。
要开始批处理运行和评估,可以选择流页面右上角的“评估”按钮。
要提交批处理运行,可以选择用于测试流的数据集。 还可选择评估方法来计算流输出的指标。 如果不想使用评估方法,则可以跳过此步骤,并在不计算任何指标的情况下运行批处理运行。 你也可稍后开始新一轮的评估。
首先,系统会要求你为批处理运行提供一个描述性且可识别的名称。 还可以编写说明,并向批处理运行添加标记(键值对)。 完成配置后,选择“下一步”以继续。
首先,需要选择或上传要用于测试流的数据集。
提示流还支持将流输入映射到数据集中的特定数据列。 这意味着可以将列分配给特定输入。 可以通过使用 ${data.XXX}
格式引用来为输入分配列。 如果要为输入分配常量值,则可以直接键入该值。
然后,在下一步中,可以决定是立即还是稍后使用评估方法来验证此运行的性能。 对于已完成的批处理运行,仍可以添加新一轮评估。
可以直接选择“下一步”按钮来跳过此步骤并运行批处理运行,而无需使用任何评估方法来计算指标。 这样,此批处理运行将仅为数据集生成输出。 可以手动检查输出,也可通过其他方法导出输出供进一步分析。
否则,如果想要立即运行批处理运行并进行评估,可以根据提供的说明选择一种或多种评估方法。 可选择“更多详细信息”按钮,查看有关评估方法的详细信息,例如生成的指标及其所需的连接和输入。
转到下一步并配置评估设置。 在“评估输入映射”部分中,需要指定评估方法所需的输入数据的源。 例如,基本事实列可能来自数据集。 默认情况下,评估会使用与提供给已测试运行的测试数据集相同的数据集。 但如果相应的标签或目标地基本事实值位于不同的数据集中,则可以轻松切换到该数据集。
因此,要运行评估,需要指示这些所需输入的源。 为此,在提交评估时,你将看到“评估输入映射”部分。
- 如果数据源来自运行输出,则会指示该源为“${run.output.[OutputName]}”
- 如果数据源来自测试数据集,则会指示该源为“${data.[ColumnName]}”
注意
如果评估不需要数据集中的数据,则无需在输入映射部分引用任何数据集列,这指示数据集选择是可选配置。 数据集选择不会影响评估结果。
如果评估方法使用大语言模型 (LLM) 来衡量流响应的性能,则还需要在评估方法中为 LLM 节点设置连接。
注意
某些评估方法需要运行 GPT-4 或 GPT-3。 在使用这些评估方法之前,必须为它们提供有效的连接。 某些评估过程可能会使用大量令牌,因此建议使用可支持 >=16k 令牌的模型。
完成输入映射后,选择“下一步”以查看设置,然后选择“提交”以开始批处理运行并进行评估。
注意
批处理运行的最大持续时间为 10 小时。 如果批处理运行超过此限制,它将会终止并标记为失败。 建议监视大语言模型 (LLM) 容量以避免限制。 如有必要,请考虑减小数据的大小。 如果继续遇到问题或需要进一步的帮助,请随时通过反馈表单或支持请求联系我们的产品团队。
查看评估结果和指标
提交后,可以在提示流页的“运行列表”选项卡中查找提交的批处理运行。
选择一个运行以导航到“运行结果”页,检查此批处理运行的结果。
输出
基本结果和跟踪
首先你将被定向到“输出”选项卡,以逐行查看输入和输出。 输出选项卡页显示结果的表格列表,包括行 ID、输入、输出、状态、系统指标和创建时间。
对于每一行,选择“查看跟踪”可让你在其跟踪详细页面中观察和调试该特定测试用例。
追加评估结果和跟踪
选择“追加评估输出”后,可以选择相关的评估运行,并在表末尾看到追加的列,其中显示了每行数据的评估结果。 可以追加多个评估输出进行比较。
可以在左侧“概述”面板中看到最新的评估指标。
基本概述
在右侧,“概述”提供了有关运行的总体信息,例如每个数据点执行数、总词元数和运行持续时间。
默认情况下,此处显示了最新的评估运行聚合指标,可以选择“查看评估运行”以跳转到查看评估运行本身。
可在此处展开和折叠概述,还可以选择“查看完整信息”以定向到“输出”选项卡旁边的“概述”选项卡,其中包含此运行的更多详细信息。
开始新一轮的评估
如果已完成批处理运行,则可以开始另一轮评估,以提交新的评估运行来计算输出的指标,而无需再次运行流。 这非常有用,而且在以下情况下可重新运行流的成本:
- 在提交批处理运行时,你没有选择评估方法来计算指标,但现在决定选择。
- 你使用了评估方法来计算指标。 你可以开始另一轮的评估来计算另一个指标。
- 你的评估运行失败,但你的流成功生成了输出。 你可以再次提交评估。
可以选择“评估”来开始另一轮评估。
设置配置后,可选择“提交”来进行新一轮的评估。 提交后,你将能够在提示流运行列表中查看新记录。 同样,在评估运行完成后,可以在批处理运行详细信息面板的“输出”选项卡中查看评估结果。 需要选择新的评估运行才能查看其结果。
要详细了解内置评估方法计算的指标,请导航到了解内置评估指标。
概述
选择“概述”选项卡后,系统将显示有关此运行的完整信息,包括运行属性、输入数据集、输出数据集、标记和说明。
日志
选择“日志”选项卡后,可以查看运行日志,这对于执行错误的详细调试非常有用。 可以将日志文件下载到本地计算机。
快照
选择“快照”选项卡后,会显示运行快照。 可以查看流的 DAG。 此外,可以选择“克隆”以创建新流。 还可以将其“部署”为联机终结点。
检查批处理运行历史记录并比较指标
在某些情况下,需要修改流来提高其性能。 你可以提交多个批处理运行,以对不同版本的流进行性能比较。 还可以比较由不同评估方法计算的指标,查看哪种指标更适合你的流。
要查看流的批处理运行历史记录,可以选择流页面右上角的“查看批处理运行”按钮。 你将看到已为此流提交的批处理运行列表。
你可以选择每个批处理运行来查看详细信息。 还可以选择多个批处理运行,并选择“可视化输出”,以比较这些批处理运行的指标和输出。
在“可视化输出”面板中,“运行和指标”表突出显示了所选运行的信息。 还列出了将所选运行的输出作为输入的其他运行。
在“输出”表中,可以按每行示例比较所选批处理运行。 通过选择“运行和指标”表中的“目视可视化”图标,该运行的输出将追加到相应的基本运行。
了解内置评估指标
在提示流中,我们提供了多种内置评估方法,以帮助你衡量流输出的性能。 每种评估方法计算不同的指标。 现在,我们提供了 9 种可用的内置评估方法。 可以查看下表以获取快速参考:
评估方法 | 指标 | 说明 | 需要连接 | 要求的输入 | 分数值 |
---|---|---|---|---|---|
分类准确性评估 | 精确度 | 通过将分类系统的输出与真实值进行比较来衡量分类系统的性能。 | 否 | 预测,真实值 | 在 [0, 1] 范围内。 |
QnA 相关性分数成对评估 | 分数,赢/输 | 评估问答系统生成的答案的质量。 它涉及到根据每个答案与用户问题的匹配程度为每个答案分配相关性分数,将不同的答案与基线答案进行比较,并聚合结果来生成平均胜率和相关性分数等指标。 | 是 | 问题、答案(没有基本事实或上下文) | 分数:0-100,赢/输:1/0 |
QnA 真实性评估 | 真实性 | 测量模型预测的答案在输入源中的真实程度。 即使 LLM 的响应为 true,如果无法对源进行验证,也为“不真实”。 | 是 | 问题、答案、上下文(没有基本事实) | 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] 范围内。 |
提高流性能的方法
通过评估检查内置指标后,可通过以下方式来尝试提高流性能:
- 检查输出数据以调试流的任何潜在故障。
- 修改流来提高其性能。 这包括但不限于:
- 修改提示
- 修改系统消息
- 修改流的参数
- 修改流逻辑
后续步骤
在本文档中,你了解了如何提交批处理运行,并使用内置评估方法来衡量流输出的质量。 你还了解了如何查看评估结果和指标,学习了如何使用不同的方法或变体子集来开始新一轮的评估。 我们希望本文档可帮助你提高流性能,并通过 Prompt Flow 实现你的目标。