跳转到内容

BIG-bench — 204 道题给大模型出考卷

是什么

BIG-bench(Beyond the Imitation Game benchmark)是一份给大语言模型出的超级考卷:204 道题、134 类话题、由 444 位作者(来自 132 个机构)共同贡献。日常类比:像高考语文数学英语物化生史地政全合一,再加上猜谜、下棋、辨认讽刺、判断道德——一次考完看模型到底”哪科行哪科不行”。

它的核心问题是:

  • 当时(2022 年)评测大模型主要靠 GLUE / SuperGLUE / MMLU 这些几十道题、领域窄的小基准
  • 模型一年比一年大,benchmark 一年比一年快被刷爆
  • 没人知道模型到底会什么、不会什么——平均分高,可能只是擅长那几类题

BIG-bench 想解决的是:让评测的覆盖面、难度、来源都跟上模型的成长速度

为什么重要

不理解 BIG-bench,下面这些事都说不清:

  • 2022 年 GPT-3 / PaLM 论文里那些”涌现能力”的图,X 轴模型规模、Y 轴某个奇怪任务的分数——题目大多来自这里
  • 后来 HELM / MMLU-Pro / BBH(BIG-bench Hard)都把它当起点或子集
  • 现代 LLM 评测的两个范式(JSON 题 vs 程序化题)就是它定下的
  • “评测多样性”作为一个研究方向被认真提出——之前大家只关心准确率

核心要点

BIG-bench 的设计可以拆成 四个支柱

  1. 任务来源众包:任何研究者都能提交一道题,走 GitHub PR + 同行评审。被收录的标准是”现有 benchmark 没覆盖、对模型有挑战、人能判分”。最终 204 道题里有数学竞赛、印地语谚语、化学反应预测、检测代码 bug、判断笑话好不好笑。

  2. 两种题型并存

    • JSON 任务:输入 + 候选答案 + 评分指标(精确匹配、BLEU、ROUGE 等)。简单的多选填空都走这路。
    • 程序化任务:任意 Python 代码当评分器。能做”和模型多轮对话再打分""调用外部 API 验证答案”这种复杂场景。
  3. 三类模型横向比:作者在同一套题上跑了 OpenAI GPT 系列、Google 稠密 Transformer(最大 128B)、Google Switch 稀疏 Transformer(最大 1T 参数),统一报分。

  4. BIG-bench Lite:从 204 道里挑 24 道做”轻量版”,给经费有限的研究者。完整跑一次 BIG-bench 在当时可能要花几千美元 API 费。

实践案例

案例 1:JSON 任务长什么样

一道题的目录里有:

task.json ← 题目本体
README.md ← 出题人解释为什么这道题有意思

task.json 大致是:

{
"name": "logical_deduction",
"examples": [
{
"input": "三个人 A B C 排成一列。A 不在最前。B 在 C 后面。谁在最前?",
"target_scores": {"A": 0, "B": 0, "C": 1}
}
],
"metrics": ["multiple_choice_grade"]
}

模型要做的事:读 input,给每个候选打分,最高分对应的那个就是预测。target_scores 里 1 是正确答案。这套格式后来被 lm-evaluation-harness、HELM 等工具直接复用。

案例 2:程序化任务为什么需要

有些题 JSON 装不下。比如自我评估类:让模型生成一首十四行诗,再让模型自己判断这诗合不合格律。这需要”先调一次模型生成、再调一次模型评分”,还要解析生成内容。

程序化任务的接口大致是:

class MyTask(Task):
def evaluate_model(self, model):
prompt = "写一首关于秋天的十四行诗"
poem = model.generate(prompt)
score = check_sonnet_form(poem)
return {"score": score}

能力上限就变成了”Python 能写出来的所有评分逻辑”。

案例 3:作者发现的几个反常识结论

