实证性能评估
查看我们的 评估指南 直接查看代码示例。
优化 Claude 以在任务上获得尽可能高的准确性是一门实证科学,也是一个持续改进的过程。无论您是想确定对提示的更改是否提高了 Claude 的性能,测试不同的 Claude 模型,还是评估您的用例是否已准备好投入生产,设计良好的评估系统对于成功至关重要。
在本指南中,我们将引导您了解提示开发生命周期、不同类型的评估及其优缺点,并提供一些指导原则,帮助您为用例选择最佳评估方法。
如何使用评估
在使用 LLM 时,评估应该是整个生产生命周期中不可或缺的一部分。它们提供了衡量性能的定量指标,可以帮助您跟踪进度、发现问题并做出数据驱动的决策。以下是评估如何适应生产生命周期的不同阶段:
- 提示工程:提示工程 过程应该从构建一套严格的评估开始,而不是编写提示。这些评估将作为衡量提示有效性的基础,帮助您随着时间的推移进行迭代和改进。
- 开发:在使用 Claude 开发应用程序或工作流程时,即使提示本身没有改变,也要使用在提示工程阶段设计的评估来定期测试提示的性能。提示之外和下游的工作流程部分可能会无意中影响模型性能。这将有助于您及早发现任何问题,并确保工作流程按预期执行。
- 最终测试:在将应用程序或工作流程部署到生产环境之前,至少创建一组在开发阶段未使用过的额外评估。这组保留的评估将帮助您评估提示的真实性能,并确保它们没有过度拟合开发期间使用的评估。
- 生产:一旦应用程序或工作流程投入生产,继续使用评估来监控性能并识别任何潜在问题。您还可以使用评估来比较不同 Claude 模型或提示版本的性能,以便对更新和改进做出数据驱动的决策。
通过在整个生产生命周期中整合评估,您可以确保提示以最佳方式执行,并且应用程序或工作流程能够提供最佳结果。
评估的组成部分
评估通常包含四个部分:
- 输入提示:输入到模型中的提示。Claude 根据此提示生成完成(也称为输出)。通常,在设计评估时,输入列将包含一组可变输入,在测试时将其输入到提示模板中。
- 输出:通过被评估的模型运行输入提示生成的文本。
- 标准答案:模型输出与之比较的正确答案。标准答案可以是必须完全匹配的答案,也可以是一个完美答案的示例,旨在为评分者(人工或 LLM)提供比较点。
- 分数:由下面讨论的评分方法之一生成的数值,表示模型在问题上的表现如何。
评估评分方法
评估中有两个方面可能耗时且昂贵:编写问题和标准答案对,以及评分。虽然编写问题和标准答案通常是一次性的固定成本,但每次重新运行评估时都会产生评分成本,而您可能会频繁地这样做。因此,构建可以快速且廉价地评分的评估应该是您设计选择的核心。
评估通常有三种常见的评分方式:
- 基于代码的评分:这涉及使用标准代码(主要是字符串匹配和正则表达式)对模型的输出进行评分。常见的版本包括检查与答案的完全匹配,或检查字符串是否包含某些关键短语。如果您可以设计允许这种评分方式的评估,这是最好的评分方法,因为它快速且高度可靠。但是,许多评估不允许这种评分方式。
- 人工评分:人查看模型生成的答案,将其与标准答案进行比较,并给出分数。这是最强大的评分方法,因为它几乎可以用于任何任务,但它也非常缓慢且昂贵,特别是如果您构建了大型评估。如果可能的话,您应该尽量避免设计需要人工评分的评估。
- 基于模型的评分:Claude 非常擅长自我评分,可用于评分各种可能以前需要人工完成的任务,例如创意写作中的语气分析或自由形式问答中的准确性。您可以通过编写 Claude 的评分器提示来实现这一点。
评估类型
有几种类型的评估可用于衡量 Claude 在任务上的表现。每种类型都有其优缺点。
评估类型 | 描述 | 优点 | 缺点 |
---|---|---|---|
多项选择题 (MCQ) | 有多个答案的封闭式问题,其中至少有一个是正确的 | - 易于自动化- 评估主题的一般知识- 明确的答案- 易于知道准确的样子 | - 如果测试是公开的,可能存在训练泄漏- 在评估更复杂或开放式任务方面有限 |
完全匹配 (EM) | 检查模型的答案是否与正确答案完全相同 | - 易于自动化- 在评估特定知识或任务方面具有高精度- 易于知道准确的样子 | - 在评估更复杂或开放式任务方面有限- 可能无法捕获正确答案的变化 |
字符串匹配 | 检查模型的答案是否包含答案字符串 | - 易于自动化- 评估模型输出中特定信息的存在 | - 可能无法捕获模型响应的完整上下文或含义- 可能导致误报或漏报 |
开放式答案 (OA) | 可以有多个可能解决方案或需要多步骤过程来评估的开放式问题 | - 非常适合评估高级知识、隐性知识或定性开放式表现- 可由人工或模型评分 | - 更难以自动化- 需要明确的评分标准- 基于模型的评分可能不如人工评分准确 |
设计评估的最佳实践
在为特定用例设计评估时,请牢记以下最佳实践:
- 特定任务的评估:尽可能使评估特定于您的任务,并尝试让评估中的分布代表现实生活中问题和问题难度的分布。
- 测试基于模型的评分:唯一知道基于模型的评分器是否可以很好地评分您的任务的方法是尝试一下并阅读一些样本,看看您的任务是否是一个好的候选。
- 尽可能自动化:通常,巧妙的设计可以使评估自动化。尝试以允许自动评分的方式构建问题,同时仍然忠实于任务。将问题重新格式化为多项选择是一种常见的策略。
- 优先考虑数量而非质量:通常,与高质量但数量非常少的问题相比,更倾向于数量更多、质量较低的问题。
- 使用评估指南:我们的 评估指南 提供了各种类型的人工和模型评分评估的实现示例,包括指导和可复制的代码。
通过遵循这些最佳实践并为您的用例选择适当的评估类型,您可以有效地衡量 Claude 的性能,并做出数据驱动的决策来改进提示和工作流程。