评估模型输出是 LLM 应用开发中最重要也是最具挑战性的问题之一。但对于许多任务(例如聊天或写作),人类的偏好很难通过一套规则来编码。相反,对多个候选 LLM 答案进行成对评估可能是教会 LLM 人类偏好的更有效方法。
下面,我们将解释什么是成对评估,为什么您可能需要它,并提供一个操作示例,说明如何在您的 LLM 应用开发工作流程中使用 LangSmith 最新的成对评估器。
成对评估的起源
在关于 LLM 模型性能测试和基准测试的讨论中,成对评估已开始扮演重要角色。例如,人类反馈强化学习(即 RLHF)在 LLM 对齐中采用了成对评估的概念。人类培训师会看到相同输入的两个 LLM 回应对,并选择哪个更好地符合特定标准(例如,有用性、信息量或安全性)。
最受欢迎的 LLM 基准测试之一 Chatbot Arena 也采用了这个想法:它会为给定的用户提示呈现两个匿名的 LLM 生成内容,并允许用户选择更好的一个。虽然 Chatbot Arena 依赖于人类反馈进行成对评估,但也可以使用 LLM 作为裁判 来 预测人类偏好 并自动化此成对评估过程。
尽管成对评估在公开基准测试和 LLM 对齐方面很受欢迎,但许多用户可能不知道如何使用自定义成对评估来改进他们的 LLM 应用。考虑到这一限制,我们在 LangSmith 中添加了成对评估作为一项新功能。
LangSmith 中的成对评估器
LangSmith 的成对评估允许用户 (1) 使用任何所需的标准定义自定义的 LLM 作为裁判的成对评估器,以及 (2) 使用此评估器比较两个 LLM 的生成内容。您无需选择要比较的运行,而是会在点击“数据集和测试”选项卡时看到一个名为“成对实验”的新子标题。
这与比较视图有何不同?
您可能提出的一个问题是“这与比较视图有什么不同?”
如果您错过了,几周前我们发布了一个改进的 回归测试 比较视图。这允许您比较两个运行并识别回归。成对评估的目标相似,但在实现上存在显著差异。
在之前的比较视图中,您会单独评估每个运行,然后比较得分。例如,您会为每个运行在 1-10 的评分范围内(独立地)给出评分,然后查找一个运行的得分高于另一个运行的情况。
成对评估是同时查看结果。这允许您定义一个明确比较两个结果的评估器。然后,您将为该对获得一个得分。它不是单独评分每个运行。
您何时可能使用成对评估?
为了激发此功能,此视频 展示了与内容生成相关的常见用例。在此示例中,我们希望 LLM 生成引人入胜的推文来总结学术论文。我们构建了一个包含 10 篇不同论文的数据集作为示例(此处),并从 4 个不同的 LLM 生成了摘要。
由于我们不希望 LLM 生成一个单一的“真实”论文摘要,因此我们使用了一个 标准评估器,并使用 此 评估提示,根据 5 个标准(例如,表情符号的使用、引人入胜的标题等)为摘要推文打分,从 1(最差)到 5(最好)。

如下所示,我们在数据集中捕获了此 summary_engagement_score。

然而,这立即凸显了一个问题:4 个 LLM 中有 3 个在我们的 summary_engagement_score 上都获得了满分,之间没有任何区分。孤立来看,很难定义一个能够区分不同 LLM 的标准评估器。然而,成对评估提供了一种解决此挑战的替代方法。
使用自定义成对评估
如视频(文档此处)所示,我们在 LangSmith SDK 中使用自定义成对评估器,并在 LangSmith UI 中可视化成对评估的结果。要将这些应用于上述问题,我们首先定义一个 成对评估提示,该提示编码了我们关心的标准(例如,在标题、项目符号等方面,哪个推文摘要更具吸引力)。然后,我们只需在已在我们的数据集上运行过的任何两个实验上运行自定义评估器 evaluate_pairwise(请参阅此处使用的完整代码)。
from langsmith.evaluation import evaluate_comparative
evaluate_comparative(
["summary-cmd-r-f692a55c", "summary-opus-21590361"],
evaluators=[evaluate_pairwise],
)
在 UI 中,我们将在数据集的“成对实验”选项卡中看到所有成对评估的结果。重要的是,我们看到成对评估显示了对某些 LLM 明显优于其他 LLM 的偏好——这与单独的标准评估形成对比,后者显示出很少的区分度。

UI 允许我们深入研究每个成对实验,显示根据我们的标准(在列顶部用颜色和竖起大拇指表示)更倾向于哪个 LLM 生成的内容。通过点击每个答案下的 ranked_preference 分数,我们可以进一步钻取每个评估跟踪(此处 示例),这提供了排名解释(在我们的提示中 定义)。

结论
许多 LLM 用例,例如文本生成或聊天,没有单一或特定的“正确”答案可用于评估。在这些情况下,通过人类或 LLM 选择首选响应的成对评估是一种强大的方法。
在这篇博文中,我们展示了如何测试评估推文摘要生成的模糊任务,并揭示了单独评估标准的不足之处。我们的 自定义成对评估器 使我们能够直接比较我们的生成内容,从而突出了模型之间明显的偏好。
要深入了解,请参阅我们关于成对评估的视频和文档。您还可以立即试用 LangSmith,以获得强大的实验和评估功能,支持提示版本控制、调试和人工标注——这样您在构建 LLM 应用时就能获得生产可观测性。