AI 评估指南
与传统软件系统相比,AI 系统的行为往往不那么可预测,微小的输入变化可能导致输出结果产生显著差异。这种不可预测性源于 AI 生成响应的非确定性本质。传统的软件测试方法无法处理这种变异性,因此 AI 评估变得至关重要。AI 评估是一个数据驱动的、量化的过程,通过分析 AI 输出来评估系统性能、质量和可靠性。
集中式评估框架 (CEF) 为 GitLab 评估 AI 功能提供了一种简化的、统一的方法。 这对于确保我们 AI 功能的质量至关重要。
从概念上讲,评估包含三个部分:
- 数据集:测试输入的集合(以及可选的预期输出)。
- 目标:评估的目标。例如,提示词、代理、工具、功能、系统组件或端到端的应用程序。
- 指标:用于评估 AI 生成输出的可衡量标准。
每个部分在评估过程中都发挥着作用,如下所述:
- 建立验收标准:定义指标来表示目标行为的正确性。
- 设计评估:设计评估器和场景来对指标进行评分,以评估标准。
- 创建数据集:收集具有代表性的示例,涵盖典型使用模式、边缘情况和错误条件。
- 执行:针对数据集运行目标评估。
- 分析结果:将结果与验收标准进行比较,并找出改进的领域。
- 迭代和优化:根据评估发现进行必要的调整。
建立验收标准
定义指标来确定目标 AI 功能或组件何时正常工作。 所选指标应与成功指标保持一致,这些指标决定了何时达到预期的业务成果。
指标类型
以下是可能相关的指标示例:
- 准确率:衡量 AI 预测的正确频率。
- 精确率和召回率:评估正确识别的正向结果与实际正向数量之间的平衡。
- F1 分数:将精确率和召回率合并为一个指标。
- 延迟:衡量生成响应所需的时间。
- 令牌使用量:评估模型在令牌消耗方面的效率。
- 简洁性和连贯性:评估 AI 输出的清晰度和逻辑一致性。
请注意,对于某些目标,领域特定的指标至关重要,甚至可能比这里列出的通用指标更重要。 在某些情况下,选择合适的指标是一个渐进的、迭代的过程,涉及多个团队的探索和实验,以及用户的反馈。
定义阈值
如果可能,为每个指标建立明确的阈值,例如最低可接受性能。例如:
- 准确率:≥85% 的解释在技术上正确
- 延迟:95% 百分位响应时间 ≤3 秒
请注意,为新指标定义阈值可能不可行。这尤其适用于领域特定的指标。 通常,我们依赖用户的期望来定义可接受性能的阈值。 在某些情况下,我们在发布功能前就知道用户的期望,可以相应地定义阈值。 在其他情况下,我们需要等到获得反馈后才能确定设置什么阈值。
设计评估
在设计评估时,您需要定义如何根据验收标准衡量目标 AI 功能或组件的性能。 这涉及选择合适的评估器。 评估器 是对目标 AI 在特定指标上的性能进行评分的函数。 设计评估还可以涉及创建场景,在真实条件下测试目标 AI 功能或组件。 您可以将不同的场景实现为数据集示例的不同类别,或者作为评估调用目标 AI 功能或组件方式的变化。
需要考虑的场景包括:
- 基线比较:将新模型或提示与基线进行比较,以确定改进。
- 并排评估:直接比较不同的模型、提示或配置。
- 自定义评估器:实现自定义评估函数,测试与您的应用程序需求相关的 AI 性能特定方面。
- 数据集采样:采样数据集的不同子集,重点关注目标的不同方面。
创建数据集
结构良好的数据集能够在不同场景和用例中实现对 AI 系统或组件的一致测试和验证。
有关在 CEF 和 LangSmith 中使用数据集的概述,请参阅 数据集管理 文档。
有关创建和准备评估数据集的更详细信息,请参阅我们的 数据集创建指南 和 将数据集上传到 LangSmith 的说明。
合成提示评估数据集生成器
如果您正在评估提示,快速入门的方法是使用我们的 数据集生成器。 它直接从 AI Gateway 提示定义生成合成评估数据集。 您可以观看一个简短的 演示。
执行评估
执行评估时,CEF 会对评估数据集中的每个输入示例至少调用一次目标 AI 功能或组件。 然后框架会调用评估器对 AI 输出进行评分,并提供评估结果。
在合并请求中
评估运行器 可用于在合并请求的 CI 管道中运行评估。它在远程环境中启动一个新的 GDK 实例,使用 CEF 运行评估,并在 CI 作业日志中报告结果。请参阅 如何使用评估运行器 的指南。
在您的本地机器上
请参阅使用 CEF 进行评估的 分步指南。
分析结果
CEF 使用 LangSmith 存储和分析评估结果。请参阅 LangSmith 指南,了解如何分析实验。
有关特定功能的指导,请参阅 本地运行评估 的功能特定文档中的"分析结果"部分。您还可以在 Duo Chat 评估文档 中找到一些关于解释评估指标的信息。
请注意,我们正在更新有关执行和解释现有评估管道结果的文档(参见 #671)。
迭代和优化
与 AI 功能开发流程 类似,评估迭代意味着根据评估结果返回到之前的步骤。提示工程 是这一步骤的关键。然而,它还可能涉及向数据集添加示例、编辑现有示例、调整评估设计,或审查和修订指标和成功标准。
其他资源
- AI 评估工具:包含 GitLab 使用的 AI 评估工具的组。
- LangSmith 评估 YouTube 播放列表: 深入了解使用 LangSmith 进行评估。
- LangSmith 评估食谱: 包含各种评估场景和示例。
- LangSmith 操作指南:包含各种操作指南。
- GitLab Duo Chat 文档: 关于设置和使用 LangSmith 进行聊天评估的综合指南。
- 提示和 AI 功能评估设置和工作流程: 有关评估整体设置和工作流程的详细信息。