模型评测方法
概述
大模型评测是衡量模型能力、比较不同模型优劣的关键环节。传统NLP评测方法不完全适用于大模型,学术界和工业界发展了许多新的评测方法。
常用评测指标
1. 传统NLP指标
Perplexity(困惑度)
- 定义:衡量语言模型对文本的预测能力,困惑度越低,模型对语料的预测越好
- 适用场景:预训练阶段,评估语言建模能力
- 局限:困惑度低不代表下游任务性能好,更不能代表人类偏好
BLEU
- 最初用于机器翻译,计算n-gram重叠度
- 优点:计算快,自动评测
- 缺点:和人类判断相关性有限,不适合开放生成
ROUGE
- 主要用于文本摘要,计算n-gram召回率
- 同样存在和人类对齐差的问题,更适合传统任务,不适合开放域对话
2. 通用能力评测基准
MMLU
- Massive Multitask Language Understanding,包含57个领域的选择题
- 覆盖从人文到科学的各个领域,测试模型世界知识和问题解决能力
- 是目前最常用的通用能力评测基准之一
C-Eval
- 中国团队构建的中文评测基准,覆盖52个学科,从中小学到大学
- 包含考试选择题,适合评测中文大模型综合能力
- 是目前中文大模型最常用的基准之一
CMMLU
- 中文多任务语言理解评测,覆盖更多领域,难度更大
- 更全面测试中文模型能力
GSM8K
- 小学数学应用题数据集,测试模型数学推理能力
- 每个问题需要多步推理,是常用的推理能力评测基准
HumanEval
- 代码生成评测数据集,包含164个Python编程问题
- 评测模型根据自然语言描述生成可运行代码的能力
自动评测 vs 人工评测
自动评测
优点:
- 可复现,成本低,速度快
- 可以批量评测大量样本
- 方便比较不同模型
缺点:
- 自动指标和人类判断相关性往往不高
- 对于开放域对话、创意生成等复杂任务,自动指标很难准确衡量
人工评测
优点:
- 对于复杂任务,人工评测更可靠,更符合真实用户体验
- 可以评估有用性、一致性、安全性等难以自动衡量的维度
缺点:
- 成本高,速度慢,难以大规模评测
- 主观因素影响,不同标注者一致性可能不高
- 无法自动化持续评测
LLM作为评委
近年来流行用强大的大模型(如GPT-4)代替人工做自动评测:
- 让GPT-4对模型输出打分,相关性比传统指标好很多
- 成本比人工低,速度快
- 但GPT-4本身也有幻觉和偏见,不能完全替代人工
主流评测框架
Chatbot Arena
由LMSYS组织的大模型对战评测平台:
核心思路:
- 放弃传统固定数据集benchmark,采用真人两两PK
- 用户和两个模型匿名聊天,然后比较哪个更好
- 用Elo评分排序,和围棋排名方法类似
为什么这么做?:
- 传统benchmark很难覆盖开放域聊天的各种场景
- 很多评测集容易被数据泄露,模型过拟合
- 真实用户体验才是最终目标
优点:
缺点:
HELM
核心思想:多维度全景评测,不只用单一指标,覆盖多个场景多个维度,全面评估模型能力。
OpenAI Evals
OpenAI开源的自动化评测框架,提供prompt模板和评测脚本,方便自定义评测。
PandaLM
训练专门的打分模型,0-1-2三分制对两个模型输出比较,自动化替代人工 pairwise 比较。
评测维度
评估一个大模型的整体水平,可以从多个维度考察:
| 维度 | 评测方法 |
|---|
| 理解能力:深入理解问题和上下文 | 提出需要深度理解的问题,看回答准确性 |
| 语言生成能力:语法正确、结构连贯 | 让模型生成特定主题文章,人工评估质量 |
| 知识面广度:覆盖不同领域 | 跨领域提问,测试准确性和深度 |
| 适应性:处理不同类型任务 | 测试写作、翻译、编程等多样任务,看灵活性 |
| 长文本理解:处理长文档 | 让模型总结长文,检测逻辑一致性 |
| 长文本生成:创作完整内容 | 检查生成内容是否有逻辑矛盾、结构完整 |
| 多样性创造力:生成不同回答 | 同一个问题要求多个不同解答,测试多样性 |
| 情感理解能力:理解推断情感 | 分析对话中情感态度,测试准确性 |
| 逻辑推理能力:多步推理 | 逻辑推理问题,看推理过程是否正确 |
| 问题解决能力:实际问题解答 | 数学、编程等实际问题,看正确率 |
| 道德伦理:处理敏感问题 | 测试道德问题回答是否符合价值观 |
| 对话能力:多轮对话连贯性 | 多轮对话,测试上下文理解 |
领域特定评测
不同领域对大模型有不同的评测重点:
- 医疗领域:诊断准确性、建议安全性、事实正确性要求极高
- 法律领域:条文准确性、案例相关性,需要专业知识评测
- 代码领域:能否通过单元测试,功能是否正确实现
- 创意写作:更容忍一定幻觉,更看重流畅性、创意、吸引力
面试常见问题
-
Perplexity指标说明什么?有什么局限?
- Perplexity衡量语言模型对文本的预测能力,越低说明建模越好
- 局限:Perplexity低不代表下游任务好,更不代表人类偏好优秀,只能反映语言建模能力
-
BLEU和ROUGE适用于大模型对话评测吗?
- 不太适用,它们基于n-gram重叠,和人类判断相关性低
- 更适合传统NLP任务(翻译、摘要),不适合开放域对话
-
什么是Chatbot Arena?它的评测思路是什么?
- Chatbot Arena是LMSYS提出的大模型评测平台
- 放弃传统固定benchmark,采用真人匿名两两对决,用户投票选择更好模型
- 用Elo评分对模型排名,更贴近真实用户体验,避免benchmark过拟合
-
C-Eval和MMLU是什么?有什么区别?
- MMLU是英文多任务理解评测,57个领域选择题,通用能力评测
- C-Eval是中文评测基准,覆盖52个学科,适合评测中文大模型
- 两者都是多选题形式,测试模型综合知识和推理能力
-
自动评测和人工评测各有什么优缺点?
- 自动评测:快、便宜、可复现,但和人类判断对齐差,复杂任务不准确
- 人工评测:更准确符合真实体验,但成本高、速度慢、有主观偏差
-
如何全面评估一个大模型的能力?
- 从多个维度评估:理解能力、生成能力、知识广度、推理、长文本处理、多样性、伦理等
- 结合自动基准和人工评测
- 在目标领域做针对性评测,不同领域重点不同
-
为什么传统GLUE/SuperGLUE不适合评测大模型?
- GLUE/SuperGLUE是针对传统NLP小模型的单任务评测
- 大模型核心能力是推理、对话、通用知识,这些是传统基准无法覆盖的
- 现在更侧重多任务、通用能力、人类对齐的评测