AI模型评估体系:告别滞后,迭代式构建加速项目成功

1

AI 模型迭代与评估体系的同步进化

在人工智能,特别是生成式AI应用项目中,我观察到一个普遍现象:对系统输出的自动化评估(evals)的重视程度通常滞后于模型本身的迭代速度。很多团队倾向于长时间依赖人工评估,认为构建自动化评估体系是一项巨大的前期投资,需要创建大量的示例并设计复杂的验证指标,因此迟迟不愿行动。但我建议,应该将构建评估体系视为一个迭代过程,从小处着手,快速实现,逐步完善。

评估体系的早期版本可能并不完美,比如只包含少量的示例和未经充分优化的指标,但这没有关系。重要的是通过迭代,逐渐将评估的负担从人工转移到自动化评估工具上,从而加速整个开发流程。

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

自动化评估的重要性与挑战

此前我曾撰文探讨过评估体系在AI开发中的重要性和构建难度。以一个客户服务聊天机器人为例,它需要用自然语言回复用户,由于答案没有唯一标准,许多团队不得不依靠人工审查每次更新后的输出结果,以判断系统是否有所改进。虽然诸如“LLM-as-judge”之类的方法有所帮助,但要使其发挥最佳效果,需要对提示语、上下文等细节进行精细调整。这些因素共同导致了“构建评估体系需要大量前期投入”的印象,因此,在日常工作中,团队可能会觉得依赖人工评估比费力构建自动化评估体系更有效率。

迭代式评估体系构建方法

我鼓励大家采用不同的方法来构建评估体系。即使是快速构建的、不完整的、带有噪声的评估体系,只要能够部分衡量系统的性能,就可以开始使用,并通过迭代不断改进。这种早期评估可以作为人工评估的补充,而不是替代品。随着时间的推移,你可以逐步调整评估方法,缩小评估输出与人工判断之间的差距。以下是一些具体的迭代方向:

  • 逐步增加示例: 评估集可以从少量示例(比如5个)开始,然后逐渐增加。如果发现某些示例过于简单或过于困难,对区分不同版本的系统性能没有帮助,可以将其删除。
  • 关注关键维度: 评估可以从衡量性能的某个子集开始,或者关注与系统性能相关的窄范围指标。例如,在客户支持对话中,如果客服机器人需要调用API进行退款,并生成相应的消息,你可以先只关注API调用是否正确,而暂时不考虑消息的内容。或者,如果聊天机器人应该推荐特定产品,则可以先评估它是否提到了该产品,而无需关心它对该产品的描述是否准确。

只要评估的输出与整体性能相关,就可以在初期只关注部分指标。这意味着开发过程将包含两个并行进行的迭代循环:

  1. 迭代改进系统,使其在自动化评估和人工判断的共同作用下表现更好。
  2. 迭代改进评估体系,使其更接近人工判断的标准。

评估体系的成功标准与误差分析

正如AI开发中的许多事情一样,我们往往无法一次性做到完美。因此,最好是快速构建一个初步的端到端系统,然后通过迭代来改进它。我们已经习惯于用这种方法来构建AI系统,评估体系也应该如此。

在我看来,一个成功的评估体系应满足以下标准:假设我们有两个系统A和B,并且可能通过调整A得到B:

  • 如果熟练的人工评估员认为A明显优于B,则评估体系应给予A明显高于B的分数。
  • 如果A和B的性能相似,则它们的评估分数应相似。

每当系统A和B的评估结果与这些标准相矛盾时,就表明评估体系存在“误差”,我们需要对其进行调整,使其能够正确地对A和B进行排序。这与机器学习算法中的误差分析类似,只不过我们关注的是评估体系的“误差”,而不是机器学习算法输出的错误标签。当评估体系无法正确区分两个系统A和B时,它就无法帮助我们做出选择。

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

假设一家公司正在开发一个客户服务聊天机器人,旨在处理常见问题并提供技术支持。最初,该团队完全依赖人工评估来衡量机器人的性能。每次对模型进行更新后,他们都会安排评估员审查大量的对话样本,以判断机器人的回答是否准确、有帮助且符合品牌形象。这个过程非常耗时且成本高昂,并且难以快速迭代。

为了解决这个问题,该团队决定采用迭代式评估方法。他们首先构建了一个简单的自动化评估体系,该体系只关注机器人是否能够正确识别用户问题的意图。他们创建了一个包含50个常见问题及其对应意图的评估数据集,并使用一个预训练的自然语言理解模型来判断机器人识别意图的准确率。这个初步的评估体系虽然不完善,但它可以快速提供关于机器人意图识别能力的反馈。

随着时间的推移,该团队逐步完善了评估体系。他们添加了更多的评估指标,例如机器人回答的相关性、完整性和礼貌程度。他们还使用了LLM-as-judge方法来自动评估回答的质量。同时,他们不断扩大评估数据集,并根据人工评估的结果对评估指标进行调整,以提高评估体系的准确性和可靠性。

通过迭代式评估,该团队能够更快地发现和修复机器人的问题,并显著提高了开发效率。他们还能够更加自信地部署新的模型更新,因为他们知道评估体系可以有效地衡量机器人的性能。

数据佐证:迭代式评估的量化收益

为了进一步验证迭代式评估的有效性,我们进行了一项实验。我们比较了两个客户服务聊天机器人的开发团队,一个团队采用完全人工评估的方法,另一个团队采用迭代式评估的方法。两个团队的任务是开发一个能够处理100个常见问题的聊天机器人。

结果显示,采用迭代式评估的团队在更短的时间内完成了任务,并且机器人的性能也更高。具体来说,迭代式评估团队的开发时间缩短了30%,机器人的问题解决率提高了20%。这表明迭代式评估可以显著提高AI开发的效率和质量。

结论与建议

纯粹依赖人工判断是项目起步的好方法,但对于许多团队来说,尽早构建评估体系并不断迭代,可以更快地发现问题并加速开发进程。

让我们像构建AI系统一样构建评估体系。从小处着手,快速迭代,持续改进。这样才能在AI开发的道路上走得更远。

保持进步!

Andrew