01. 主流 Benchmark 解读:MMLU、HumanEval、GSM8K、MT-Bench、Chatbot Arena 各测什么?有哪些局限?

整理 MMLU、HumanEval、GSM8K、MT-Bench、Chatbot Arena 等主流 Benchmark 的测评维度与局限。

简单回答

主流 Benchmark 各有侧重,没有一个能全面衡量模型能力。MMLU 测多领域知识覆盖,HumanEval 测代码生成的功能正确性,GSM8K 测小学数学推理,MT-Bench 测多轮对话和指令跟随,Chatbot Arena 测真实用户偏好。每个 benchmark 都有其局限性——数据污染、覆盖片面、和真实使用场景脱节是最常见的问题。单看一个指标往往误导判断,需要多个 benchmark 组合看。

详细解答

MMLU:多领域知识覆盖

MMLU(Massive Multitask Language Understanding,2020)由 UC Berkeley 发布,包含 57 个学科领域的选择题,覆盖 STEM、人文、社科、法律、医学等,共约 15000 道题。每道题是四选一的多项选择,答案唯一。

MMLU 测的核心能力是知识广度和理解能力,是目前最广泛引用的综合能力指标之一。GPT-4 发布时在 MMLU 上的 86.4% 是一个重要里程碑,之后各模型发布时都会报这个数字。

主要局限:选择题形式高度依赖知识记忆,对推理能力的测量有限;大量题目被收录到互联网上,数据污染问题严重;很多题目有"猜测空间"(四选一盲猜有 25% 准确率),高分可能部分来自统计运气;不同版本的评测方式(few-shot 数量、prompt 格式)对得分影响较大,横向比较时要注意口径一致。

MMLU-Pro 是改进版,把四选一改成了十选一,减少了猜测成分,同时增加了推理类题目,区分度更高,逐渐成为新的标准。

HumanEval:Python 代码生成

HumanEval 由 OpenAI 发布(2021),包含 164 个 Python 编程题,每道题给定函数签名和文档字符串,要求模型生成函数体,然后用测试用例验证功能正确性。

HumanEval 测的是代码生成的功能正确性,使用 Pass@k 指标(后面会详细介绍):Pass@1 是生成 1 次的通过率,Pass@10 是生成 10 次中至少有一次通过。因为结果是可执行验证的,没有歧义,是目前最可信的代码能力指标之一。

主要局限:只有 164 道题,样本量小,随机性影响大;只测 Python,没有覆盖其他语言;题目难度中等,没有竞赛级的算法题;题目设计有一定年头,可能被包含在各种代码数据集里,污染问题存在。HumanEval+ 对测试用例做了扩充,修复了一些测试不严格的问题。

GSM8K:小学数学推理

GSM8K(Grade School Math 8K,2021)是 OpenAI 发布的小学数学应用题数据集,共 8500 道题,每道题需要多步推理才能得到答案,答案是整数。

GSM8K 测的是多步数学推理,要求模型不只是背公式,而是理解题意、分解步骤、逐步推导。Chain-of-Thought 提示对 GSM8K 的提升非常显著,这个数据集也是 CoT 研究最常用的验证场景。

主要局限:难度有上限——最新的模型 GSM8K 已经接近满分(95%+),区分度几乎丧失,需要更难的数学 benchmark(MATH、AIME、OlympiadBench)来区分顶尖模型;题目已经大量流传,污染问题比较严重;只测小学数学,不涵盖竞赛数学、高中数学等更复杂的推理。

MT-Bench:多轮对话与指令跟随

MT-Bench 由 LMSYS 发布(2023),包含 80 道多轮对话题,涵盖写作、角色扮演、推理、数学、编程、STEM、信息抽取等 8 个类别。评分方式是 GPT-4 打 1~10 分(LLM-as-Judge),取所有题目的平均分。

MT-Bench 的特点是测对话能力和指令跟随,而不是单轮知识问答。多轮设计能测出模型在对话中保持一致性、接受修正反馈、处理上下文的能力,更接近真实使用场景。

主要局限:只有 80 道题,样本量极小,偶然性大;完全依赖 GPT-4 打分,GPT-4 本身的偏见被放大进来(更偏向和自己风格类似的回答);题目内容公开后更新不及时,有一定程度的饱和。

Chatbot Arena(LMSYS Arena):真实用户偏好

Chatbot Arena 是 LMSYS 运营的真实用户评测平台——用户每次对话时会看到两个匿名模型的回答,选择更好的那个,积累大量人类偏好数据,用 Elo 评分系统给各模型排名。

Chatbot Arena 测的是真实用户在真实任务上的偏好,最接近"实际上哪个模型更好用"这个问题。因为用户提的问题来自真实需求,不是精心设计的 benchmark 题目,更难造假。

主要局限:用户偏好有偏见,更倾向于长的、自信的、格式漂亮的回答,不一定是真正准确或有用的;测试分布偏向英文和一般性对话,对特定语言或专业领域的模型不公平;评分需要大量用户投票,新模型需要几周到几个月才能得到稳定的排名;用户可能被模型的外观特征而非实质影响。

HELM 和 BIG-Bench

HELM(Holistic Evaluation of Language Models,斯坦福,2022)是一套系统化的评测框架,把评测维度分为准确性、鲁棒性、校准性、公平性、偏见、毒性、效率等多个维度,强调"全面评测"而不只看准确率。

BIG-Bench(Google,2022)是一个社区驱动的大规模 benchmark 集合,包含 200+ 个任务,覆盖了很多常规 benchmark 没有测的能力(类比推理、算法推理、社会常识等)。BIG-Bench Hard(BBH)是其中难度最大的 23 个任务的子集,目前仍有较好区分度。

面试时可以这样答

主流 benchmark 各有各测的东西。MMLU 是知识广度,57 个学科选择题,主要考记忆和理解,区分度现在已经不太够了,MMLU-Pro 改成十选一更难区分;HumanEval 测 Python 代码生成的功能正确性,用执行测试用例验证,可信度高,但只有 164 道题样本量小;GSM8K 测多步数学推理,现在顶尖模型基本接近满分,区分度快没了;MT-Bench 用 GPT-4 给多轮对话打分,更接近真实对话质量,但 80 道题偶然性大;Chatbot Arena 是真实用户投票的 Elo 排名,最接近"到底哪个模型好用",但有用户偏见问题。

一个重要的认知是:没有任何一个 benchmark 能全面代表模型能力,而且几乎所有公开 benchmark 都有数据污染风险。实际评估模型时应该多个 benchmark 组合看,同时结合业务场景设计自己的评测集。只看一个 benchmark 排名就做决策,在工程实践里是很不可靠的。

常见追问

  1. MMLU 和 MMLU-Pro 的得分差异大概是多少?为什么改成十选一区分度更高?
  2. Chatbot Arena 的 Elo 评分机制是怎么计算的?样本量多少才稳定?
  3. 如果要评测一个中文模型,有哪些推荐的中文 benchmark?