Skip to content

评测与基准

本页速览 评测是回答"模型到底行不行"的唯一途径。本文梳理 LLM 评测难在哪、三类评测体系(内在指标/任务基准/人类与模型评判)、能力分层评估、基准污染问题与榜单的正确读法,以及离线与在线评估如何构成闭环。

评测与基准

评测(evaluation)是用可控的方法测量语言模型"行不行",是所有模型决策(要不要上线、要不要换基座、微调有没有用)的事实依据。没有评测,就没有工程判断——"感觉变好了"不是证据,"榜单上几分"也只是部分证据。

本文先讲评测为什么难,再展开三类评测体系,然后是能力分层、污染与榜单读法,最后是离线/在线评估闭环。实操方法见评估实战,常用基准的规模与档案见数据集与基准档案

一、为什么 LLM 评测这么难

与传统机器学习(有固定标签、可算准确率)相比,LLM 评测有四个根本难点:

  1. 生成任务没有唯一答案:同一道题可以有多种正确表达,用字符串精确匹配必然误判;但"宽松匹配"又会放过错误答案。
  2. 能力高度主观:回答"是否有帮助""是否安全""风格是否合适",依赖人的判断,且不同人标准不同。
  3. 能力边界模糊:模型的能力随规模、提示方式、解码参数变化,评测到的可能只是"某种配置下的表现"。
  4. 数据污染:评测题可能早已出现在预训练语料里,分数虚高而不自知。

评测结果的三个限定条件

任何基准分数都必须回答三个问题才可比较:用什么模型版本、用什么提示/采样配置、题集是否做过污染排查。同一个模型,把温度从 0 调到 0.8,分数就能差一截;换一套提示词,榜单排名可能反转。孤立的"XX 分"没有任何意义。

二、三类评测体系

LLM 评测可以分成三大类:内在指标、任务基准、人类与模型评判。它们回答的问题不同、成本不同,成熟团队会三管齐下。

1. 内在指标:语言建模本身好不好

这一类只看"模型对文本分布拟合得多好",不涉及任何下游任务。最核心的是困惑度(perplexity)

text
Perplexity = exp( - (1/N) · Σ log P( w_t | w_<t ) )
             = 2^交叉熵

直觉:模型对一段"没见过的文本"每预测一个词的平均"犹豫程度"。
困惑度越低,说明模型越擅长预测该分布的文本。

困惑度的价值与局限:它不依赖标注、可快速对比"同分布上谁拟合得更好",但它测不出指令遵循、安全性、事实正确性——一个困惑度很低的历史语料模型,可能完全不听指令。它主要用于预训练阶段监控(损失曲线)和同领域语料的建模对比,详见语言建模

2. 任务基准:给模型"考试"

任务基准把能力拆成可打分的问题集,用自动指标或受控格式(选择题/有限答案)评测。这是当前最主流的评测形式:

基准年份评测内容形式规模
MMLU202057 个学科的多领域知识(人文/社科/理工/医学等)四选一约 1.6 万题
GSM8K2021小学数学应用题(多步推理)开放式数值测试约 1.3 千题
MATH2021竞赛级数学(AMC/AIME 水平)开放式5 千题
HumanEval2021代码生成(函数补全)pass@k164 题
MBPP2021基础 Python 编程pass@k974 题
BBH2022BIG-Bench 中模型不及人类的 23 个推理任务多项23 任务
TruthfulQA2021诚实性:识破常见误解与错误信念问答题817 题
ARC2018科学问答(小学到中学)选择/开放约 7.7 千题
HELM2022多场景多指标的"全面体检"框架混合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、MBPPpass@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 的实现与偏差处理)见评估实战

延伸阅读

参考资料