在人工智能(AI)领域,模型的迭代优化已成为常态。然而,对于评估(evals)的迭代优化,许多项目团队却常常滞后。他们倾向于依赖人工评估,而非尽早构建自动化评估系统。这主要是因为构建评估系统被视为一项巨大的前期投资,需要投入大量的时间和资源来创建、设计和验证评估指标。本文旨在打破这一观念,鼓励团队将构建评估系统视为一个迭代的过程,从快速而简易的实现开始,逐步完善和优化。
评估的重要性与挑战
过去的文章中,我们已经探讨了评估在AI应用中的重要性和挑战。以客户服务聊天机器人为例,其回复具有自由文本的特性,不存在唯一的正确答案。因此,许多团队不得不依赖人工评估来判断每次更新是否带来了改进。尽管诸如LLM-as-judge等技术有所帮助,但要使其有效运行,需要对提示语、上下文等细节进行精细调整。这进一步加剧了构建评估系统需要大量前期投入的印象。
迭代式评估的优势
与其将评估视为一次性的大规模投资,不如采取迭代的方式。即使是最初的快速评估,即使它只能提供系统性能的部分、不完整和有噪声的测量,也是有价值的。它可以作为人工评估的补充,并随着时间的推移逐步调整评估方法,以缩小评估输出与人类判断之间的差距。以下是一些具体的迭代策略:
- 逐步增加评估集规模:从少量的示例(例如5个)开始,然后逐渐增加示例数量。同时,也可以删除那些过于简单或过于困难,对区分系统版本性能没有帮助的示例。
- 关注关键性能维度:从评估系统性能的子集开始,或者测量与系统性能相关的狭窄指标。例如,在客户支持代理应调用API发出退款并生成适当消息的情况下,可以先只评估API调用是否正确,而暂不考虑消息的质量。或者,如果聊天机器人应推荐特定产品,则可以先评估其是否提到了该产品,而暂不考虑其对该产品的描述。
只要评估的输出与整体性能相关,就可以在开始时仅测量一部分。关键在于建立一个能够提供反馈的评估系统,即使它并不完美。
并行迭代循环
开发过程因此包含两个可以并行执行的迭代循环:
- 迭代改进系统性能:通过结合自动化评估和人工判断来改进系统性能。
- 迭代改进评估方法:使评估结果更贴近人类判断。
这与我们在AI开发中的常见做法相符:快速构建初始端到端系统,然后迭代改进。我们可以采用相同的方法来构建评估系统。
成功的评估标准
一个成功的评估系统应满足以下标准:
- 如果系统A的性能明显优于系统B(根据专业人士的判断),则评估应给予系统A明显更高的分数。
- 如果系统A和系统B的性能相似,则它们的评估分数应相似。
每当一对系统A和B违反这些标准时,都表明评估存在“误差”,需要对其进行调整,以使其正确地对A和B进行排名。这类似于机器学习算法构建中的误差分析的理念。但不同之处在于,我们关注的是评估的“误差”,而不是机器学习算法输出的误差。当评估错误地对两个系统A和B进行排名时,它就无法帮助我们做出选择。
结论
完全依赖人工判断是项目启动的良好方式。但对于许多团队来说,将评估构建为一个快速原型并迭代到更成熟的阶段,可以让他们更早地进行评估并加快进度。
总之,与其将构建评估系统视为一项巨大的前期投资,不如采取迭代的方式,从小处着手,逐步完善。这种方法可以帮助团队更早地获得反馈,更快地改进AI系统。
案例分析:电商推荐系统的迭代评估
假设一家电商公司正在开发一个基于AI的推荐系统,该系统旨在根据用户的历史购买记录和浏览行为,向用户推荐可能感兴趣的商品。初始阶段,团队完全依赖人工评估,即邀请一部分用户体验推荐系统,并收集他们的反馈意见。这种方法虽然能够提供一定的参考,但效率低下,且难以 масштабировать.
为了提高评估效率,团队决定构建一个自动化评估系统。他们首先选择了100个用户作为评估对象,并记录了这些用户在过去一个月内的购买行为。然后,他们使用推荐系统为每个用户生成一个推荐列表,并计算推荐列表中商品与用户实际购买商品之间的重合度。重合度越高,说明推荐系统的准确性越高。
然而,团队很快发现,仅仅依靠重合度来评估推荐系统的性能是不够的。因为有些用户可能只是随机购买了一些商品,而推荐系统并没有捕捉到他们的真实兴趣。为了解决这个问题,团队决定引入更多的评估指标,例如点击率、转化率等。他们还对不同的评估指标赋予不同的权重,以便更全面地评估推荐系统的性能。
随着时间的推移,团队不断地迭代和完善评估系统。他们发现,有些评估指标之间存在相关性,可以进行合并。他们还引入了一些新的评估指标,例如用户满意度、推荐多样性等。最终,团队构建了一个包含多个评估指标、且能够全面评估推荐系统性能的自动化评估系统。
通过这个案例,我们可以看到,构建评估系统是一个迭代的过程。团队需要不断地尝试、学习和改进,才能构建出一个有效的评估系统。
数据佐证:评估迭代带来的性能提升
为了进一步说明迭代式评估的优势,我们来看一组数据。一家金融公司正在开发一个基于AI的风险评估系统,该系统旨在预测客户的信用风险。初始阶段,团队完全依赖人工评估,即邀请一些专家对客户的信用风险进行评估。这种方法虽然能够提供一定的参考,但成本高昂,且效率低下。
为了降低评估成本,提高评估效率,团队决定构建一个自动化评估系统。他们首先选择了1000个客户作为评估对象,并收集了这些客户在过去一年内的信用数据。然后,他们使用风险评估系统为每个客户生成一个风险评分,并计算风险评分与客户实际信用表现之间的相关性。相关性越高,说明风险评估系统的准确性越高。
团队在不同的迭代阶段,风险评估系统的准确性如下表所示:
迭代阶段 | 评估指标(相关性) |
---|---|
初始阶段 | 0.6 |
第一阶段 | 0.7 |
第二阶段 | 0.75 |
第三阶段 | 0.8 |
从上表可以看出,随着评估系统的不断迭代,风险评估系统的准确性得到了显著提高。这充分说明了迭代式评估的价值。
总结
在AI项目开发中,评估系统的构建不应被视为一项耗时耗力的大工程。通过采用迭代的方式,从小处着手,逐步完善,团队可以更早地获得反馈,更快地改进AI系统。这不仅可以提高开发效率,还可以降低开发成本,最终创造出更具价值的AI产品。