在人工智能(AI)应用项目中,自动评估(evals)的重要性日益凸显。许多团队在项目后期才开始考虑构建自动评估系统,而在此之前,他们往往依赖人工评估来判断系统输出的质量。这种做法主要是因为构建评估系统被视为一项巨大的投资,需要创建大量的示例,并设计和验证复杂的指标。然而,我认为团队应该将构建评估系统视为一个迭代的过程,从小处着手,逐步完善。
为什么迭代评估至关重要?
正如我们在构建AI模型时会不断迭代一样,评估系统也应该如此。与其一开始就投入大量资源构建一个完美的评估系统,不如先构建一个快速而粗糙的实现,然后随着时间的推移不断改进。这种方法可以逐步将评估的负担从人工转移到自动评估系统,从而提高效率和降低成本。
我之前曾撰文探讨过创建评估系统的重要性和难度。例如,假设你正在构建一个客户服务聊天机器人,它可以自由文本回复用户。由于没有唯一的正确答案,许多团队最终不得不让人工审查大量的示例输出,以判断每次更新是否改进了系统。虽然像LLM-as-judge这样的技术很有帮助,但要使其发挥作用,需要仔细调整细节,例如使用什么提示,提供什么上下文等等。所有这些都导致人们认为构建评估系统需要大量的预先投资,因此,在任何一天,团队都可以通过依靠人工判断来取得更大的进展,而不是弄清楚如何构建自动评估系统。
如何迭代构建评估系统?
从小处着手:
从少量的示例开始,例如5个,然后随着时间的推移逐渐添加。如果发现某些示例太容易或太难,并且对区分系统不同版本的性能没有用处,可以将其删除。这个过程就像机器学习模型的训练一样,需要不断地调整和优化训练数据,以提高模型的泛化能力。在评估系统的构建过程中,我们同样需要不断地调整和优化评估数据集,以提高评估系统的准确性和可靠性。
关注关键维度:
最初,评估系统可以只关注性能的某个子集,或者关注与系统性能相关的狭窄线索。例如,如果你的客户支持代理在对话的某个时刻应该(i)调用API来发出退款,以及(ii)生成适当的消息给用户,你可以首先只测量它是否正确调用了API,而不用担心消息。或者,如果你的聊天机器人应该在某个时刻推荐特定的产品,一个基本的评估可以测量聊天机器人是否提到了该产品,而不用担心它说了什么。
只要评估的输出与整体性能相关,就可以在开始时只测量你关心的事物的一个子集。例如,你可以先关注聊天机器人是否能够正确识别用户的意图,然后再关注它是否能够生成流畅自然的回复。或者,你可以先关注聊天机器人是否能够提供准确的信息,然后再关注它是否能够提供个性化的建议。
并行迭代:
开发过程包括两个迭代循环,你可以并行执行它们:
- 迭代系统以使其表现更好,通过自动评估和人工判断的组合来衡量;
- 迭代评估以使其更紧密地对应于人工判断。
这两个迭代循环是相互促进的。通过不断地改进系统,我们可以更好地了解评估系统的不足之处,从而改进评估系统。反过来,通过不断地改进评估系统,我们可以更准确地评估系统的性能,从而更好地改进系统。
容错心态:
正如我们在AI领域的许多事情一样,我们常常无法第一次就做对。因此,最好快速构建一个初始的端到端系统,然后迭代改进它。我们已经习惯于采用这种方法来构建AI系统。我们可以用同样的方式构建评估系统。
评估成功的标准
在我看来,一个成功的评估系统应满足以下标准。假设我们目前有系统A,我们可以对其进行调整以获得系统B:
- 如果根据熟练的人工判断,A比B好得多,则评估应给予A比B高得多的分数。
- 如果A和B具有相似的性能,则它们的评估分数应相似。
每当系统A和B的配对与这些标准相矛盾时,这是一个信号,表明评估存在“错误”,我们应该对其进行调整以使其正确地对A和B进行排名。这与构建机器学习算法中的误差分析类似,只是我们不是关注机器学习算法输出的误差(例如,当它输出不正确的标签时),而是关注评估的“误差”(例如,当它们错误地对两个系统A和B进行排名时),因此评估在选择它们之间没有帮助。
案例分析
假设你正在开发一个AI写作助手,它可以帮助用户生成各种类型的文本,例如博客文章、社交媒体帖子和电子邮件。你可以从一个简单的评估系统开始,该系统只关注生成的文本是否语法正确。你可以使用现有的语法检查工具来自动评估生成的文本的语法错误数量。然后,你可以逐渐添加更多的评估指标,例如生成的文本是否流畅自然、是否与用户输入的提示相关、是否具有创造性等等。
随着评估系统的不断完善,你可以将其用于评估不同的AI写作模型,并选择性能最佳的模型。你还可以使用评估系统来识别AI写作模型的不足之处,并对其进行改进。
数据佐证
根据一项最近的调查,超过80%的AI团队认为自动评估系统对于提高AI模型的性能至关重要。然而,只有不到一半的AI团队拥有完善的自动评估系统。这表明,自动评估系统在AI领域仍然是一个相对新兴的领域,具有巨大的发展潜力。
结论
完全依靠人工判断是开始一个项目的好方法。但对于许多团队来说,将评估构建为一个快速原型并迭代到更成熟的系统,可以让你更早地进行评估并加速你的进展。
所以,停止将评估视为事后才想到的事情。拥抱迭代方法,从小处着手,不断改进,并释放自动评估的全部潜力。通过这样做,你不仅可以节省时间和资源,还可以确保你的AI系统真正按照预期运行。
持续构建!