打造专家级评判员

让评判模型为投入生产环境做好准备。

您在设置基本评判模型 (第 1 部分第 2 部分) 中构建的基本评判模型基于自行添加标签的数据。这是建立测试基准的好方法。不过,如需获得生产级质量,您需要一个像领域专家一样思考的评判模型,并且需要可靠的统计指标来大规模信任该模型。这就是我们在此处要介绍的内容。

与专家一起创建对齐数据集

使用人工专家为对齐数据集添加标签是构建可靠的 LLM 评判模型的关键。优先考虑质量而非数量。领域专家添加的 30 个高质量标签比非专家添加的 300 个标签要好得多。

寻找标签添加者

使用内部设计师和品牌专家进行品牌对齐。对于毒性,您可以依赖于相同的标签添加者,也可以根据中心评分准则从团队中众包标签,以确保标签添加者共享相同的评分标准。

需要多少位专家标签添加者?

  • 一位专家:速度很快,可以作为入门,但您的评判模型会继承该人的偏见。
  • 两位专家:这可能是预算的最佳平衡点。您无法打破僵局,但可以发现分歧。
  • 三位及以上:这是黄金标准。使用奇数可以为二进制 PASSFAIL 评估提供自动打破僵局的机制,例如在我们的示例中,您可以采用多数人的评分。

对于 ThemeBuilder,假设您很幸运地拥有三位内部品牌设计师,他们同意担任我们的专家标签添加者。

专家制定评分准则

在添加标签之前,请让专家为 PASS 定义严格的 评分准则,其中包含具体标准。这有助于您的专家在判断时保持一致性,无论是单独判断还是集体判断。

例如:

Criteria:
• Psychological association: Do the colors evoke the emotions associated with the desired tone?
• Harmony: Do the colors work together to create the right atmosphere?
• Appropriateness: Is the palette suitable for the company's industry?

专家为数据添加标签

让您的专家审核 30 到 50 个样本,根据评分准则分配 PASSFAIL 标签,并编写 rationale 来解释其判断。理由至关重要,因为您将使用它来排查和解决评判模型与专家之间的不一致问题。

一个电子表格界面,可帮助专家判断主题。
专家标签添加者的 Web 应用。此界面的灵感来自 Eugene Yan 的AlignEvals

高效添加标签的提示

手动添加标签的成本很高。尝试以下技巧来优化专家的效率:

  • 仅验证:使用 LLM 生成初始标签和理由,然后让专家审核并修正它们。验证比从头开始创建判断要快。
  • 选择性添加标签:让第二位专家审核第一位专家的一小部分工作。如果他们意见不一致,请停止并修正评分准则,然后再添加更多标签。
  • 将 LLM 作为第二意见:让一位专家和一个 LLM 评判模型为相同的项添加标签。如果一致性较低,则 LLM 对评分准则的理解不同。反复修改评分准则,直到它们一致。
  • 评分者内检查:如果您只有一位专家,请让他们在一周后盲目地重新为随机 10% 的数据添加标签。如果他们与自己过去的意见不一致,则您的评分准则不稳定。

以下是专家添加标签的数据集条目的 JSON 代码段,包括专家的 PASSFAIL 标签,以及详细的理由:

{
  "id": "sample-001",
  "userInput": {
    "companyName": "Kinetica",
    // Company description, audience and tone
  },
  "appOutput": {
    "motto": "Unlock your kinetic potential.",
    // ... Color palette
  },
  "humanEvaluation": {
    "mottoBrandFit": {
      "label": "PASS",
      "rationale": "This motto powerfully aligns the brand's technical
        engineering with the ambitious goals of its elite athletic audience.
        Relevance: Leverages 'kinetic' to expertly link the brand to physical
        energy. Audience appeal: 'Unlock your potential' resonates perfectly
        with competitive runners. Tone consistency: Nails the required
        aggressive, high-performance marks."
    },
    // ... Human evals for colorBrandFit and mottoToxicity:
  }
}

达成和衡量专家一致性

您的评分准则充当模型的说明,因此花时间对其进行完善非常重要。如果一位设计师将"俏皮"定义为"富有创意的语言",而 另一位设计师将其解释为"鲜艳的色彩",那么您的 LLM 也会感到困惑。 您必须强化评分准则,消除这些歧义,然后才能将其提供给评判模型。高一致性(也称为“标签添加者间可靠性”或“ 评分者间一致性”) 可确保您的评判模型提供可靠的高质量标签。

人工分歧是有用的信号,可告诉您评分准则的哪些方面需要改进。反复修改评分准则,直到您的专家就 PASSFAIL 的情况达成一致。

评判模型不可能比构建它的人更一致。

Booking.com

基本协议

衡量人与人之间一致性的一种方法(我们也在基本评判模型中用于衡量人工评判模型一致性得分)是专家意见一致的频率百分比。

// total = all test cases
// aligned = test cases where human1Eval.label === human2Eval.label
// (for example PASS and PASS)
const alignment = (aligned / total) * 100;

超越运气的共识:Kappa

基本百分比一致性很简单,但可能会产生误导。假设一个数据集一半是 PASS,一半是 FAIL。如果两位专家掷硬币,他们仍然会纯粹出于运气而有 50% 的时间意见一致。这称为“运气下限”。

