MMLU基准测试

Massive Multitask Language Understanding

概述

MMLU是目前最广泛使用的大语言模型评估基准之一,由UC Berkeley等机构于2021年提出。 测试覆盖57个学科,从基础数学到专业法律,全面评估模型的知识广度和深度。

核心特点:57个学科、15,908道题、多选题形式、知识广度评估。

学科覆盖

STEM学科

数学、物理、化学、生物学、计算机科学、工程学等

人文社科

历史、哲学、心理学、政治学、社会学、经济学等

专业技能

法律、医学、商业、会计、专业认证考试等

测试格式

# MMLU题目示例


Question: What is the derivative of x²?

A. x

B. 2x

C. x²

D. 2x²


Answer: B

所有题目都是四选一的多选题,模型需要选择最正确的答案。

评估方式

Zero-shot评估

不提供示例,直接让模型回答问题:

  • 更接近真实使用场景
  • 评估模型的泛化能力
  • 避免示例偏见

Few-shot评估

提供5个示例,引导模型理解任务格式:

  • 标准化评估协议
  • 减少格式理解误差
  • 更公平的对比

模型表现

模型5-shot发布时间
GPT-4o88.7%2024.05
Claude 3.5 Sonnet88.3%2024.06
Gemini 1.5 Pro85.9%2024.02
Claude 3 Opus86.4%2024.03
GPT-486.4%2023.03
Llama 3 70B82.0%2024.04

使用方法

# 使用lm-eval工具评估
pip install lm-eval

# 评估模型
lm_eval --model hf \
    --model_args pretrained=meta-llama/Llama-2-7b-hf \
    --tasks mmlu \
    --batch_size 8

# 或使用Hugging Face datasets
from datasets import load_dataset

dataset = load_dataset("cais/mmlu", "all")
for example in dataset["test"]:
    question = example["question"]
    choices = example["choices"]
    answer = example["answer"]
    # 评估模型...

局限性

  • 数据污染:部分题目可能出现在训练数据中
  • 多选题限制:不能评估生成能力
  • 英语中心:主要测试英语知识
  • 静态数据:无法反映最新知识
  • 表面知识:可能只测试记忆而非理解

变体与扩展

  • MMLU-Pro:更困难版本,增加推理要求
  • MMLU-redux:清洗错误标注的数据集
  • CMMLU:中文版本的MMLU
  • MMLU-STEM:专注STEM学科

参考资料

  • Measuring Massive Multitask Language Understanding (Hendrycks et al., 2021)
  • MMLU Dataset on Hugging Face
  • lm-evaluation-harness GitHub
----