外观
评测与基准
评测(evaluation)是用可控的方法测量语言模型"行不行",是所有模型决策(要不要上线、要不要换基座、微调有没有用)的事实依据。没有评测,就没有工程判断——"感觉变好了"不是证据,"榜单上几分"也只是部分证据。
本文先讲评测为什么难,再展开三类评测体系,然后是能力分层、污染与榜单读法,最后是离线/在线评估闭环。实操方法见评估实战,常用基准的规模与档案见数据集与基准档案。
一、为什么 LLM 评测这么难
与传统机器学习(有固定标签、可算准确率)相比,LLM 评测有四个根本难点:
- 生成任务没有唯一答案:同一道题可以有多种正确表达,用字符串精确匹配必然误判;但"宽松匹配"又会放过错误答案。
- 能力高度主观:回答"是否有帮助""是否安全""风格是否合适",依赖人的判断,且不同人标准不同。
- 能力边界模糊:模型的能力随规模、提示方式、解码参数变化,评测到的可能只是"某种配置下的表现"。
- 数据污染:评测题可能早已出现在预训练语料里,分数虚高而不自知。
评测结果的三个限定条件
任何基准分数都必须回答三个问题才可比较:用什么模型版本、用什么提示/采样配置、题集是否做过污染排查。同一个模型,把温度从 0 调到 0.8,分数就能差一截;换一套提示词,榜单排名可能反转。孤立的"XX 分"没有任何意义。
二、三类评测体系
LLM 评测可以分成三大类:内在指标、任务基准、人类与模型评判。它们回答的问题不同、成本不同,成熟团队会三管齐下。
1. 内在指标:语言建模本身好不好
这一类只看"模型对文本分布拟合得多好",不涉及任何下游任务。最核心的是困惑度(perplexity):
text
Perplexity = exp( - (1/N) · Σ log P( w_t | w_<t ) )
= 2^交叉熵
直觉:模型对一段"没见过的文本"每预测一个词的平均"犹豫程度"。
困惑度越低,说明模型越擅长预测该分布的文本。困惑度的价值与局限:它不依赖标注、可快速对比"同分布上谁拟合得更好",但它测不出指令遵循、安全性、事实正确性——一个困惑度很低的历史语料模型,可能完全不听指令。它主要用于预训练阶段监控(损失曲线)和同领域语料的建模对比,详见语言建模。
2. 任务基准:给模型"考试"
任务基准把能力拆成可打分的问题集,用自动指标或受控格式(选择题/有限答案)评测。这是当前最主流的评测形式:
| 基准 | 年份 | 评测内容 | 形式 | 规模 |
|---|---|---|---|---|
| MMLU | 2020 | 57 个学科的多领域知识(人文/社科/理工/医学等) | 四选一 | 约 1.6 万题 |
| GSM8K | 2021 | 小学数学应用题(多步推理) | 开放式数值 | 测试约 1.3 千题 |
| MATH | 2021 | 竞赛级数学(AMC/AIME 水平) | 开放式 | 5 千题 |
| HumanEval | 2021 | 代码生成(函数补全) | pass@k | 164 题 |
| MBPP | 2021 | 基础 Python 编程 | pass@k | 974 题 |
| BBH | 2022 | BIG-Bench 中模型不及人类的 23 个推理任务 | 多项 | 23 任务 |
| TruthfulQA | 2021 | 诚实性:识破常见误解与错误信念 | 问答题 | 817 题 |
| ARC | 2018 | 科学问答(小学到中学) | 选择/开放 | 约 7.7 千题 |
| HELM | 2022 | 多场景多指标的"全面体检"框架 | 混合 | 42 场景×7 指标 |
这些基准的自动打分机制各不相同,读懂分数前先理解指标:
| 指标 | 语义 | 典型使用 |
|---|---|---|
| Accuracy(选择题) | 选项级正确率 | MMLU、ARC |
| Exact Match | 与参考答案逐字一致 | GSM8K 的数字答案 |
| F1 | 生成与参考答案的 token 重叠 | 抽取式问答 |
| pass@k | 生成 k 个候选里至少一个通过隐藏测试的比例 | HumanEval、MBPP |
| 鲁棒性(Robustness) | 同题改写/扰动后分数是否稳定 | HELM 的抗压评测 |
以 HumanEval 的 pass@k 为例:代码题没有唯一答案,pass@1 是"一次生成通过测试",pass@100 是"生成 100 个候选里至少一个能跑通"——后者衡量的是模型"生成正确代码的概率",更接近真实编程辅助场景。
这些基准的详细档案(规模、用途、许可)见数据集与基准档案。
怎么读基准:单个基准只测一个侧面。GPT-4 时代的公开数据可作参考(如 MMLU 约 86 分、GSM8K 约 92 分、HumanEval 约 67% pass@1,GPT-4o 提升到约 90%,均以官方报告为准),但更重要的是理解基准分数的四个陷阱(见下)。
能力分层比单一分数有用
比"总分"更有价值的是按能力维度拆开的画像:知识(MMLU)、数学(GSM8K/MATH)、代码(HumanEval/MBPP)、推理(BBH)、多语言、长文本(LongBench)、工具使用。一个"总分高但代码弱"的模型,对纯代码团队就是不可用的。
3. 人类与模型评判:测"主观体验"
任务基准测"对不对",但产品体验里更常问"好不好"。这类评测主要有三种:
人工盲评:让人对两段回答排序(A/B)或打分。金标准,但贵、慢、且标注员间一致性要单独测(Kappa 系数)。
LLM-as-a-judge(模型当裁判):让一个强模型(通常指 GPT-4 级别)给回答打分或排序。2023 年 MT-Bench 论文报告:GPT-4 裁判与人类判断的一致率约 80%,与"人类 vs 人类"的一致率相当——这是"模型裁判"能大规模应用的事实基础。
众包竞技场(Elo 制):如 Chatbot Arena,用户匿名对两个模型同一问题的回答投票,按 Elo 排名。真实用户、真实分布,但样本无标签、覆盖不均。
LLM-as-a-judge 的已知偏差(使用时必须警惕):
| 偏差 | 表现 | 缓解手段 |
|---|---|---|
| 位置偏差 | 偏好排在前面的回答 | 交换顺序跑两次取平均 |
| 冗长偏差 | 更长的回答得分更高,与质量无关 | 明确约束长度、正则化 |
| 自我偏好偏差 | 裁判偏好"与自己同源"的回答 | 换多个裁判模型交叉验证 |
| 权威/格式偏差 | 偏爱格式规整、措辞自信的回答 | 用 rubrics 逐项打分而非整体分 |
三、能力分层评估:不同能力要用不同测法
模型能力不是一块铁板,评测必须按能力分层设计,才能定位问题:
| 能力层 | 典型基准/方法 | 关键点 |
|---|---|---|
| 语言建模基础 | 困惑度、损失曲线 | 预训练阶段监控用 |
| 知识 | MMLU、ARC、各学科题库 | 注意知识截止与污染 |
| 推理 | GSM8K、MATH、BBH | 可配合 CoT 提示(见提示工程) |
| 代码 | HumanEval、MBPP | pass@k 看生成多样性 |
| 多语言 | MMLU 多语言版、翻译基准 | 中文/小语种单独测 |
| 长文本 | LongBench、大海捞针 | 与上下文与长文本联动 |
| 工具使用/Agent | 工具调用成功率、多步任务完成率 | 链路式评测 |
| 诚实性 | TruthfulQA、幻觉检出 | 见幻觉:成因与缓解 |
| 安全性 | 红队测试、越狱检出 | 见安全与风险 |
评测设计与规模法则的关系
能力分层不是拍脑袋:模型的弱项通常服从规模法则——某些能力(如复杂推理)随模型变大非线性涌现,而另一些(如简单知识)只是平滑提升。读懂能力分层与规模法则的关系,才能判断"这个问题是换模型能解决的,还是提示/架构层面的问题"。
四、数据污染与榜单的读法
1. 基准污染:分数虚高的最大来源
**基准污染(benchmark contamination)**指评测题出现在模型训练语料中。语言模型预训练爬取全网文本,而很多基准(尤其是 2021 年前发布的)的题目本身就在网上流传,很可能被"背下来了"。
实证信号:模型在"见过"的题上接近满分、在"同分布但没见过的变体"上大幅下降;或者模型能逐字复现训练语料中的题目。GPT-4 技术报告就明确承认"无法完全排除评测数据污染",并公开了部分去污染方法。
榜单不是事实,是被测条件的一部分
看到"XX 模型 MMLU 95 分",先问三个问题:它用了什么提示?有没有排除污染的流程?公布时有没有同时给变体集的分数? 近年业界已出现"新题实测比榜单低一大截"的普遍现象——榜单分数是上限,不是常态。
2. 榜单的正确读法
- 看同条件对比:同一评测框架、同一采样配置下才有可比性;跨评测框架比分数没有意义。
- 看能力画像而不是总分:总分掩盖短板。
- 看时间戳:2023 年的 MMLU 分数与 2025 年的新题实测不可直接外推。
- 看第三方复现:官方自报 vs 社区复现(如 lm-eval-harness、OpenCompass 结果)不一致时,以可复现为准。
- 警惕"评测集过拟合":团队反复用自己的评测集调模型,等于把评测集当训练集,分数会脱离真实能力——这是常见陷阱与反模式里的经典十大陷阱之一。
3. 合格评测报告应披露什么
一份可信的评测报告,应至少披露八项信息——缺项的榜单一律存疑:
| 披露项 | 为什么重要 |
|---|---|
| 模型版本与权重指纹 | 版本漂移会让分数对不上号 |
| 提示与采样配置 | 温度、top-p、few-shot 示例直接影响分数 |
| 题集与切分 | 用的是哪个版本、哪些子集 |
| 污染排查流程 | 是否做过 n-gram 重叠检测与人工抽检 |
| 评估框架版本 | 评测框架更新会改变打分逻辑 |
| 运行次数与方差 | 采样生成的任务要看多次平均 |
| 计算资源 | 影响长上下文等资源敏感评测 |
| 复现入口 | 配置、代码、结果是否公开可复现 |
把这份清单当作"评测的验收标准",能过滤掉大多数营销式分数。
五、离线与在线评估:评测必须闭环
1. 自建评测集:从业务里长出来的评测
公共基准测通用能力,但决定产品成败的是业务场景。成熟团队都会建自己的评测集:
text
自建评测集的五个步骤:
1. 采样真实请求:从线上日志随机抽取覆盖主要场景的样本
2. 定标准:先写清楚"什么算好答案"(评分 rubric)
3. 分类建集:按能力拆子集(知识/推理/格式/安全)
4. 定期轮换:防止评测集过拟合(模型把评测集"背下来")
5. 回归跑分:任何模型/提示/参数改动都先跑一遍自建集规模不必大——几十到几百条,贵在代表性与标注标准稳定。它是连接"通用基准"与"业务目标"的桥梁。
评测不是"上线前做一次"的动作,而是贯穿模型生命周期的闭环:
| 阶段 | 形式 | 目的 | 典型手段 |
|---|---|---|---|
| 训练期 | 离线自动 | 监控损失、中间检查点 | 困惑度、抽样生成观察 |
| 后训练期 | 离线基准 | 能力/安全回归 | MMLU/GSM8K/红队 |
| 发版前 | 离线人工 | 质量把关 | 盲评、A/B、人工复核 |
| 上线后 | 在线指标 | 真实效果 | A/B 测试、用户反馈、审核率、满意度 |
2. 评测工具与生态
评测不必从零手搓,开源工具已成熟:lm-eval-harness(EleutherAI)覆盖数百个基准的标准实现;OpenCompass(上海 AI Lab)支持中英多模型对比与榜单发布;HELM(Stanford)提供多场景多指标框架。工具选型与实操见评估实战与框架与工具选型。
离线 vs 在线,孰轻孰重?离线是日常,在线是终审:离线评估(自动基准 + 离线人工)覆盖可控、便宜、快,是日常主力;在线评估(A/B、用户行为、人工标注回流)测的是"真实世界里用户觉得好不好",才是最终裁判。两者之间的鸿沟——"离线分数高、线上没感觉"——是评测体系最常见的失败模式,根源往往是评测集与真实分布脱节。
从评测到迭代的闭环
最佳实践是建立 golden set(黄金集):几十到几百条覆盖业务关键场景的固定样本,任何微调/提示改动都先跑它做回归。golden set 之外再定期补充新题防过拟合。完整的工程化做法(包括 LLM-as-a-judge 的实现与偏差处理)见评估实战。
延伸阅读
- 幻觉:成因与缓解——诚实性评测与幻觉检出的关联
- 安全与风险——安全对齐用什么评测
- 规模法则——能力分层背后的规模规律
- 评估实战——从基准到 golden set 的完整工程
- 数据集与基准档案——MMLU/GSM8K/HumanEval 等基准的档案
- 常见陷阱与反模式——"迷信榜单"与"评测集过拟合"两大陷阱
参考资料
- Hendrycks et al. Measuring Massive Multitask Language Understanding(MMLU, ICLR 2021) —— MMLU 原始论文
- Cobbe et al. Training Verifiers to Solve Math Word Problems(GSM8K, 2021) —— GSM8K 原始论文
- Chen et al. Evaluating Large Language Models Trained on Code(HumanEval, 2021) —— HumanEval 与 Codex
- Zheng et al. Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena(NeurIPS 2023) —— LLM-as-a-judge 与 Arena 方法论
- Liang et al. Holistic Evaluation of Language Models(HELM, TMLR 2023) —— 多场景多指标评测框架
- Suzgun et al. Challenging BIG-Bench Tasks and Whether Chain-of-Thought Can Solve Them(BBH, 2022) —— BBH 原始论文
- OpenAI. GPT-4 Technical Report(2023) —— 关于评测方法与污染问题的官方说明