AI模型迭代的下一步:如何构建可迭代的自动化评估体系

1

在人工智能(AI)驱动的时代,模型迭代已成为常态。然而,在评估(evals)方面,我们是否也应采取类似的迭代方法?本文深入探讨了构建自动化评估体系的必要性,并强调了从小规模、快速迭代开始的重要性,最终实现评估流程的优化和效率提升。

自动化评估:从手动到自动的演进之路

在许多GenAI应用项目中,自动化评估的引入往往滞后,团队仍过度依赖人工评估。这主要是因为构建全面的评估体系被视为一项巨大的投资,需要创建大量的示例,并设计和验证复杂的指标。然而,这种观念忽略了评估体系构建的迭代本质。

与其将自动化评估视为一次性的大规模投入,不如将其视为一个持续迭代的过程。从一个快速而简易的实现开始,例如,仅使用少量示例和未经优化的指标,然后逐步迭代改进。这种方法能够逐渐将评估的负担从人工转移到自动化评估,从而提高效率并减少人为误差。

Cartoon of two coworkers coding; one struggles with evaluations, the other iterates quickly through model updates and test cases.

评估的重要性与挑战

评估在AI应用开发中至关重要。以构建客户服务聊天机器人为例,其输出是自由文本,不存在唯一正确答案。因此,许多团队不得不依靠人工来评估每次更新后的输出,以判断系统是否有所改进。虽然诸如LLM-as-judge之类的技术有所帮助,但要使其有效运行,需要对提示语、上下文等细节进行微调。这些因素导致了构建评估体系需要大量前期投入的印象,使得团队在短期内更倾向于依赖人工评估。

迭代评估:逐步完善的方法

鼓励采取不同的评估构建方法,构建快速评估,即使这些评估只是系统性能的部分、不完整和有噪声的度量,也可以通过迭代来改进它们。这些评估可以作为人工评估的补充,而不是替代品。随着时间的推移,可以逐渐调整评估方法,以缩小评估输出与人工判断之间的差距。

例如,可以从评估集中极少的示例开始,比如5个,并随着时间的推移逐渐添加。如果发现某些示例过于简单或过于困难,并且对区分系统不同版本的性能没有用处,也可以删除它们。

此外,可以从仅评估所关注性能的子集开始,或者测量与系统性能相关但不完全捕获系统性能的狭窄线索。例如,如果客户支持代理在对话的某个时刻应该(i)调用API来发出退款,并且(ii)生成适当的消息给用户,则可以首先只测量它是否正确调用了API,而不必担心消息。或者,如果在某个时刻,聊天机器人应该推荐特定产品,则基本评估可以测量聊天机器人是否提到了该产品,而不必担心它说了什么。

只要评估的输出与整体性能相关,就可以在开始时只测量一小部分关注的内容。

双迭代循环的开发过程

开发过程包括两个可以并行执行的迭代循环:

  1. 迭代改进系统性能,通过自动化评估和人工判断相结合的方式进行衡量。
  2. 迭代改进评估体系,使其更贴近人工判断。

正如AI领域的许多事物一样,我们常常无法一次性做到完美。因此,最好快速构建一个初始的端到端系统,然后通过迭代来改进它。我们已经习惯于采用这种方法来构建AI系统,评估体系的构建也应遵循同样的原则。

成功评估的标准

一个成功的评估体系应满足以下标准:

  • 如果系统A的性能明显优于系统B(根据专业人士的判断),则评估体系应给予系统A更高的分数。
  • 如果系统A和系统B的性能相似,则它们的评估分数应相似。

每当系统A和系统B的评估结果与这些标准相矛盾时,就表明评估体系存在“错误”,需要对其进行调整,以正确地对系统A和系统B进行排序。这与构建机器学习算法中的错误分析类似,只不过我们关注的是评估体系的“错误”,而不是机器学习算法输出的错误。

结论:快速原型与迭代改进

纯粹依赖人工判断是项目启动的绝佳方式。但对于许多团队来说,将评估体系构建为一个快速原型,并通过迭代使其更加成熟,能够让你更早地引入评估,并加速你的进展。

案例分析:客户服务聊天机器人的迭代评估

假设一家公司正在开发一个客户服务聊天机器人,旨在回答客户的常见问题并解决简单问题。最初,团队依赖人工评估来判断聊天机器人的回答是否准确、有用和礼貌。然而,随着聊天机器人功能的不断扩展和用户数量的增加,人工评估变得越来越耗时和低效。

为了解决这个问题,团队决定构建一个自动化评估体系。他们首先从一个简单的评估集开始,其中包含50个常见问题和相应的正确答案。然后,他们使用一个基于规则的算法来判断聊天机器人的回答是否与正确答案匹配。如果匹配,则认为回答是准确的;否则,认为回答是不准确的。

然而,团队很快发现,这种简单的评估方法存在一些问题。例如,聊天机器人可能会给出与正确答案不同的回答,但仍然能够解决客户的问题。此外,基于规则的算法无法判断聊天机器人的回答是否礼貌和友好。

为了解决这些问题,团队开始迭代改进评估体系。他们首先增加了评估集的大小,并添加了更多的问题和答案。然后,他们使用一个机器学习模型来判断聊天机器人的回答是否礼貌和友好。此外,他们还引入了一个人工评估环节,用于评估聊天机器人回答的质量。

经过多次迭代,团队最终构建了一个相对完善的自动化评估体系。该体系能够准确、高效地评估聊天机器人的回答,并为团队提供了有价值的反馈,帮助他们不断改进聊天机器人的性能。

数据佐证:自动化评估的效率提升

为了进一步证明自动化评估的价值,团队进行了一项实验。他们将聊天机器人的回答分成两组,一组使用人工评估,另一组使用自动化评估。结果显示,自动化评估的效率比人工评估高出5倍以上。此外,自动化评估的结果与人工评估的结果高度一致,表明自动化评估是可靠的。

实践建议:构建迭代评估体系的步骤

以下是构建迭代评估体系的一些建议步骤:

  1. 从小规模开始:不要试图一开始就构建一个完美的评估体系。从一个简单的评估集和算法开始,然后逐步迭代改进。
  2. 关注核心指标:选择与系统性能密切相关的核心指标进行评估。例如,对于客户服务聊天机器人,可以关注回答的准确性、有用性和礼貌性。
  3. 结合人工评估:自动化评估不能完全替代人工评估。在迭代评估体系的过程中,应结合人工评估来判断自动化评估的结果是否准确可靠。
  4. 持续改进:评估体系需要不断改进,以适应系统功能的变化和用户需求的变化。定期审查和更新评估集和算法,以确保评估体系的有效性。

结论:迭代评估是GenAI应用开发的必然趋势

在GenAI应用开发中,迭代评估是一种必然趋势。通过从小规模、快速迭代开始,团队可以逐步构建完善的自动化评估体系,提高评估效率,并最终提升系统性能。记住,评估体系的构建是一个持续迭代的过程,而不是一次性的大规模投入。

总结而言,构建评估体系时,从小处着手,快速迭代,并不断优化评估方法,是实现高效、准确评估的关键。正如模型需要不断迭代一样,评估也应如此。通过迭代,我们可以更好地理解模型的优缺点,并为其持续改进提供有力支持。