在人工智能(AI)驱动的GenAI应用项目中,自动化评估(evals)的部署往往滞后,导致过多依赖人工评估。原因在于,构建evals被视为一项巨大的前期投资,涉及创建大量的示例、设计和验证指标。然而,这种观念忽略了evals构建的迭代本质。本文倡导一种渐进式的evals构建方法,从快速、简易的实现开始,逐步迭代和完善,从而减轻人工评估的负担,加速GenAI应用的开发和优化。
自动化评估的重要性与挑战
自动化评估对于提升GenAI应用的效率至关重要。以客户服务聊天机器人为例,其输出是自由文本,没有标准答案。传统上,团队需要人工审查大量的输出示例,以判断系统的改进效果。虽然像LLM-as-judge这样的技术有所帮助,但其有效实施依赖于精细的调整,例如提示语的设计、上下文的提供等。这些因素导致evals的构建被认为需要大量的初始投资。
迭代式Evals构建方法
与传统的“All-in”方法不同,迭代式evals构建提倡从小处着手,逐步完善。这种方法的核心在于接受evals在初期可能只是对系统性能的部分、不完整和有噪声的衡量。通过迭代改进,evals可以逐渐与人工判断对齐,最终实现对系统性能的准确评估。
具体而言,迭代式evals构建可以从以下几个方面入手:
少量示例,逐步增加:从少量的示例开始,例如5个,然后随着时间的推移逐渐增加。同时,可以根据实际情况删除过于简单或过于困难的示例,以提高evals的有效性。
关注关键维度,逐步扩展:evals可以从衡量系统性能的子集开始,或者关注与系统性能相关的狭窄线索。例如,对于客户支持代理,可以先衡量其是否正确调用API以退款,而暂不考虑其生成的消息是否恰当。或者,对于推荐产品的聊天机器人,可以先衡量其是否提到了特定产品,而暂不考虑其对该产品的描述。
只要evals的输出与整体性能相关,就可以在初期只衡量部分关键指标。随着迭代的进行,可以逐步扩展evals的覆盖范围,使其能够更全面地评估系统性能。
双迭代循环开发过程
迭代式evals构建与系统开发形成了一个双迭代循环:
- 系统迭代:根据自动化evals和人工判断的结果,不断改进系统性能。
- Evals迭代:不断改进evals,使其更准确地反映人工判断。
这两个循环并行执行,相互促进,最终实现系统性能和评估方法的双重提升。
成功Evals的标准
一个成功的eval应该满足以下标准:
- 如果系统A的性能明显优于系统B(根据人工判断),则eval应该给A更高的分数。
- 如果系统A和B的性能相似,则它们的eval分数应该相似。
当eval无法正确排序系统A和B时,就表明eval存在“错误”,需要进行调整。这种理念类似于机器学习算法中的误差分析。不同之处在于,误差分析关注的是算法输出的错误,而evals迭代关注的是eval对系统排序的错误。
案例分析:电商客服聊天机器人Evals迭代
假设一家电商公司正在开发一个AI客服聊天机器人,用于处理客户的退货请求。初始版本(V1)的机器人主要依赖关键词匹配,效率较低,客户满意度不高。
第一阶段:快速原型Evals
为了快速改进,团队没有 сразу着手构建复杂的Evals系统,而是选择了一个简单的方案:
- Eval指标: 机器人是否能识别“退货”意图并引导用户填写退货单。
- Eval数据集: 收集了20个用户真实咨询案例,人工标注了正确答案。
- Eval方法: 编写简单的Python脚本,判断机器人回复中是否包含退货单链接。
这个简单的Evals系统能够快速发现V1版本机器人在意图识别上的不足。
第二阶段:Evals指标细化
在V1版本的基础上,团队利用生成式AI模型,训练了V2版本机器人,能够更准确地理解用户意图。为了评估V2版本的改进,团队对Evals系统进行了迭代:
- Eval指标: 除了退货单链接,还增加了“退货原因识别”、“情绪安抚”等指标。
- Eval数据集: 扩大到100个案例,并增加了负面案例(用户明确表示不退货)。
- Eval方法: 引入LLM-as-judge,使用GPT-4模型判断机器人回复的质量。
通过第二阶段的Evals,团队发现V2版本在退货原因识别和情绪安抚方面仍有提升空间。
第三阶段:Evals闭环优化
为了进一步提升机器人性能,团队构建了Evals闭环优化机制:
- Evals即服务: 将Evals系统部署为API,方便快速评估不同版本的机器人。
- A/B测试: 将不同版本的机器人分配给不同用户,收集用户反馈数据。
- 持续迭代: 根据Evals结果和用户反馈,不断优化机器人模型和对话策略。
通过持续的Evals迭代,该电商公司的AI客服聊天机器人性能得到了显著提升,退货处理效率提高了50%,客户满意度提升了20%。
结论
迭代式Evals构建是一种更高效、更灵活的GenAI应用开发方法。它允许团队从小处着手,逐步完善评估体系,从而加速系统开发和优化。通过将Evals构建视为一个持续迭代的过程,团队可以更早地发现问题、更快地改进系统,最终构建出更强大的GenAI应用。