高级评估
这个技能涵盖了使用大型语言模型(LLM)作为评委来评估LLM输出的生产级技术。它将学术论文、行业实践和实际实施经验综合成可操作的模式,用于构建可靠的评估系统。
关键洞见:LLM-as-a-Judge 不是单一的技术,而是一系列适用于不同评估上下文的方法。选择正确的方法和减轻已知偏见是这项技能发展的核心能力。
何时激活
在以下情况下激活此技能:
- 构建LLM输出的自动化评估管道
- 比较多个模型响应以选择最佳响应
- 在评估团队之间建立一致的质量标准
- 调试显示不一致结果的评估系统
- 为提示或模型更改设计A/B测试
- 为人类或自动化评估创建评分标准
- 分析自动化和人类判断之间的相关性
核心概念
评估分类法
评估方法分为两个主要类别,具有不同的可靠性概况:
直接评分:单个LLM对一个响应进行评分,定义在一定尺度上。
- 最适合:客观标准(事实准确性、指令遵循、毒性)
- 可靠性:对于定义明确的标准,中等到高
- 失败模式:评分校准漂移,不一致的尺度解释
成对比较:LLM比较两个响应并选择更好的一个。
- 最适合:主观偏好(语气、风格、说服力)
- 可靠性:对于偏好,比直接评分更可靠
- 失败模式:位置偏见,长度偏见
MT-Bench论文(Zheng等人,2023年)的研究建立了成对比较在偏好基础评估中与人类评委达成更高一致性的事实,而直接评分对于具有清晰事实真相的客观标准仍然适用。
偏见格局
LLM评委表现出必须积极减轻的系统性偏见:
位置偏见:在成对比较中,首选位置的响应受到优待。减轻:用交换位置的方式评估两次,使用多数票或一致性检查。
长度偏见:无论质量如何,更长的响应被评为更高。减轻:明确提示忽略长度,长度归一化评分。
自我提升偏见:模型对自己的输出评价更高。减轻:使用不同的模型进行生成和评估,或承认局限性。
冗长偏见:详细的解释即使不必要也获得更高的评分。减轻:针对特定标准的评分标准,惩罚无关细节。
权威偏见:无论准确性如何,自信、权威的语气被评为更高。减轻:要求引用证据,事实检查层。
指标选择框架
根据评估任务结构选择指标:
| 任务类型 | 主要指标 | 次要指标 |
|---|---|---|
| 二元分类(通过/失败) | 召回率,精确度,F1 | Cohen’s κ |
| 序数量表(1-5评分) | Spearman’s ρ, Kendall’s τ | Cohen’s κ(加权) |
| 成对偏好 | 一致率,位置一致性 | 置信度校准 |
| 多标签 | 宏F1,微F1 | 每个标签的精确度/召回率 |
关键洞见:绝对一致性不如系统性分歧模式重要。一个在特定标准上与人类一致性不一致的评委比一个随机噪声的评委更有问题。
评估方法
直接评分实现
直接评分需要三个组成部分:清晰的标准、校准的尺度和结构化输出格式。
标准定义模式:
标准:[名称]
描述:[这个标准衡量什么]
权重:[相对重要性,0-1]
尺度校准:
- 1-3尺度:二元带中性选项,最低认知负荷
- 1-5尺度:标准Likert,粒度和可靠性之间的良好平衡
- 1-10尺度:高粒度但更难校准,仅在详细评分标准下使用
直接评分的提示结构:
你是一位专家评估员,评估响应质量。
## 任务
根据每个标准评估以下响应。
## 原始提示
{提示}
## 待评估的响应
{响应}
## 标准
{每个标准:名称、描述、权重}
## 指示
对于每个标准:
1. 在响应中找到具体证据
2. 根据评分标准(1-{最大}尺度)进行评分
3. 用证据证明你的评分
4. 提出一个具体的改进建议
## 输出格式
以包含评分、理由和总结的结构化JSON回应。
思维链要求:所有评分提示都必须在评分前要求理由。研究表明,这比先评分的方法提高了15-25%的可靠性。
成对比较实现
成对比较在偏好基础评估中固有地更可靠,但需要减轻偏见。
位置偏见减轻协议:
- 第一次通过:响应A在第一位,响应B在第二位
- 第二次通过:响应B在第一位,响应A在第二位
- 一致性检查:如果通过不一致,返回TIE并降低置信度
- 最终结果:一致的获胜者,平均置信度
成对比较的提示结构:
你是一位专家评估员,比较两个AI响应。
## 重要指示
- 不要因为响应更长而偏好响应
- 不要基于位置(第一与第二)偏好响应
- 只关注根据指定标准的质量
- 当响应真正等价时,平局是可以接受的
## 原始提示
{提示}
## 响应A
{响应_a}
## 响应B
{响应_b}
## 比较标准
{标准列表}
## 指示
1. 首先独立分析每个响应
2. 在每个标准上比较它们
3. 确定总体获胜者和置信度
## 输出格式
JSON,包含每个标准的比较、总体获胜者、置信度(0-1)和理由。
置信度校准:置信度分数应反映位置一致性:
- 两个通道都同意:置信度 = 个体置信度的平均值
- 通道不同意:置信度 = 0.5,裁决 = TIE
评分标准生成
定义良好的评分标准比开放式评分减少40-60%的评估差异。
评分标准组成部分:
- 水平描述:每个评分水平的清晰界限
- 特征:定义每个水平的可观察特征
- 示例:每个水平的代表性文本(可选但有价值)
- 边缘案例:对模糊情况的指导
- 评分指南:一致应用的一般原则
严格度校准:
- 宽松:通过分数的较低门槛,适合鼓励迭代
- 平衡:公平,生产使用的典型期望
- 严格:高标准,适合安全关键或高风险评估
领域适应:评分标准应使用领域特定术语。一个“代码可读性”评分标准提到变量、函数和注释。一个“医疗准确性”评分标准引用临床术语和证据标准。
实际指导
评估管道设计
生产评估系统需要多层:
┌─────────────────────────────────────────────────┐
│ 评估管道 │
├─────────────────────────────────────────────────┤
│ │
│ 输入:响应 + 提示 + 上下文 │
│ │ │
│ ▼ │
│ ┌─────────────────────┐ │
│ │ 标准加载器 │ ←── 评分标准、权重 │
│ └──────────┬──────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────┐ │
│ │ 主评分员 │ ←── 直接或成对比较 │
│ └──────────┬──────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────┐ │
│ │ 偏见减轻 │ ←── 位置交换等。 │
│ └──────────┬──────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────┐ │
│ │ 置信度评分 │ ←── 校准 │
│ └──────────┬──────────┘ │
│ │ │
│ ▼ │
│ 输出:评分 + 理由 + 置信度 │
│ │
└─────────────────────────────────────────────────┘
常见反模式
反模式:无理由评分
- 问题:评分缺乏基础,难以调试或改进
- 解决方案:始终要求基于证据的理由
反模式:单次通过成对比较
- 问题:位置偏见破坏结果
- 解决方案:始终交换位置并检查一致性
反模式:超载标准
- 问题:衡量多个事物的标准不可靠
- 解决方案:一个标准 = 一个可测量的方面
反模式:缺少边缘案例指导
- 问题:评估员处理模糊案例不一致
- 解决方案:在评分标准中包含边缘案例,并提供明确指导
反模式:忽略置信度校准
- 问题:高置信度错误判断比低置信度更糟糕
- 解决方案:根据位置一致性和证据强度校准置信度
决策框架:直接 vs. 成对
使用这个决策树:
有客观事实真相吗?
├── 是 → 直接评分
│ └── 示例:事实准确性、指令遵循、格式合规
│
└── 否 → 是偏好或质量判断吗?
├── 是 → 成对比较
│ └── 示例:语气、风格、说服力、创造力
│
└── 否 → 考虑基于参考的评估
└── 示例:摘要(与源比较)、翻译(与参考比较)
扩展评估
对于大量评估:
-
LLM评委小组(PoLL):使用多个模型作为评委,聚合投票
- 减少个别模型偏见
- 更昂贵但对高风险决策更可靠
-
分层评估:快速廉价模型用于筛选,昂贵模型用于边缘案例
- 大量成本效益
- 需要校准筛选阈值
-
人在循环中:自动化评估用于清晰案例,人类审查用于低置信度
- 对于关键应用的最佳可靠性
- 设计反馈循环以改进自动化评估
示例
示例1:准确性的直接评分
输入:
提示:"是什么导致地球上的季节变化?"
响应:"季节是由地球的倾斜轴引起的。当地球绕太阳运行时,不同的半球在一年中的不同时间接收到更直接的阳光。"
标准:事实准确性(权重:1.0)
尺度:1-5
输出:
{
"标准": "事实准确性",
"评分": 5,
"证据": [
"正确识别轴倾斜作为主要原因",
"正确解释半球差异阳光分布",
"没有事实错误"
],
"理由": "响应准确地解释了季节的原因,具有正确的科学推理。轴倾斜及其对阳光分布的影响都被正确描述。",
"改进": "可以添加具体倾斜角度(23.5°)以完善。"
}
示例2:位置交换的成对比较
输入:
提示:"向初学者解释机器学习"
响应A:[技术性解释,带有行话]
响应B:[简单的类比解释]
标准:["清晰度", "可访问性"]
第一次通过(A第一):
{ "获胜者": "B", "置信度": 0.8 }
第二次通过(B第一):
{ "获胜者": "A", "置信度": 0.6 }
(注:获胜者是A,因为B在第一位)
映射的第二次通过:
{ "获胜者": "B", "置信度": 0.6 }
最终结果:
{
"获胜者": "B",
"置信度": 0.7,
"位置一致性": {
"一致": true,
"第一次通过获胜者": "B",
"第二次通过获胜者": "B"
}
}
示例3:评分标准生成
输入:
criterionName: "代码可读性"
criteriaDescription: "代码理解和维护的难易程度"
domain: "软件工程"
scale: "1-5"
strictness: "平衡"
输出(缩写):
{
"levels": [
{
"评分": 1,
"标签": "差",
"描述": "代码难以理解,需要付出巨大努力",
"特征": [
"没有有意义的变量或函数名",
"没有注释或文档",
"深层嵌套或复杂的逻辑"
]
},
{
"评分": 3,
"标签": "一般",
"描述": "代码可以理解,需要一些努力",
"特征": [
"大多数变量都有有意义的名称",
"复杂部分有基本注释",
"逻辑可跟随,但可以更清晰"
]
},
{
"评分": 5,
"标签": "优秀",
"描述": "代码立即清晰,易于维护",
"特征": [
"所有名称都有描述性且一致",
"全面文档",
"干净、模块化结构"
]
}
],
"edgeCases": [
{
"情况": "代码结构良好,但使用领域特定缩写",
"指导": "根据领域专家的可读性评分,而不是一般受众"
}
]
}
指南
-
始终在评分前要求理由 - 思维链提示提高了15-25%的可靠性
-
始终在成对比较中交换位置 - 单次比较受到位置偏见的破坏
-
将尺度粒度与评分标准具体性匹配 - 没有详细水平描述不要使用1-10
-
分离客观和主观标准 - 对客观使用直接评分,对主观使用成对比较
-
包括置信度分数 - 根据位置一致性和证据强度校准
-
明确定义边缘案例 - 模糊情况引起最大的评估差异
-
使用领域特定评分标准 - 通用评分标准产生通用(不太有用)的评估
-
与人类判断相对验证 - 自动化评估只有在与人类评估相关时才有价值
-
监控系统性偏见 - 通过标准、响应类型、模型跟踪分歧模式
-
为迭代而设计 - 评估系统随着反馈循环而改进
集成
这项技能与以下内容集成:
- 上下文基础 - 评估提示需要有效的上下文结构
- 工具设计 - 评估工具需要适当的模式和错误处理
- 上下文优化 - 评估提示可以针对令牌效率进行优化
- 评估(基础) - 这项技能扩展了基础评估概念
参考资料
内部参考:
外部研究:
- Eugene Yan: 评估LLM-评估者的有效性
- 评判LLM-as-a-Judge (Zheng et al., 2023)
- G-Eval: 使用GPT-4进行NLG评估 (Liu et al., 2023)
- 大型语言模型不是公平的评估者 (Wang et al., 2023)
相关技能在此集合中:
- 评估 - 基础评估概念
- 上下文基础 - 评估提示的上下文结构
- 工具设计 - 构建评估工具
技能元数据
创建:2024-12-24 最后更新:2024-12-24 作者:Muratcan Koylan 版本:1.0.0