关键链接
评估 是持续改进您的 LLM 应用程序的过程。这需要一种衡量应用程序性能的方法。
LLM 应用程序通常会生成自然语言输出,而使用硬编码规则很难判断这些输出。例如,简洁性或相对于参考输出的正确性等属性,很难用传统的单元测试来表达。
使用“大型语言模型作为评判者”是评估 LLM 应用程序自然语言输出的一种常用方法。这涉及将生成的输出(以及其他信息)传递给一个单独的大型语言模型,并要求它来判断输出。虽然这在一些场景中被证明是有用的,但它也带来一个有趣的问题:您现在必须进行另一轮提示工程,以确保大型语言模型作为评判者的表现良好。
LangSmith 为此日益突出的问题提供了一种新颖的解决方案。LangSmith 评估器现在具有“自我改进”功能,其中对大型语言模型作为评判者的输出进行的人工更正将作为少样本示例存储起来,然后在未来的迭代中反馈到提示中。
在这篇文章中,我们将讨论大型语言模型作为评判者的评估器的兴起,以及导致我们找到此解决方案的一些推动性研究,然后深入探讨其具体实现方式。如果您想尝试一下,可以在此免费注册 LangSmith。
大型语言模型作为评判者
以编程方式评估大型语言模型输出通常很困难。其中很大一部分原因是缺乏良好的指标。当然,如果您正在进行分类或命名实体识别或其他“传统”机器学习任务,那么可以使用标准的机器学习指标。但是,如果您正在执行更多“生成式”任务(大多数应用程序通常都是如此),那么就没有很多好的选择。
评估非常重要!您不能仅仅启动一个应用程序并寄希望于一切顺利——您应该在真实数据上评估其性能,对您的应用程序进行更改,然后确保这些更改不会导致回归。我们看到构建者在在线和离线评估阶段花费了大量时间——并据此构建了 LangSmith。
LangSmith 对您使用的指标没有偏好(我们看到几乎每个人都定义了自己的自定义指标)。我们与 Elastic 和 Rakuten 等优秀的团队合作过,亲眼目睹了他们如何进行评估——我们注意到的一件事是“大型语言模型作为评判者”评估器的使用量有所增加。
“大型语言模型作为评判者”评估器只是一个使用大型语言模型来评分输出的评估器。当难以以编程方式评估应用程序并且唯一其他方法是人工标注时,这通常很有用。我们看到的关键用例包括
- 检测 RAG 幻觉(在线评估)
- 检测 RAG 正确性(离线评估)
- 检测大型语言模型是否生成了有毒或不合适的答案(离线和在线评估)
为什么这有效?如果大型语言模型本身正在生成答案,那么为什么使用大型语言模型来评分结果实际上有效呢?
有两个因素在起作用。首先,在评估过程中,大型语言模型可能可以访问在生成时无法获得的信息。例如,在判断 RAG 正确性时,您会向评估器大型语言模型提供真实答案,并要求它与之进行比较。显然,这是您当时没有的一些信息。其次,对于大型语言模型来说,判断答案的正确性比生成正确的答案本身更容易。这种任务的“简化”使得大型语言模型作为评判者成为可能。
虽然此过程可以正常工作,但它也存在一些复杂之处。您仍然必须为评估器提示进行另一轮提示工程,这可能很耗时,并阻碍团队建立合适的评估系统。借助 LangSmith,我们的目标是简化此评估过程。
推动性研究
有两项推动性研究促使我们实施了解决方案。
第一项研究没有什么新意:语言模型擅长少样本学习。如果您向大型语言模型提供正确完成任务的示例,它们将模仿正确的行为。此方法在我们客户的大型语言模型应用程序中得到了广泛采用;在难以用说明解释大型语言模型应该如何表现,以及期望输出具有特定格式的情况下,它尤其有效。评估符合这两个标准!
另一项研究是新的:伯克利大学 Shreya Shankar 发表的一篇论文,题为谁来验证验证者?将大型语言模型辅助的评估与人类偏好对齐。本文解决了同样的问题,尽管它提出的解决方案与我们的不同,但它帮助促使我们使用反馈收集作为一种以编程方式将大型语言模型评估与人类偏好对齐的方法。
那么——我们如何利用这两个想法来构建我们的“自我改进”评估器呢?
我们的解决方案:LangSmith 中的自我改进评估
基于最近的研究和大型语言模型作为评判者的评估器的广泛采用,我们为 LangSmith 评估器开发了一种新颖的“自我改进”系统。这种方法旨在简化将大型语言模型评估与人类偏好对齐的过程,无需进行大量的提示工程。以下是其工作原理
首先,设置大型语言模型作为评判者(在线或离线):用户可以轻松地在 LangSmith 中为在线或离线评估设置大型语言模型作为评判者的评估器。此初始设置需要最少的配置,因为该系统旨在随着时间的推移而改进。在设置时,您可以指定如何将少样本示例格式化为提示。

- 让它留下反馈:大型语言模型评估器会提供有关生成输出的反馈,评估诸如正确性、相关性或在先前步骤中作为评判者的一部分指定的任何其他标准等因素。
- 用户可以在应用程序中本地对该反馈进行更正:当用户查看大型语言模型的评估时,他们可以直接在 LangSmith 界面中修改或更正反馈。此步骤对于捕获人类偏好和判断至关重要。
- 这些更正将被存储为少样本示例:LangSmith 会自动将这些人工更正存储为少样本示例。这创建了一个不断增长的与人类对齐的评估数据集,该数据集反映了您的团队或应用程序的特定偏好和标准。您还可以在此流程中为更正留下解释。
- 下次评估器运行时,它将存储这些示例(以及可选的解释),并使用这些示例来指导其生成:在随后的评估运行中,系统会将这些存储的示例合并到大型语言模型作为评判者的提示中。通过利用语言模型的少样本学习能力,评估器会随着时间的推移越来越与人类偏好对齐。
有关更多技术演练,请参阅此操作指南。
这种自我改进循环允许大型语言模型作为评判者根据真实世界的反馈调整和改进其评估,从而无需手动调整提示或耗时的提示工程。现在,团队可以专注于在必要时审查和更正评估,因为他们知道他们的输入会随着时间的推移直接提高系统的性能。
结论
大型语言模型作为评判者的评估器是评估生成式 AI 系统的强大工具,但它也带来了提示工程和人类偏好对齐方面的新挑战。LangSmith 的自我改进评估器为此问题提供了一种优雅的解决方案,它利用少样本学习和用户更正来整合人类反馈,以便进行准确、相关的评估,而无需持续的人工干预。
随着人工智能的快速发展,自我改进的评估器将在弥合机器能力和人类期望之间的差距方面发挥至关重要的作用。借助 LangSmith,我们正在赋予团队更大的信心和效率来构建、评估和改进其 AI 应用程序。如果您还没有注册——请在此免费注册 LangSmith此处。