AI评估体系构建:迭代式方法加速GenAI应用落地

1

在人工智能(AI)应用领域,许多项目在自动化评估(evals)方面的投入往往滞后,过度依赖人工评估。这种现象的根源在于,构建完善的评估体系被视为一项巨大的前期投资,需要创建大量的示例、设计并验证复杂的指标。然而,这种观念正在阻碍AI应用的快速迭代和优化。

评估体系的迭代式构建

与其将构建评估体系视为一项“要么全有要么全无”的任务,不如将其视为一个迭代的过程。从一个快速且粗糙的实现开始,例如,仅包含少量示例和未经优化的指标,然后随着时间的推移逐步改进。这种方法能够逐渐将评估的负担从人工转移到自动化评估,从而释放宝贵的人力资源,并加速AI系统的开发周期。

评估的重要性不言而喻。以构建一个能够以自然语言回复用户的客户服务聊天机器人为例,由于不存在唯一的正确答案,许多团队不得不投入大量人力来审查每次更新后的输出,以判断系统是否有所改进。虽然诸如“LLM-as-judge”之类的技术有所帮助,但要使其良好运行,需要精细地调整提示、上下文等细节。这些因素共同加剧了构建评估体系需要大量前期投资的印象,导致团队在短期内更倾向于依赖人工评估。

快速构建,逐步完善

鼓励大家采取不同的方法来构建评估体系。即使是部分、不完整且存在噪声的评估,只要能够对系统性能进行粗略的衡量,也是有价值的。这些评估可以作为人工评估的补充,而非替代品。随着时间的推移,可以逐步调整评估方法,以缩小评估输出与人工判断之间的差距。以下是一些具体的建议:

  • 逐步增加示例:从评估集中少量示例开始,例如5个,然后随着时间的推移逐渐添加。如果发现某些示例过于简单或过于困难,对区分不同版本的系统性能没有帮助,可以将其移除。
  • 关注关键维度:从评估体系中仅衡量一部分关键性能维度开始,或者关注与系统性能相关但不能完全捕捉的狭窄线索。例如,在一个客户支持场景中,如果聊天机器人需要(i)调用API来发放退款,以及(ii)生成适当的消息,可以首先只关注API调用是否正确,而暂时忽略消息的质量。或者,如果聊天机器人应该推荐特定的产品,可以先评估它是否提到了该产品,而无需关心它说了什么。

只要评估的输出与整体性能相关,就可以在初始阶段只关注一部分关键指标。

双环迭代开发模式

AI系统的开发过程因此包含两个迭代循环,可以并行执行:

  1. 系统迭代:根据自动化评估和人工判断的组合来改进系统性能。
  2. 评估迭代:使评估体系更接近人工判断。

正如在AI领域的许多其他方面一样,我们通常无法一次性做到完美。因此,最好快速构建一个初始的端到端系统,然后通过迭代来改进它。这种方法已经广泛应用于AI系统的构建,同样也适用于评估体系的构建。

评估体系成功的关键

一个成功的评估体系应该满足以下标准:假设我们有两个系统A和B,并且可以通过调整A来得到B:

  • 如果熟练的人工判断系统A明显优于系统B,则评估体系应给予A明显高于B的分数。
  • 如果A和B的性能相似,则它们的评估分数应相似。

每当系统A和B的评估结果与上述标准相矛盾时,就表明评估体系存在“错误”,需要进行调整以正确地对A和B进行排序。这种理念与机器学习算法构建中的错误分析类似。不同之处在于,我们关注的是评估体系的“错误”,而不是机器学习算法输出的错误。

案例分析:电商平台的智能客服

假设一家电商平台正在开发智能客服系统,旨在自动回复用户的咨询,并解决常见问题。初始阶段,团队完全依赖人工评估来判断系统的回复质量。然而,随着用户数量的增长和系统功能的扩展,人工评估的效率越来越低,难以满足快速迭代的需求。

为了解决这个问题,团队决定引入自动化评估体系。他们首先从50个典型的用户咨询案例开始,并定义了三个关键的评估指标:

  1. 回复相关性:评估系统回复是否与用户咨询相关。
  2. 问题解决率:评估系统是否能够解决用户提出的问题。
  3. 回复流畅度:评估系统回复的语言是否自然流畅。

团队使用简单的规则引擎来实现自动化评估。例如,对于回复相关性,他们检查回复中是否包含与用户咨询相关的关键词。对于问题解决率,他们检查回复中是否包含解决问题的步骤或解决方案。对于回复流畅度,他们使用语言模型来评估回复的语法和语义是否正确。

初始的自动化评估体系并不完美,存在一定的误差。例如,对于一些复杂的问题,系统可能会错误地判断回复的相关性。然而,通过将自动化评估与人工评估相结合,团队能够更快地发现问题并进行改进。

随着时间的推移,团队不断完善自动化评估体系。他们增加了示例数量,优化了评估指标,并引入了更先进的评估技术,例如LLM-as-judge。最终,自动化评估体系能够准确地评估系统的回复质量,并大大减少了对人工评估的依赖。

评估指标的优化

在构建和迭代评估体系的过程中,评估指标的选择和优化至关重要。以下是一些常用的评估指标:

  • 准确率(Accuracy):衡量系统输出的正确程度。例如,在分类任务中,准确率是指系统正确分类的样本比例。
  • 精确率(Precision):衡量系统预测为正的样本中,真正为正的样本比例。
  • 召回率(Recall):衡量所有真正为正的样本中,被系统预测为正的样本比例。
  • F1值(F1-score):精确率和召回率的调和平均值,综合考虑了精确率和召回率。
  • BLEU(Bilingual Evaluation Understudy):用于评估机器翻译质量的指标,衡量机器翻译结果与参考翻译之间的相似度。
  • ROUGE(Recall-Oriented Understudy for Gisting Evaluation):用于评估文本摘要质量的指标,衡量摘要中包含的关键信息量。

除了上述指标,还可以根据具体的应用场景自定义评估指标。例如,在客户服务领域,可以评估系统的平均回复时间、客户满意度等指标。

评估工具的选择

为了更高效地构建和管理评估体系,可以选择合适的评估工具。以下是一些常用的评估工具:

  • Arize AI:提供全面的模型评估和监控功能,帮助团队发现和解决模型性能问题。
  • Fiddler AI:提供模型可解释性和公平性分析功能,帮助团队构建更可靠和负责任的AI系统。
  • Weights & Biases:提供实验跟踪和模型管理功能,帮助团队更好地组织和管理AI项目。

结论与展望

从人工判断开始是项目起步的好方法。但对于许多团队来说,将评估体系构建为一个快速原型,并通过迭代使其更加成熟,能够更早地进行评估,并加速项目的进展。与其追求完美的评估体系,不如拥抱迭代的理念,从小处着手,逐步完善。通过不断地改进评估体系,我们可以更有效地构建和优化AI系统,从而为用户提供更好的体验。

在AI驱动的时代,构建能够准确评估AI系统性能的评估体系至关重要。通过采用迭代的方法,并结合合适的评估指标和工具,我们可以构建更可靠、更高效的AI系统,从而推动AI技术的进步和应用。