在人工智能(AI)应用项目中,自动评估(evals)的重要性日益凸显。然而,许多团队在项目后期才开始关注 evals 的构建,或者过度依赖人工评估,这往往是因为他们认为构建 evals 需要大量的初始投入。本文旨在打破这一固有观念,强调 evals 的构建应被视为一个迭代过程,鼓励团队从小处着手,逐步完善,从而更有效地利用自动评估,减少对人工的依赖。
在构建客户服务聊天机器人时,由于回复的答案不唯一,评估其性能的难度显著增加。许多团队不得不依赖人工审查,对每次更新后的输出进行评估,以判断系统是否有所改进。尽管诸如“LLM-as-judge”等技术有所帮助,但要使其高效运行,需要对提示语、上下文等细节进行精细调整。这种复杂性使得构建 evals 看起来需要巨大的前期投入,导致团队更倾向于依赖人工评估,而非投入时间和精力构建自动评估系统。
然而,构建 evals 的方法可以有所不同。即使是初步的、不完整的评估,只要能够提供系统性能的部分衡量,也是有价值的。这些初步的 evals 可以作为人工评估的补充,随着时间的推移,评估方法可以逐步调整,以缩小 evals 输出与人工判断之间的差距。以下是一些建议:
- 从小规模开始: evals 集合可以从少量的示例开始,例如 5 个,然后随着时间的推移逐渐增加。如果发现某些示例过于简单或过于困难,可以将其删除,以提高 evals 的区分度。
- 关注关键维度: evals 可以从衡量系统性能的子集开始,或者关注与系统性能相关的狭窄线索。例如,在客户支持场景中,如果聊天机器人需要调用 API 进行退款并生成相应的消息,可以先评估 API 调用是否正确,而暂时不关注消息的质量。或者,如果聊天机器人应推荐特定产品,则可以先评估其是否提到了该产品,而暂时不关注其具体内容。
只要 evals 的输出与整体性能相关,就可以在初期仅关注部分指标。开发过程因此包含两个可以并行执行的迭代循环:
- 系统迭代: 通过结合自动 evals 和人工判断来改进系统性能。
- Evals 迭代: 使 evals 更接近人工判断。
在 AI 领域,我们很少能一次性成功。因此,快速构建一个端到端系统,然后通过迭代来改进它,是一种更有效的方法。这种方法同样适用于构建 evals。
一个成功的 evals 应该满足以下标准:
- 如果系统 A 的性能明显优于系统 B(根据人工判断),则 evals 应该给 A 更高的分数。
- 如果系统 A 和 B 的性能相似,则它们的 evals 分数应该相似。
如果一对系统 A 和 B 违反了这些标准,则表明 evals 存在“错误”,需要对其进行调整,以正确地对 A 和 B 进行排序。这类似于机器学习算法中的错误分析,但不同之处在于,我们关注的是 evals 的“错误”,而不是机器学习算法输出的错误。
总而言之,虽然完全依赖人工判断是项目启动的有效方式,但对于许多团队来说,将构建 evals 视为一个快速原型,并通过迭代使其更加成熟,可以更早地应用 evals,从而加速项目的进展。
深入理解AI评估迭代
评估指标的演进:从粗放到精细
在AI项目初期,评估指标往往较为粗略,例如,简单地检查客户支持聊天机器人是否调用了正确的API。随着项目进展,评估指标需要逐步细化,例如,评估聊天机器人生成的消息是否清晰、礼貌,是否准确地解决了用户的问题。这种从粗放到精细的演进,能够更全面地反映系统的真实性能。
案例分析:
假设一个电商平台的AI推荐系统,最初的评估指标可能只是推荐商品的用户点击率。但随着用户对推荐结果的要求越来越高,评估指标需要扩展到包括用户购买转化率、用户对推荐结果的满意度调查等。更进一步,还可以引入诸如“推荐多样性”等指标,避免系统过度推荐同一类商品,从而提升用户体验。
数据驱动的评估体系
构建高质量的评估体系,离不开数据的支持。通过收集用户行为数据、用户反馈数据等,可以更准确地了解系统的优缺点,从而有针对性地改进评估指标。例如,通过分析用户在聊天机器人中的对话记录,可以发现用户经常遇到的问题,从而优化聊天机器人的回复策略。
实践建议:
- 建立数据收集机制: 确保能够收集到足够的用户行为数据和用户反馈数据。
- 数据分析: 定期对收集到的数据进行分析,发现系统存在的问题。
- 评估指标优化: 根据数据分析结果,优化评估指标,使其更准确地反映系统性能。
人工评估与自动评估的融合
虽然自动评估能够大大提高评估效率,但在某些情况下,人工评估仍然是不可或缺的。例如,对于一些需要主观判断的问题,如“聊天机器人的回复是否具有同理心”,人工评估往往比自动评估更准确。
融合策略:
- 初期依赖人工评估: 在项目初期,主要依赖人工评估,了解系统的优缺点。
- 逐步引入自动评估: 随着项目进展,逐步引入自动评估,提高评估效率。
- 人工评估与自动评估相结合: 对于一些关键问题,采用人工评估与自动评估相结合的方式,确保评估结果的准确性。
持续迭代,不断完善
评估体系的构建是一个持续迭代的过程。随着系统功能的不断完善、用户需求的不断变化,评估指标也需要不断调整。只有通过持续迭代,才能构建出高质量的评估体系,从而推动AI项目的成功。
迭代步骤:
- 评估指标设计: 根据系统目标和用户需求,设计初步的评估指标。
- 数据收集与分析: 收集用户行为数据和用户反馈数据,分析系统性能。
- 评估指标优化: 根据数据分析结果,优化评估指标。
- 效果验证: 验证优化后的评估指标是否能够更准确地反映系统性能。
- 重复以上步骤: 持续迭代,不断完善评估体系。
通过以上策略,我们可以构建更完善的AI评估体系,为AI应用的开发和优化提供有力支持。记住,评估不是一蹴而就的过程,而是一个需要持续投入和迭代的环节。只有不断地改进评估方法,才能确保AI系统真正满足用户需求,并实现其应有的价值。
通过上述的讨论和分析,我们可以清晰地认识到,在构建和优化AI系统时,评估(evals)并非一个可以延后处理的环节,而是一个需要尽早介入并持续迭代的关键过程。从最初的粗略评估到精细化评估指标的演进,从纯粹的人工评估到人工与自动评估的融合,再到数据驱动的评估体系的构建,每一个环节都至关重要。将评估视为一个动态的、迭代的过程,能够帮助团队更准确地了解系统性能,及时发现并解决问题,从而加速AI项目的进展,并最终实现其商业价值和社会价值。
正如Andrew所说,我们已经习惯于通过迭代的方式构建AI系统,那么我们也应该以同样的方式来构建评估体系。从小处着手,逐步完善,持续迭代,最终构建出高质量的评估体系,为AI系统的成功保驾护航。