如需准确计算一致性,请使用统计指标来衡量超越纯粹偶然性的可靠性:

  • 科恩卡帕指标 ,适用于两位标签添加者。
  • 弗莱斯卡帕指标 ,适用于三位或更多标签添加者。

  • 测试:目标是 Kappa 得分至少为 0.61,这是 高度共识的标准。得分为 0 表示与随机猜测无异, 且 1.0 表示完全一致。

  • 修正:如果您的 Kappa 得分低于 0.61,则您的评分准则过于模糊。 将专家意见不一致的样本分组,查看其理由,更新评分准则以涵盖这些特定极端情况,重复此过程,直到达到 0.61。只有在专家意见一致后,才能继续执行下一步。

Kappa 得分 操作
低于 0.60:差 反复修改并找出专家意见不同的原因。您的 评分准则可能过于模糊,因此请对其进行完善。
0.610.80:良好 您的基准可靠。继续使用此评分准则。
0.81-1.00 几乎完美 好得令人难以置信。验证任务是否过于简单,或者专家是否 过于简化。

收起专家标签

如果您使用了三位或更多人工专家为数据添加标签,请将他们的投票合并为每个样本的单个多数评分。此列表将成为您的实际情况。

配置评判模型

就像您对基本评判模型所做的那样,您需要 配置模型参数 并编写提示。将系统说明设置为严格的专家角色,并将温度保持在 0 以实现最大一致性。在提示中,提供人工专家用于对数据进行评分的确切评分准则。添加一些专家添加标签的样本作为少样本示例,向评判模型展示确切的推理方式。

对齐和测试评判模型

人工专家达成一致后,接下来就要看看 LLM 评判模型是否与他们意见一致。

在基本设置中,我们查看了原始对齐(准确率)。但仅凭这个数字可能会产生误导。假设您的测试数据中有 90% 是 PASS。一个懒惰的评判模型可能会每次都输出 PASS,并获得 90% 的准确率,但却无法发现任何有毒的口号。

定义正类别

定义正类别。您的正类别(也称为目标条件感兴趣的事件)是您尝试检测、衡量或标记的特定结果。您的评估流水线充当门卫:其主要目标是捕获并阻止不良输出。

假设 ThemeBuilder 通常擅长生成符合品牌形象的标语和调色板,并且有毒的口号也很少见,那么您所有评估标准的正类别都是 FAIL

了解了这一点:

  • 假正例是指被错误标记为 FAIL 的良好输出。
  • 假负例是指遗漏的 FAIL
  • 真正例是指正确识别的 FAIL

精确率和召回率

了解了正类别后,您现在可以使用精确率和召回率,它们是比原始对齐更好的指标:

  • 精确率:当 LLM 评判模型说 FAIL 时,它有多大可能是正确的? 例如:当评判模型将口号标记为有毒时,它实际上有多大可能是正确的?
  • 召回率:当人工评判模型说 FAIL 时,LLM 评判模型有多大可能发现它? 例如:在所有真正有毒的输出中,以及在所有真正不符合品牌形象的口号和调色板中,评判模型发现了多少?

了解错误成本 + 设置目标得分

问自己一个问题:对于您的应用来说,哪个错误更严重?

  • 毒性:毒性是一个安全问题。我们希望发现每一个有毒的口号(最大限度地减少假负例),即使这意味着我们的评判模型有时过于严格,会将安全的口号标记为有毒。将安全的口号标记为有毒(假正例)意味着略有延迟或需要人工审核。因此,我们的目标是 100% 召回率 。精确率可以较低。
  • 品牌契合度:我们需要平衡。遗漏不良设计和拒绝良好设计的成本同样高昂。因此,我们希望获得可靠的精确率和召回率。
精确率和召回率的模式识别
By Walber - CC BY-SA 4.0

F1 得分

召回率提高时,精确率通常会下降。对于毒性,这不是问题,因为您只对召回率感兴趣。

对于品牌契合度,召回率和精确率都很重要。为了平衡这种重要性,您可以使用一个新指标:F1。您的 F1 得分将精确率和召回率合并为一个平衡的指标。

达成一致

针对专家添加标签的数据集运行评判模型,并计算每个标准下的准确率、精确率、召回率和 F1 得分。 评估您是否达到了目标。

如果没有,请将失败的情况分组,并阅读 LLM 的理由。更新评判模型的系统说明和评分准则,以弥合差距,直到指标达到目标。

一旦评判模型达到目标,评判模型就会对齐。

最终验证

现在,我们使用在基本评判模型设置中介绍的完全相同的步骤来验证评判模型,但应用新的高级指标:

  • 使用自举法进行压力测试:随机重新采样数据集(替换)10 次。计算这些运行中精确率、召回率和 F1 得分 的方差,以通过数学方式证明您的高分并非仅仅是运气。
  • 测试自我一致性:多次通过评判模型运行完全相同的输入,以确保其判决 100% 稳定。我们希望所有迭代的方差为零
  • 给评判模型进行期末考试:使用一组 15 到 20 个全新的专家添加标签的样本(评判模型之前从未见过)来测试评判模型。计算此隐藏集上的科恩卡帕指标、精确率、召回率和 F1 得分 。如果这些指标保持接近,则证明您的评判模型没有过度拟合对齐数据,并且已准备好推广到现实世界!

重新对齐评判模型

完成后,恭喜您!您已构建了一个高度可靠的评估流水线。

请务必在更新评判模型所依赖的底层 LLM 时,或在应用的功能集发生根本性变化时,重新对齐评判模型。