概述#
什么是评估?#
评估(Evaluation)是一项关键技术,用于验证你的 AI 工作流是否可靠。它可能是决定一个不稳定的概念验证(proof of concept)与一个稳健的生产级工作流之间差异的关键因素。无论是在构建阶段还是部署到生产环境后,评估都至关重要。
评估的基础是将测试数据集运行通过你的工作流。该数据集包含多个测试用例,每个测试用例包含工作流的一个示例输入,通常还包括预期输出(expected output)。
评估使你能够:
- 在多种输入条件下测试工作流,从而了解其在边界情况(edge cases)下的表现
- 更有信心地进行修改,避免无意中在其他地方引入问题
- 比较不同模型或提示词(prompts)之间的性能
以下视频解释了什么是评估、为什么它们有用以及它们的工作原理:
为什么需要评估?#
AI 模型从根本上不同于代码。代码是确定性的,你可以对其进行逻辑推理。而大语言模型(LLMs)则不同,它们是“黑盒”,难以进行类似的分析。因此,你必须通过向 LLM 输入数据并观察其输出来 衡量 其表现。
只有在使用多个能准确反映生产环境中各种边界情况的输入运行模型后,你才能建立对其稳定可靠性能的信心。
两种类型的评估#
轻量级评估(部署前)#
构建一个干净且全面的数据集非常困难。在初始开发阶段,通常只需生成少量示例即可。这些示例足以帮助你迭代工作流,使其达到可发布状态(或完成概念验证)。你可以通过视觉对比结果来大致判断工作流的质量,而无需设置正式的评估指标。
基于指标的评估(部署后)#
一旦部署了你的工作流,就可以更容易地从实际生产执行中构建更大、更具代表性的数据集。当你发现一个 bug 时,可以将导致该问题的输入添加到数据集中。在修复 bug 时,重要的是要将整个数据集重新运行一遍,作为回归测试(regression testing),以确保修复没有意外地影响其他功能。
由于测试用例数量太多,无法逐一检查,因此评估会使用指标(metric)——一种表示特定特性的数值——来衡量输出质量。这也使你能够跟踪不同运行之间的质量变化。
评估类型对比#
| 轻量级评估(部署前) | 基于指标的评估(部署后) | | ---------------------- | ------------------------ | --- | | 每次迭代的性能提升 | 大 | 小 | | 数据集大小 | 小 | 大 | | 数据集来源 | 手动生成 |
AI 生成 其他 | 生产执行记录 AI 生成 其他 实际输出 | 需要 | 需要 预期输出 | 可选 | 通常需要 评估指标(evaluation metric) | 可选 | 必需
了解更多#
- 轻量级评估:非常适合在开发过程中针对手动选择的测试用例评估 AI 工作流。
- 基于指标的评估:利用评分和指标结合大规模数据集,在生产环境中持续维护性能与正确性。
- 提示与常见问题:学习如何设置特定的评估场景,并解决常见问题。