大模型评估与 Benchmark 详解
大模型评估与 Benchmark 详解
“无法衡量,就无法改进。” — Peter Drucker
一、为什么评估大模型很重要?
训练一个大模型需要数千张 GPU 和数月时间,但评估一个模型可能比训练它更难。
评估大模型面临三个核心挑战:
- 任务多样性:模型需要完成问答、摘要、翻译、代码生成、数学推理等无数任务
- 主观性:什么叫”好”的回答?流畅、有帮助、无偏见,每个人的标准不同
- 数据污染:很多 Benchmark 的测试数据可能已经出现在模型的训练集中
没有科学的评估体系,我们就像蒙着眼睛调参,不知道模型到底好不好。
二、Benchmark 的基本概念
2.1 什么是 Benchmark?
Benchmark(基准测试)是一套标准化的测试任务和评估指标,用于衡量模型在不同能力上的表现。它让所有模型在同一个尺子下比较。
1 | Benchmark 组成: |
2.2 开卷考试 vs 闭卷考试
- 闭卷(Benchmark-locked):模型看不到测试题目,必须凭预训练和微调获得的知识作答
- 开卷(In-context Learning):允许模型在 prompt 中接收上下文信息、RAG 检索内容等
| 类型 | 特点 | 代表 |
|---|---|---|
| 闭卷 | 考察模型内部知识 | MMLU, GSM8K, HumanEval |
| 开卷 | 考察信息检索+理解能力 | RAG 场景下的问答 |
三、主流 Benchmark 详解
3.1 MMLU(Massive Multitask Language Understanding)
地位:大模型能力的”标尺”,几乎所有 GPT-4 级别的模型都会公布 MMLU 分数。
测试内容:57 个学科的选择题,从基础数学到专业医学、法律、伦理,涵盖文理工商医。
1 | 题目示例(高中物理): |
评分标准:准确率(%),越高越好。
GPT-4 之前各模型 MMLU 分数对比:
| 模型 | MMLU 分数 | 时间 |
|---|---|---|
| GPT-3 (175B) | 43.9% | 2020 |
| PaLM-540B | 69.3% | 2022 |
| GPT-4 | ~86.4% | 2023 |
| Claude 3 Opus | ~88.7% | 2024 |
| Gemini 1.5 Pro | ~87.8% | 2024 |
为什么 MMLU 重要? 它测试的是跨领域泛化能力——模型能否将知识从训练数据泛化到从未见过的专业问题。低于 60% 的模型通常被认为”不具备实用价值”。
3.2 GSM8K(Grade School Math 8K)
测试内容:8,500 道小学数学应用题,考察模型的多步推理能力。
1 | # 示例题目 |
为什么重要:数学推理是检验模型”真正理解”还是”背答案”的关键试金石。小学数学看似简单,但需要精确的多步逻辑推演。
典型分数:
- GPT-3: ~5%
- GPT-3.5: ~42%
- GPT-4: ~68%
- GPT-4 Turbo / Claude 3: ~90%+
3.3 HumanEval(代码生成)
测试内容:164 道编程题,每道题包含函数签名、文档字符串和单元测试,模型需要生成能通过测试的代码。
1 | # 示例任务 |
Pass@1 指标:生成一个答案,10 次有几次通过测试?GPT-4 约 90%+,GPT-3 约 0%。
3.4 HellaSwag(常识推理)
测试内容:给出一个场景描述和四个选项,模型需要选出最合理的下文。
1 | { |
这个任务对人类来说简单(常识),但对模型来说是难题——它需要理解物理世界的基本规律。
3.5 BIG-Bench Hard(BBH)
BBH 是 BIG-Bench 的困难子集,包含 23 道需要多步推理的任务,是目前最具挑战性的综合 Benchmark 之一。
典型任务:
- 导航推理:给出一系列方向指令,计算最终位置
- 符号操作:按规则对字母序列进行变换
- 常识问答:需要外部知识的问题
3.6 MT-Bench(多轮对话)
不同于上面的单轮测试,MT-Bench 测试多轮对话能力——模型能否在多轮交互中保持上下文连贯。
1 | 第一轮:用户问技术问题 |
评判方式:用另一个 LLM(如 GPT-4)做评委,给每轮回答打 1-10 分。
四、评估方法对比
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 人工评估 | 准确反映人类偏好 | 成本高、速度慢 | 最终验收、安全关键场景 |
| 规则匹配 | 客观、快速 | 无法评估语义 | 数学题、代码测试 |
| LLM 评委 | 可规模化、成本低 | 可能有偏见 | 开放性问答、摘要 |
| 对抗测试 | 发现模型漏洞 | 需专业团队 | 红队测试、安全评估 |
五、LLM 评委(LLM-as-a-Judge)
5.1 什么是 LLM 评委?
用一个大模型评价另一个模型的输出。最常用的是 GPT-4 评 Claude-3,或反过来。
Prompt 模板:
1 | 请作为一位专业的评审员,评估以下回答的质量。 |
5.2 LLM 评委的局限性
- 立场偏见:GPT-4 可能更喜欢类似自己风格的回答
- 长度偏见:LLM 评委倾向于给更长的回答更高分
- 顺序偏见:评委可能受到回答顺序的影响
缓解方法:
- 让两个候选答案匿名比较(blind evaluation)
- 使用多个评委取平均
- 指定明确的评分维度
六、构建自己的评估集
6.1 为什么需要自定义评估?
通用 Benchmark 无法覆盖你的垂直场景——如果你做医疗问答,通用数学题做得好不代表医疗问题能答对。
6.2 构建流程
1 | Step 1:收集典型用例(50-100 个) |
6.3 评估自己的 RAG 系统
1 | def evaluate_rag_system(question: str, ground_truth: str, |
七、常见陷阱
7.1 数据污染(Data Contamination)
如果模型的训练数据包含了测试集的内容,模型就是在”作弊”。
检测方法:
- 检查 Benchmark 题目是否出现在公开训练数据中
- 使用”变体测试”——将题目改写后重新测试,观察分数是否显著下降
7.2 Overfitting to Benchmark
模型可能在 Benchmark 上表现很好,但在真实任务上很差。这被称为”对 Benchmark 的过拟合”。
缓解方法:保留一个”held-out”评估集,永远不公开发布,防止泄露。
7.3 Cherry-Picking
只公布对自己有利的 Benchmark 结果,隐瞒不利的结果。这是商业宣传中常见的做法,需要警惕。
八、主流模型评估结果一览
| 模型 | MMLU | GSM8K | HumanEval | BBH |
|---|---|---|---|---|
| GPT-4 | 86.4% | 68.0% | 90.1% | 83.1% |
| Claude 3 Opus | 88.7% | 91.0% | 84.9% | 86.4% |
| Gemini 1.5 Pro | 87.8% | 94.4% | 84.1% | 85.2% |
| LLaMA-3-70B | 82.0% | 83.6% | 81.7% | — |
| GPT-3.5 | 70.0% | 42.0% | 48.1% | 67.6% |
总结
大模型评估是一个系统性工程:
- 选对 Benchmark:MMLU 是”及格线”,GSM8K 测试推理,HumanEval 测试代码
- 多维度评估:准确率只是基础,还要评估安全性、一致性、幻觉率
- LLM 评委 + 人工审核:规模化用 LLM 评委,最终用人工兜底
- 构建垂直评估集:通用 Benchmark 之外,必须有业务场景的专属评估
下一篇文章我们将深入探讨大模型最敏感的话题——安全与对齐,以及让 ChatGPT 变得”会聊天”的核心技术:RLHF 和 DPO。
相关文章: