评估(Evaluations)
什么是评估(Evaluation)?
评估是确保你的 AI 工作流可靠稳定的关键技术。它决定了你的 AI 产品是停留在脆弱的概念验证阶段,还是成为能够稳定运行的生产级工作流。无论是在构建阶段还是部署到生产环境之后,评估都至关重要。
评估的核心是将一个测试数据集传入你的工作流,该数据集包含多个测试用例。每个测试用例都包含工作流的样本输入,通常也包含预期的输出结果。
通过评估,你可以:
- 用多样化的输入测试工作流,了解其在边缘情况下的表现
- 安心进行修改,避免无意中导致其他地方出现问题
- 跨模型或提示词比较性能
以下视频解释了什么是评估、为什么有用,以及它的工作原理:
为什么需要评估?
AI 模型与普通代码有本质区别。代码是确定性的,我们可以对其进行推断。而 LLM 是"黑箱",这让推断变得困难。因此,你必须通过向 LLM 输入数据并观察其输出来测量其性能。
只有在用能够真实反映生产环境中所有边缘情况的多种输入对模型进行测试后,你才能建立对模型稳定性的信心。
两种评估类型
轻量级评估(部署前)
构建干净、全面的数据集是很难的。在初始构建阶段,通常只需生成少量示例就足够了。这些示例可以让你将工作流迭代到可发布状态(或概念验证状态)。你可以直观比较结果,对工作流质量形成初步判断,而无需建立正式的评估指标。
基于指标的评估(部署后)
工作流部署后,更容易从生产执行记录中构建更丰富、更具代表性的数据集。当你发现一个 Bug 时,可以将导致该 Bug 的输入添加到数据集中。修复 Bug 时,重新对整个数据集运行工作流非常重要——这是一种回归测试,用于验证修复是否对其他功能造成了意外影响。
由于测试用例数量过多,无法逐一检查,评估使用指标(一个代表特定特征的数值)来衡量输出质量,这也能让你跟踪不同运行之间的质量变化。
两种评估类型对比
| 轻量级评估(部署前) | 基于指标的评估(部署后) | |
|---|---|---|
| 每次迭代的性能提升 | 大 | 小 |
| 数据集大小 | 小 | 大 |
| 数据集来源 | 手工生成 / AI 生成 / 其他 | 生产执行记录 / AI 生成 / 其他 |
| 实际输出 | 必需 | 必需 |
| 预期输出 | 可选 | 通常必需 |
| 评估指标 | 可选 | 必需 |
了解更多
- 轻量级评估:非常适合在开发阶段用手工选择的测试用例评估你的 AI 工作流。
- 基于指标的评估:适用于在大型数据集中使用评分和指标来维护生产环境中的性能与正确性的高级评估。
- 技巧与常见问题:了解如何配置特定的评估用例以及如何规避常见问题。