跑完 204 道题作者总结了几条:

  • 平滑 + 突变并存:大部分任务上模型分数随规模 log-linear 上升,但少数任务会在某个规模突然从随机水平跳到接近人类——这是后来”涌现能力”讨论的原始证据
  • 稀疏模型不便宜:Switch 1T 参数虽多,但激活参数少,实际效果接近 30B 稠密模型,不是 1T 稠密
  • 校准随规模改善:模型越大,“自己说有把握”和”实际答对”越接近——但远没到能信赖的程度
  • 某些任务没救:道德判断、社会偏见检测这类,规模再大也没明显提升

踩过的坑

  1. 数据污染:题目都在 GitHub 公开,后来训练集很可能爬到。Google 自己后续模型测 BIG-bench 时已经要警惕”分高是真会还是背过”。

  2. 评分指标对模型不公:很多 JSON 题用精确字符串匹配。模型答 “the answer is A” 和 “A” 都是对的,但匹配器可能只认其中一种。出题质量参差。

  3. 任务难度严重不均:有的题随机猜 50%,最强模型 52%;有的题随机猜 5%,最强模型 80%。直接平均会被前者稀释。后续 BBH(BIG-bench Hard)就是挑了 23 道”模型还远不如人”的子集。

  4. 跑一次贵:完整 204 题在大模型上每次要几小时 + 上千美元。这就是 BIG-bench Lite 存在的原因。

适用 vs 不适用场景

适用

  • 想看模型的广度而不是某个细分能力——挑一些子集跑
  • 研究规模法则、涌现现象——它给了 50+ 个 X 轴模型规模、Y 轴分数的图
  • 找”模型还不会”的题,作为新方向起点
  • 教学/文献综述,需要对 LLM 能力有立体认识

不适用

  • 只想要一个”模型好不好”的单数字——平均分意义不大
  • 评测推理代价敏感的部署——它本意就是探索性,不是生产指标
  • 长上下文、多模态、agent 类能力——这些后来由 LongBench、MMMU、SWE-bench 接管
  • 中文为主的评测——大部分题英文,只有少数本地化贡献

历史小故事(可跳过)

  • 2020 年:GPT-3 发布,社区发现现有 benchmark 几个月就被刷穿。Google 内部 Aarohi Srivastava 等人提议”开源众包基准”。
  • 2021 年:项目在 GitHub 公开,PR 模板要求出题人同时贡献”为什么这道题有意思”的说明。一年里收到 600+ 提案,筛 200+ 通过。
  • 2022 年 6 月:arXiv v1 上线,作者列表里 444 人,是当时机器学习论文署名最多的之一(仅次于一些大型协作论文)。
  • 2023 年:发表在 TMLR;衍生品 BBH(23 道)、BIG-bench Lite、Hard 子集成为后续研究标配。

学到什么

  1. 众包评测能跑通:之前大家觉得”benchmark 必须由小团队精心设计”,BIG-bench 证明只要有 PR 评审 + 格式标准,社区可以贡献出比专家组更广的题
  2. 评测格式 = JSON + 程序化两路:这套 schema 影响了之后所有主流评测框架
  3. 平均分骗人:204 道题平均看不出问题,分桶看才知道模型在哪类题上断崖
  4. 涌现需要广度:少数题上的突变只在足够多任务里才能被观察到——任务太少看不到”突然会”

延伸阅读

  • 项目主页:google/BIG-bench(任务清单、运行脚本)
  • 论文 PDF:arXiv 2206.04615(90 页正文 + 数百页附录)
  • BBH 子集:Suzgun et al., “Challenging BIG-Bench Tasks”, 2022(挑 23 道难题再跑)
  • mmlu-2020 —— 同期的窄基准,57 学科多选题
  • lm-evaluation-harness —— EleutherAI 工具,把 BIG-bench 任务格式当作一等公民

关联

  • lm-evaluation-harness —— 任务格式直接借鉴 BIG-bench JSON schema
  • helm-2022 —— 同期更系统化的评测,强调多维度报告
  • scaling-laws-2020 —— BIG-bench 提供了规模 vs 能力的大量经验数据点
  • chain-of-thought-2022 —— CoT 提升的也大多是 BIG-bench 里的多步推理题
  • grokking-2022 —— “突然学会”的另一个数据点,与涌现讨论相关