AI模型迭代:评估体系的迭代构建之路

1

在人工智能(AI)驱动的时代,模型迭代已成为常态。然而,对于评估(evals),我们是否也应该采取同样的迭代方法呢?本文深入探讨了在GenAI应用项目中,自动化评估的重要性以及如何通过迭代的方式构建有效的评估体系,从而加速AI应用的开发和优化。

许多GenAI项目的实践表明,自动化评估的引入往往滞后,团队过度依赖人工评估,这主要是因为构建全面的评估体系被视为一项巨大的前期投资。例如,创建数百乃至数千个示例,并设计和验证相应的指标,都需要耗费大量的时间和资源。然而,这种观念正在逐渐改变。

迭代评估:一种更灵活的方法

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

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

正如之前所讨论的,创建有效的评估体系既重要又具有挑战性。以构建一个能够以自由文本回复用户的客户服务聊天机器人为例。由于没有唯一的正确答案,许多团队不得不依靠人工来审查每次更新后的数十个示例输出,以判断系统是否有所改进。虽然诸如LLM-as-judge之类的技术有所帮助,但要使其良好运行,需要对诸如使用什么提示、向评委提供什么上下文等细节进行微调。所有这些都加剧了这样一种印象,即构建评估需要大量的前期投资,因此,在任何一天,团队都可以通过依靠人工评委而不是弄清楚如何构建自动化评估来取得更大的进展。

构建快速评估:关键步骤

那么,如何才能更有效地构建评估体系呢?以下是一些关键步骤:

  1. 从小处着手:从少量的示例开始,例如5个,然后随着时间的推移逐渐添加。同时,也要勇于删除那些过于简单或过于困难,对区分系统不同版本的性能没有帮助的示例。
  2. 关注关键维度:选择评估体系关注的性能维度。可以从评估你关心的性能的维度子集开始,或者测量你认为与系统性能相关但不能完全捕获系统性能的狭窄线索。例如,如果你的客户支持代理应该在对话中的某个时刻 (i) 调用 API 以发出退款,以及 (ii) 生成发送给用户的相应消息,你可以先衡量它是否正确调用了 API,而不用担心消息。或者,如果在某个时刻,你的聊天机器人应该推荐特定的产品,那么基本评估可以衡量聊天机器人是否提到了该产品,而无需担心它说了什么。

只要评估的输出与整体性能相关,就可以在开始时仅测量你关心的事物的一个子集。

  1. 并行迭代:将开发过程分解为两个并行迭代的循环:
    • 迭代系统以使其表现更好,通过自动化评估和人工判断相结合来衡量;
    • 迭代评估以使其更符合人工判断。

评估体系成功的标准

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

  • 如果系统A在熟练的人工评委看来明显优于系统B,则评估应给予A比B更高的分数。
  • 如果系统A和B的性能相似,则它们的评估分数应相似。

当一对系统A和B违反这些标准时,表明评估存在“错误”,需要对其进行调整,以使其能够正确地对A和B进行排序。这种理念类似于机器学习算法构建中的误差分析,只是不是专注于机器学习算法输出的错误——例如当它输出不正确的标签时——我们专注于评估的“错误”——例如当它们错误地对两个系统A和B进行排名时,因此评估无助于在它们之间进行选择。

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

假设一家公司正在开发一个客户服务聊天机器人,旨在帮助用户解决常见问题。最初,团队依赖人工评估来判断聊天机器人的性能。然而,随着用户数量的增加,人工评估的负担变得越来越重。

为了解决这个问题,团队决定引入迭代评估方法。他们从一个包含5个示例的简单评估体系开始,这些示例涵盖了用户最常遇到的问题。评估指标主要关注聊天机器人是否能够正确识别用户的问题并提供相应的解决方案。

随着时间的推移,团队逐渐扩展了评估体系,增加了更多的示例,并引入了更复杂的评估指标。例如,他们开始评估聊天机器人是否能够以友好的语气与用户互动,以及是否能够根据用户的反馈提供个性化的建议。

通过迭代评估,团队能够更快地发现和解决聊天机器人的问题,从而提高了用户满意度。此外,自动化评估还释放了人工评估的资源,使他们能够专注于更复杂的问题。

结论

在AI驱动的时代,迭代评估是一种更灵活、更高效的方法,可以帮助团队构建有效的评估体系,加速AI应用的开发和优化。通过从小处着手、关注关键维度和并行迭代,我们可以将评估的负担从人工逐渐转移到自动化评估,从而提高效率和降低成本。

正如我们在构建AI系统时所采取的方法一样,我们通常不会第一次就做对。因此,最好快速构建一个初始的端到端系统,然后迭代以改进它。我们习惯于采用这种方法来构建 AI 系统。我们可以用同样的方式构建评估。

因此,让我们拥抱迭代评估,共同推动AI技术的发展!