Skip to content

如何衡量 LLM 评审者与人类标注者之间的一致性

用人工标签检验 LLM 评审:把评审与人的 kappa 同人与人的 kappa 相比较,用 ECE 和 Brier 分数衡量校准,并检查位置偏差。

要判断能否信任一个 LLM 评审,先让至少两个人在看不到评审答案的情况下给一批条目加标签,再把评审与这些人的一致性,同这些人彼此之间的一致性作比较。如果评审与人的 Cohen kappa 接近人与人之间的 kappa,它的表现就大致相当于多了一名标注者;如果远低于这个值,就不行。

LLM 评审(LLM-as-a-judge)是一个被提示去给输出打分的语言模型,通常依据一套评分细则。Cohen kappa 衡量两名评分者之间的一致性,并扣除了偶然情况下预期会出现的一致。评审是校准的,是指它的置信度与它实际答对的频率相符:它以 80% 置信度给出的判决里,大约 80% 应该是对的。

为什么只和一个人比准确率不够

通常第一步检查的是准确率:你自己标注几百个条目,统计评审有多少次与你一致。这个数字有两个问题。它把一个人的标签当作真值,连同这个人的错误一起;而且它没有校正偶然一致,所以在大多数回复都有用的数据集上,一个把所有回复都判为"有用"的评审也能拿到高分。

Kappa 解决第二个问题。第二名人工标注者解决第一个问题,因为两个认真的人之间的分歧,反映了这项任务本身允许达到的一致程度,而对评审的要求不能超过这个程度。

把评审与人与人之间的一致性相比较

报告三类配对:人与人、评审与人,以及在比较多个评审时的评审与评审。如果两个人之间的一致性是 κ = 0.62,那么与他们每个人都达到 0.60 的评审,表现就像第三名标注者,要求它达到 0.9 就是要求超出任务所能允许的程度。一个只有 0.35 的评审,无论原始准确率看起来多好,都谈不上与人一致。

Zheng 等人 (2023) 在 MT-Bench 上做了同样的比较,发现 GPT-4 与人类偏好的一致性和人与人之间的一致性相当。

如果人多于两个,或者有些条目缺了部分标签,除了两两之间的 kappa,还要报告所有评分者之间的 Fleiss kappa 或 Krippendorff alpha。如何选择见标注者间一致性详解

让人工标注保持盲评

如果标注者能看到评审的答案,就会被它锚定,你测到的一致性里有一部分其实是评审在和自己一致。收集人工标签时,不要把评审的答案显示在屏幕上。标注者审阅模型预标注时,同样的效应也会抬高一致性。见识别未经审阅就接受的预标注

除了判决,还要检查置信度

评审可能与人一致,却仍然过度自信。如果用它的置信度来决定哪些条目转给人工,过度自信就会让本该复核的条目跳过审核。

模型对自己给出的置信度,和它回答里的其他内容一样,只是生成出来的文本。采样可以得到一个经验性的置信度:在温度大于零的设置下,对每个条目向评审提问 k 次,把出现最多的答案作为判决,把给出这个答案的样本比例作为置信度。温度为 0 时,k 个样本完全相同,置信度永远是 1.0。

期望校准误差(ECE)把判决按置信度分组,比较每组的置信度和准确率。Brier 分数是置信度与结果之差的平方的平均值。可靠性图把这些组画在一条对角线旁边,完全校准的评审会沿着这条线走。

测试成对评审的位置偏差

比较两个回复的评审,可能不论内容如何,都偏向排在前面的那个,或排在后面的那个。Zheng 等人记录了 LLM 评审中的这种位置偏差。把每一对都跑两次,交换顺序。顺序一换判决就翻转,说明判决是由位置决定的;保持一致的配对所占比例,应当和一致性一起写进报告。见成对模型比较

有序量表

在 1–5 分的评分中,人给 5 分而评审给 4 分,几乎就是一致的。普通 kappa 却把它和 1 对 5 算成一样的分歧。请使用加权 kappa,或采用有序或区间度量的 Krippendorff alpha,并同时报告平均绝对误差。见评分量表

需要标注多少条目

用 50 个条目算出的 kappa,置信区间很宽,宽到两个评审看起来不同,而差别其实只是噪声。报告估计值时要附上区间,并在开始前确定人工样本的规模;方法见标注研究的统计功效。按评审给出的标签分层抽样,可以让稀有类别留在样本里。

在 Potato 中怎么做

Potato 的评审校准会对每个评审在每个条目上运行 k 次,并把它的标签存放在单独的存储中,标注者永远看不到。然后它抽取一个随机或分层样本供人工盲标,最后生成报告。

yaml
annotation_schemes:
  - annotation_type: radio
    name: helpfulness
    description: "Is this response helpful?"
    labels: [helpful, unhelpful]
 
judge_calibration:
  enabled: true
  prompt: |
    You are an impartial expert annotator. Classify the response as exactly
    one of: helpful, unhelpful.
  models:
    - endpoint_type: ollama
      model: llama3.1:8b
      base_url: http://localhost:11434
      temperature: 0.7
  k_samples: 5
  sampling:
    strategy: stratified
    sample_size: 200
    seed: 42
  human:
    num_raters: 2
    gold: majority
  schemas: [helpfulness]

报告给出每个模型相对人工金标准标签的准确率、精确率、召回率和 F1,以及按人–模型、模型–模型和人–人配对拆分的 Cohen κ。它还包括所有评分者之间的 Fleiss κ 和 Krippendorff α、带可靠性分箱的 ECE 和 Brier 分数,以及每个模型的混淆矩阵。对于 Likert 方案,还会加上平均绝对误差和有序 α。从 2.9 版起,评审的评估卡还会显示交换位置后的一致性,生成的标签在人工阶段结束前就可以在 /judge_calibration/results 查看。

LLM 作为评审者的校准列出了全部选项。评审对齐介绍如何针对已有的金标准集调整单个评审的评分细则。

其他工具

LangSmith、Langfuse 和 Galileo 都能让评审与人工修正对齐。Langfuse 计算人工分数与评审分数之间的 Cohen κ,每次比较两个序列。Label Studio 的付费方案会显示标注者与 LLM 在哪些地方一致。见 AI 智能体评估工具对比

常见问题

LLM 评审与人之间的 kappa 多少算好?

没有固定阈值。请把评审与人的 kappa,与同一批条目上两个人之间的 kappa 相比较。接近人与人数值的评审,与人的一致程度大致相当于再多一名标注者。κ 和 α 常用的粗略标准(0.8 及以上可以信赖,0.67 到 0.8 可用于初步结论)描述的是整个任务,难度大的任务会限制任何评审所能达到的上限。

标注者应该看到 LLM 评审的答案吗?

在衡量一致性期间不应该。看到评审判决的标注者往往会被它锚定,从而夸大评审表面上的一致性。如果一定要显示判决,也要等校准样本标注完再显示。

怎样检查 LLM 评审的位置偏差?

每一对都呈现两次,两种顺序各一次,统计判决随顺序改变了多少次。把保持一致的配对比例和一致性一起报告,判决发生翻转的配对要么丢弃,要么重跑。

LLM 评审的期望校准误差是什么?

ECE 衡量评审的置信度与准确率之间的差距。判决按置信度分组,ECE 是各组置信度与该组中与人工标签一致的判决比例之差,按组的大小加权后的平均值。校准良好的评审,ECE 接近零。

延伸阅读