在人工智能(AI)领域,模型的迭代更新已成为常态。然而,对于评估(eval)体系的构建,许多项目团队却往往滞后,过度依赖人工评估,忽略了评估体系的迭代优化。这种现象的根本原因在于,构建完善的评估体系被视为一项巨大的前期投资,需要创建大量的示例,并设计和验证复杂的指标,这让许多团队望而却步。本文旨在打破这一固有观念,提倡将评估体系的构建视为一个持续迭代的过程,鼓励团队从小处着手,逐步完善,从而更有效地利用自动化评估,减轻人工评估的负担。
自动化评估:起步虽小,意义重大
许多GenAI应用项目在系统输出的自动化评估方面进展缓慢,长期依赖人工评估。这是因为构建评估体系被看作是巨大的投资,需要创建大量的示例,并设计和验证指标。但实际上,团队应该以迭代的方式构建评估体系,从快速、简单的实现开始,逐步改进。这种方法能够逐渐将评估的重心从人工转向自动化。
过去,我曾撰文强调了创建有效评估体系的重要性和难度。例如,在构建一个客户服务聊天机器人时,由于回复具有开放性,难以找到唯一的正确答案,因此许多团队不得不依赖人工评估来判断系统的改进效果。尽管诸如LLM-as-judge等技术有所帮助,但要使其发挥最佳效果,需要对提示语、上下文等细节进行精细调整。这些因素共同导致了“构建评估体系需要大量前期投资”的印象,使得团队在短期内更倾向于依赖人工评估。
评估体系的迭代构建:化繁为简,循序渐进
我鼓励大家以不同的视角看待评估体系的构建。即使初始的评估体系只能提供部分、不完整和有噪音的系统性能衡量,也没有关系,关键在于通过迭代不断改进。这种评估体系可以作为人工评估的补充,而非替代品。随着时间的推移,我们可以逐步调整评估方法,缩小评估输出与人工判断之间的差距。
例如,评估集合中的示例数量可以从少量开始(比如5个),然后逐步增加。如果发现某些示例过于简单或困难,对区分不同版本的系统性能没有帮助,可以随时删除。此外,评估可以从只衡量部分性能维度入手,或者只关注与系统性能相关的狭窄指标。例如,在客户支持对话中,如果机器人需要调用API进行退款,并生成适当的消息,我们可以先只关注API调用是否正确,而暂时忽略消息的质量。或者,如果聊天机器人应该推荐某个产品,我们可以先评估它是否提到了该产品,而暂时不关注它对该产品的描述。
只要评估的输出与整体性能相关,那么在初期只衡量部分关键指标是完全可行的。
双环迭代:系统与评估的协同进化
因此,开发过程包含两个可以并行执行的迭代循环:
- 系统迭代:根据自动化评估和人工判断的综合结果,不断改进系统性能。
- 评估迭代:不断优化评估体系,使其更贴近人工判断。
与人工智能领域的许多事物一样,我们往往无法一次性做到完美。因此,最好是快速构建一个初步的端到端系统,然后通过迭代进行改进。这种方法已经广泛应用于人工智能系统的构建中,同样也适用于评估体系的构建。
一个成功的评估体系应该满足以下标准:
- 如果系统A在人工判断中明显优于系统B,那么评估体系应该给A更高的评分。
- 如果系统A和B的性能相似,那么它们的评估分数也应该相似。
每当一对系统A和B违反这些标准时,就表明评估体系存在“错误”,需要进行调整,以使其能够正确地对A和B进行排序。这种理念与机器学习算法构建中的错误分析类似。不同之处在于,我们关注的是评估体系的“错误”,而不是机器学习算法输出的错误(例如,输出不正确的标签)。当评估体系错误地对两个系统A和B进行排序时,它就无法帮助我们做出选择。
完全依赖人工判断是项目启动的绝佳方式。但对于许多团队来说,将评估体系构建为一个快速原型,并通过迭代使其更加成熟,可以更早地应用评估,并加速项目进展。
结论:持续构建,不断进步
在AI的世界里,快速迭代是成功的关键。对于评估体系的构建,我们也应该秉持同样的理念。从小处着手,不断迭代,逐步完善,最终构建出能够有效衡量系统性能、指导系统改进的评估体系。
保持构建!