AI评估也需迭代:从小处着手,构建更高效的评估体系

1

在人工智能(AI)应用项目中,自动评估(evals)的部署往往滞后,导致人工评估耗时过长。原因在于,构建评估体系被视为一项庞大的投资,涉及创建大量示例、设计和验证指标,团队常常难以抽出时间进行前期投入。然而,更有效的策略是将构建评估视为一个迭代过程,从快速而简易的实现开始,逐步完善和改进。

这种迭代方法的核心在于,允许团队逐步将评估的重心从人工转移到自动评估。正如我在之前的文章中强调的,创建有效的评估体系至关重要,但同时也极具挑战性。以构建客户服务聊天机器人为例,由于回复具有开放性,没有标准答案,因此团队通常需要投入大量人力,逐一审查每次更新后的输出结果,以判断系统是否有所改进。尽管诸如“LLM-as-judge”等技术有所帮助,但要使其发挥最佳效果,仍需对提示语、上下文等细节进行精细调整。这些因素共同加剧了构建评估体系需要大量前期投入的印象,使得团队在日常工作中更倾向于依赖人工评估,而非探索自动评估的构建方法。

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

因此,我鼓励大家采取不同的视角来构建评估体系。即使初始评估体系存在不完整、不完善或带有噪声等问题,也是可以接受的。关键在于,将其视为人工评估的补充,而非替代品。随着时间的推移,团队可以逐步调整评估方法,缩小评估输出与人工判断之间的差距。例如:

  1. 示例数量:评估集中可以从少量的示例开始(例如5个),然后随着时间的推移逐步增加。同时,如果发现某些示例过于简单或过于困难,对区分不同系统版本的性能没有帮助,可以将其删除。
  2. 性能维度:初始评估可以仅关注系统性能的部分维度,或者关注与系统性能相关的狭窄线索,而非完全捕捉系统性能。例如,在客户支持对话中,如果聊天机器人需要(i)调用API发起退款,以及(ii)生成适当的消息回复用户,可以先仅评估其是否正确调用了API,而暂时不关注消息的质量。或者,如果聊天机器人需要推荐特定产品,则基本评估可以仅测量其是否提到了该产品,而无需关注其对该产品的描述。

只要评估的输出与整体性能相关,就可以在初期仅测量部分关键指标。

因此,开发过程包含两个可以并行执行的迭代循环:

  • 迭代改进系统性能:通过结合自动评估和人工判断来衡量系统性能。
  • 迭代改进评估体系:使其更贴近人工判断。

与人工智能领域的许多事物一样,我们往往无法一蹴而就。因此,更好的方法是快速构建一个初步的端到端系统,然后通过迭代进行改进。我们已经习惯于使用这种方法来构建人工智能系统,现在也可以将其应用于评估体系的构建。

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

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

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

完全依赖人工判断是项目起步的好方法。但对于许多团队来说,将构建评估体系视为一个快速原型,并通过迭代使其更加成熟,能够让他们更早地应用评估体系,从而加速项目进展。

总之,构建人工智能系统的评估体系,应该像构建模型本身一样,采用迭代的方法。从小处着手,逐步完善,最终建立起一个能够有效衡量系统性能、并与人类判断相符的评估标准。

构建评估体系是一个持续改进的过程,需要不断地收集数据、分析误差,并根据实际情况进行调整。通过这种迭代的方式,我们可以逐步构建起一个更加完善、可靠的评估体系,为人工智能系统的开发和部署提供有力的支持。

以下是一些建议,可以帮助团队更好地实施评估体系的迭代改进:

  1. 建立清晰的评估目标:在开始构建评估体系之前,团队需要明确评估的目标是什么。例如,评估是为了衡量系统的整体性能,还是为了识别系统中的特定问题?明确评估目标有助于团队选择合适的评估指标和方法。
  2. 选择合适的评估指标:评估指标是衡量系统性能的关键。团队需要根据评估目标选择合适的评估指标。例如,如果评估目标是衡量系统的准确率,可以选择准确率、精确率、召回率等指标。如果评估目标是衡量系统的效率,可以选择响应时间、吞吐量等指标。
  3. 收集足够的数据:数据是评估体系的基础。团队需要收集足够的数据来训练和验证评估体系。数据的质量和数量都会影响评估结果的准确性。
  4. 分析误差:误差分析是改进评估体系的关键步骤。团队需要仔细分析评估结果中的误差,找出误差的原因。例如,误差可能是由于数据质量不高、评估指标不合适或模型存在缺陷等原因造成的。
  5. 不断调整和改进:评估体系不是一成不变的,需要不断地进行调整和改进。团队需要根据误差分析的结果,调整评估指标、改进模型或改进数据收集方法。通过不断地调整和改进,可以逐步提高评估体系的准确性和可靠性。

总之,构建人工智能系统的评估体系是一个复杂而重要的任务。通过采用迭代的方法,从小处着手,逐步完善,并不断地进行调整和改进,我们可以构建起一个能够有效衡量系统性能、并与人类判断相符的评估标准,为人工智能系统的开发和部署提供有力的支持。

在实际应用中,评估体系的构建还需要考虑以下几个方面:

  1. 评估的自动化程度:评估体系的自动化程度越高,评估效率越高。团队可以利用自动化测试工具和平台,实现评估过程的自动化。
  2. 评估的可解释性:评估结果的可解释性越高,越容易发现系统中的问题。团队可以采用可解释性强的评估指标和方法,例如可视化分析、规则提取等。
  3. 评估的安全性:在评估过程中,需要注意保护用户数据的安全。团队可以采用数据脱敏、加密等技术,防止用户数据泄露。

总之,构建人工智能系统的评估体系是一个涉及多个方面的综合性任务。团队需要根据实际情况,综合考虑各种因素,才能构建起一个高效、可靠、安全的评估体系,为人工智能系统的开发和部署提供有力的支持。