王教练是光明中学的数学竞赛总教练,每年都要从全校挑出最顶尖的学生去参加全国奥赛。可问题是,常规随堂小测(GSM8K)大家都能考 90 多分,根本看不出差距。直到有一天,他拿到了一份传说中的“绝密奥赛卷”——汇集 5000 道真实数学竞赛真题,按 7 大学科分类、5 档难度递进,阅卷时只看方框里的最终答案,过程写得再漂亮,答案错了照样零分。这份考卷,就是 AI 领域大名鼎鼎的 MATH 基准。本文就跟着王教练一起,把这套“奥赛考卷”的出题逻辑、阅卷流程、成绩单、作弊漏洞和使用心得,一一看透。

岗位关联

对 AI 从业者而言,掌握 MATH 基准的评测原理与工程实现,意味着能用一把国际公认的“数学标尺”科学衡量大模型的推理能力,这是构建 LLM 评测体系的核心基本功。

目录
  1. 可视化演示
  2. 基准的定位:一张绝密的“奥赛考卷”
  3. 数据集构成:考卷的结构与装订
  4. 评测流程:从发卷到阅卷的全自动流水线
  5. 难度梯度:五级台阶上的滑坡
  6. GSM8K对比:随堂小测与奥赛正卷
  7. 模型成绩:一届更比一届强
  8. 评测局限:考卷的“作弊漏洞”与盲区
  9. 实践应用:王教练的评测组合拳
  10. AI 应用场景
  11. Python 演示
  12. 常见误区
  13. 面试题

可视化演示

三步展示MATH数学推理基准:7学科分类体系(预备代数/代数/数论/几何等)、\\boxed{}答案标记评测机制、以及MATH-500子集抗污染设计。

本节配有交互动效(进入视口后自动加载,约 3KB)。

MATH 7学科分类 预备代数:基础算术 代数:方程/函数 数论/几何/计数/概率/预科微积分 竞赛级难度 区分高能力模型差异。

基准的定位:一张绝密的“奥赛考卷”

王教练的办公桌上永远摆着两摞卷子:右手边是随堂小测,左手边是一份标着“绝密”的奥赛真题集。随堂小测人人接近满分,奥赛真题却让最好的学生也直挠头。2021 年,加州大学伯克利分校的 Dan Hendrycks 团队遇到了同样的困境——当时的基准测试都太“温和”了,GPT-3 已在许多任务上接近满分,研究者分辨不出谁才是真正的“数学高手”。于是他们打造了 MATH 基准。

MATH 的全称是 Mathematics Aptitude Test for Heuristics,直译是“启发式数学能力测验”。它的设计目标非常明确:给大模型的数学推理能力划一条“奥赛线”。考的不是背公式,而是面对陌生题目时,能否像人类奥赛选手那样展开多步推理、灵活调用知识。这就好比王教练真正想选拔的,不是会刷题的学生,而是能临场解题的选手。

评测方式很直接——把题目抛给模型,让它生成解题过程和最终答案,再与官方标准答案做“精确匹配”:规范化之后字符串完全一致,才算得分。这个指标就是精确匹配准确率,也是 MATH 论文中最重要的结果呈现方式。

Accuracy=1N∑i=1N1[Norm(y^i)=Norm(yi)]\displaystyle \text{Accuracy} = \frac{1}{N}\sum_{i=1}^{N}\mathbf{1}\left[\text{Norm}(\hat{y}_i) = \text{Norm}(y_i)\right]

1. N 表示评测题总数:MATH 测试集共 5000 道题,相当于考卷的全部题目数量。

N=5000N = 5000

2. ŷᵢ 是模型对第 i 题的输出:包含解题过程与方框答案,是“学生交上来的作答”。

y^i=Answer(model, xi)\hat{y}_i = \text{Answer(model, } x_i\text{)}

3. yᵢ 是第 i 题的标准答案:数据集中人工标注的最终答案,是“标准答案卡”。

yi∈{y1,y2,…,yN}y_i \in \{y_1, y_2, \dots, y_N\}

4. Norm 是规范化函数:把“1 / 2“和”0.5”统一成同一形式,并去掉空格等干扰符号。

Norm(12)=Norm(0.5)=0.5\text{Norm}(\textstyle\frac{1}{2}) = \text{Norm}(0.5) = 0.5

5. 1[条件] 是指示函数:方括号内条件成立取 1、不成立取 0,相当于“这题算不算对”的开关。

1[true]=1,1[false]=0\mathbf{1}[\text{true}] = 1, \quad \mathbf{1}[\text{false}] = 0

所以 MATH 基准就是王教练手里那份压箱底的绝密奥赛卷。它不会因为人人及格就让位,反而专门挑选最刁钻的竞赛题,逼着每个考生亮出真实推理功底——这正是它作为“奥赛级基准”的定位。

数据集构成:考卷的结构与装订

王教练展开考卷,先看结构:多少题?考哪些内容?难易如何分布?MATH 试卷同样结构清晰——共 12,500 道题目,其中 7,500 道作为训练集,5,000 道作为测试集。训练题是给“备考学生”练手的,测试题才是正式考卷,两者严格分卷存放,防止学生提前看到答案。

5,000 道测试题覆盖 7 个数学学科:初等代数、代数、计数与概率、几何、中级代数、数论、微积分预备。每科一个大题区,就像奥赛的分项赛一样,从不同方向考察推理能力。这些题目来自 AMC、AIME 等真实数学竞赛,或由竞赛选手人工编写,质量极高,绝不是网上随便扒来的计算器练习。

最关键的细节是:每道题的最终答案被强制写成 LaTeX 的 \boxed{} 格式。这相当于要求考生把最终答案工整地写进方框里——正是这个设计,为后面的全自动阅卷提供了巨大便利。评测脚本只需要找方框,不需要理解满纸演算。

{Dℓ}ℓ=15,Dℓ={ pj:Level(pj)=ℓ },∣Dℓ∣5000≈0.2\displaystyle \{D_{\ell}\}_{\ell=1}^{5}, \quad D_{\ell} = \left\{\, p_j : \text{Level}(p_j) = \ell \,\right\}, \quad \frac{\left|D_{\ell}\right|}{5000} \approx 0.2

1. Dℓ 是第 ℓ 个难度组:把考卷按难度拆成 5 摞,ℓ=1 是入门、ℓ=5 是压轴题。

Dℓ={ pj:Level(pj)=ℓ }D_{\ell} = \{\, p_j : \text{Level}(p_j) = \ell \,\}

2. Level(pⱼ) 是人工标注的难度标签:每道题由出题人评估后贴上 1 到 5 的标签。

Level(pj)∈{1,2,3,4,5}\text{Level}(p_j) \in \{1, 2, 3, 4, 5\}

3. |Dℓ| / 5000 ≈ 0.2 是均匀分布:5 档难度各占约五分之一,避免某档题目过少导致统计失真。

∣Dℓ∣5000≈15\frac{|D_{\ell}|}{5000} \approx \frac{1}{5}

王教练看着这张结构清晰的卷子连连点头:学科覆盖全、难度分布均匀、答案格式规范——这就是一张能让人信服的水平测试卷。大模型要在这张卷子上拿高分,光靠背题型可不够。

评测流程:从发卷到阅卷的全自动流水线

考卷有了,接下来是阅卷。王教练请来三位老师分工合作:第一位负责发卷,第二位负责收卷并把答案框出来,第三位负责核对标准答案。MATH 的评测流程,正是这样一条全自动流水线。

第一步构造提示词。评测脚本把题目套进固定模板 “Problem: {题目}\nSolution:”,要求模型以 “Solution:“ 开头续写。第二步是模型生成——模型输出一长串解题过程,最后大多以 \boxed{答案} 结尾。第三步抽取答案,脚本用正则表达式寻找最后一个 \boxed{……},把内容提取出来。之所以取”最后一个”,是因为模型可能在中间草稿里先写了一个答案、最后又修改了。

最后一步是规范化与匹配。模型可能输出 “1 / 2“,而标准答案是 ”\frac{1}{2}”,直接比较字符串必然失败。评测脚本会统一去除空格、逗号、美元符号,并把常见分隔符转成等价形式,再做比对。任何一个环节出错,都会像阅卷老师看错行一样,冤枉一道本应得分的题。

xi  →  Prompt    si  →  Generate    g(si)  →  Extract    y^i  →  Normalize    N(y^i)\displaystyle x_i \;\xrightarrow{\;\text{Prompt}\;}\; s_i \;\xrightarrow{\;\text{Generate}\;}\; g(s_i) \;\xrightarrow{\;\text{Extract}\;}\; \hat{y}_i \;\xrightarrow{\;\text{Normalize}\;}\; \mathcal{N}(\hat{y}_i)

1. xᵢ → sᵢ 构造提示:把原始题目套进 "Problem: …… Solution:" 模板,形成发给模型的提示词。

si=’Problem: ’+xi+’ Solution: ’s_i = \text{'Problem: '} + x_i + \text{' Solution: '}

2. sᵢ → g(sᵢ) 模型生成:模型以提示词为开头续写,产出解题过程与最终答案。

g(si)=model(si)g(s_i) = \text{model}(s_i)

3. g(sᵢ) → ŷᵢ 抽取方框答案:用正则寻找最后一个 \boxed{……} 并取出内容。

y^i=last(FindBoxed(g(si)))\hat{y}_i = \text{last}(\text{FindBoxed}(g(s_i)))

4. ŷᵢ → N(ŷᵢ) 规范化:去空格、去逗号、统一小数与分数表达,让 “0.5“ 和 ”1/2” 等价判对。

N(0.5)=N(1/2)=0.5\mathcal{N}(0.5) = \mathcal{N}(\text{1/2}) = 0.5

流水线阅卷的妙处在于全自动、零主观。就像王教练的三位老师只按规则执行,不会因为“这学生平时表现好”就给人情分。MATH 的每个环节都可复现,这正是基准测试的公信力所在。

难度梯度:五级台阶上的滑坡

王教练仔细研究卷面后发现,题目难度层层递进:从一眼能看穿的入门题,到需要七拐八绕才能解出的压轴题。MATH 把难度分为 5 级,就像奥赛要从预选赛一路打到总决赛。

Level 1 的题目往往只需要一两步运算和基础概念;Level 5 的题目则需要选手识别复杂模式、构造巧妙的中间量、综合运用多个定理。研究者发现,几乎所有模型都在这张卷子上呈现出同一条规律:难度等级越高,准确率越低。以 GPT-4 发布前后的典型成绩为例,Level 1 准确率约 88%,Level 2 约 74%,Level 3 约 58%,Level 4 约 38%,Level 5 骤降到约 20%。

这条“梯度滑坡曲线”说明 MATH 具有出色的区分度——它像一把筛子,能把模型的能力层次逐一筛开。如果一张基准卷人人满分,那它对评估毫无价值;MATH 的五个梯度,正是它作为“能力标尺”的核心设计。

A(ℓ)=1∣Dℓ∣∑pj∈Dℓ1[y^j=yj],ℓ=1,2,3,4,5\displaystyle \text{A}(\ell) = \frac{1}{|D_{\ell}|}\sum_{p_j \in D_{\ell}} \mathbf{1}\left[\hat{y}_j = y_j\right], \quad \ell = 1, 2, 3, 4, 5

1. A(ℓ) 表示第 ℓ 级的准确率:相当于只看第 ℓ 摞卷子的平均分。

A(ℓ)=Level-ℓ accuracy\text{A}(\ell) = \text{Level-}\ell \text{ accuracy}

2. |Dℓ| 是该档题目总数:分母是这一档难题的总道数,约 1000 道。

∣Dℓ∣≈1000|D_{\ell}| \approx 1000

3. 求和内是指示函数判分:对每道题精确匹配判对错,对则记 1、错则记 0。

1[y^j=yj]\mathbf{1}[\hat{y}_j = y_j]

4. 逐级计算得到滑坡曲线:ℓ 从 1 到 5 依次计算,得到一条单调下降的曲线。

A(1)≈0.88>A(2)≈0.74>⋯>A(5)≈0.20\text{A}(1) \approx 0.88 > \text{A}(2) \approx 0.74 > \cdots > \text{A}(5) \approx 0.20

正如王教练所说,“能进总决赛的才是真高手”。数据也指向同一结论:模型在 L5 的挣扎,恰恰暴露了它在复杂推理上的天花板。这张卷子的难度梯度,就是丈量推理能力的一把标尺。

GSM8K对比:随堂小测与奥赛正卷

王教练的抽屉里还有一份“随堂小测”——GSM8K。如果说 MATH 是奥赛总决赛,GSM8K 就是每周五的课堂练习:题目全是小学数学应用题,比如“小明有 12 个苹果,又买了 3 袋,每袋 5 个……”,只需 2 到 8 步的算术运算。

两者的差异是结构性的。GSM8K 由 OpenAI 发布,包含约 8,500 道人工标注的小学数学文字题,测试的是模型能否把自然语言翻译成算术表达式并按步骤计算;MATH 由 Hendrycks 团队发布,题目来自真实竞赛,测试的是抽象推理和多步问题求解。在相同模型上,GSM8K 的分数常年在 90% 上下,而 MATH 长期只有 40%~50%。

正因难度天花板不同,两者的用途互补:GSM8K 适合当入门门槛——连随堂小测都不及格,说明基础推理能力有问题;MATH 适合当晋级分水岭——能在这张卷子上拿高分,才配谈“较强的数学推理能力”。

Δ=AccGSM8K−AccMATH≈0.92−0.43=0.49\displaystyle \Delta = \text{Acc}_{\text{GSM8K}} - \text{Acc}_{\text{MATH}} \approx 0.92 - 0.43 = 0.49

1. Acc_GSM8K 是随堂小测成绩:同为精确匹配准确率,强模型通常在 0.9 以上。

AccGSM8K≈0.92\text{Acc}_{\text{GSM8K}} \approx 0.92

2. Acc_MATH 是奥赛卷成绩:同一时期强模型在 MATH 上约 0.43。

AccMATH≈0.43\text{Acc}_{\text{MATH}} \approx 0.43

3. Δ 是难度落差:两者相减得约 0.49,直观展现“小测满分、奥赛勉强及格”的差距。

Δ=0.92−0.43=0.49\Delta = 0.92 - 0.43 = 0.49

王教练把两张卷子的成绩单钉在墙上,旁边写着一行字:“随堂小测不错,未必能上奥赛场。”对 AI 评测来说,GSM8K 与 MATH 就像这两张卷子,两场都考,才能完整还原模型的推理能力画像。

模型成绩:一届更比一届强

王教练翻开了校队多年的成绩记录本。三年前,最好的学生连初赛都过不了几题;三年后,已经有人冲进了总决赛。大模型在 MATH 上的成绩单,同样是一部波澜壮阔的进步史。

2021 年 MATH 基准发布时,最强模型 GPT-3 的准确率仅约 6.9%——几乎全军覆没。2022 年,Google 的 Minerva 系列通过大规模数学语料继续预训练,把成绩拉到了约 50%。2023 年 GPT-4 发布,论文报告的基础准确率约 42.5%,配合工具使用后可达 52.9%。到 2024 年,OpenAI 的 o1 系列通过强化学习与推理时计算,把成绩推高到约 94.8%(工具辅助)。

这条成绩曲线印证了 MATH 作为“能力标尺”的价值:它没有因为早期模型集体低分而被弃用,反而一路见证了研究者用更大的模型、更多的数学数据、更强的推理策略,把准确率从个位数推向接近满分。分数提升的背后,是数学推理能力的真实飞跃。

Growth=Accnew−AccoldAccold×100%\displaystyle \text{Growth} = \frac{\text{Acc}_{\text{new}} - \text{Acc}_{\text{old}}}{\text{Acc}_{\text{old}}} \times 100\%

1. Acc_old 是旧模型成绩:以 2021 年 GPT-3 的 6.9% 为基准。

Accold=0.069\text{Acc}_{\text{old}} = 0.069

2. Acc_new 是新模型成绩:以 2024 年 o1 的 94.8% 为最新记录。

Accnew=0.948\text{Acc}_{\text{new}} = 0.948

3. Growth 是相对增长率:分子是提升量,分母是原成绩,得到“翻了多少倍”。

Growth=0.948−0.0690.069×100%≈1274%\text{Growth} = \frac{0.948 - 0.069}{0.069} \times 100\% \approx 1274\%

王教练合上记录本感慨:“最难能可贵的不是分数本身,而是这张卷子一直没有变,让每届学生都有公平的参照系。”MATH 作为一张固定的奥赛卷,让三年来的每次进步都清晰可查——这正是基准测试的核心价值。

评测局限:考卷的“作弊漏洞”与盲区

然而,再严密的考试也有漏洞。王教练发现,有的“学生”在奥赛卷上突然爆发,一问才知道:他暑假上过“押题班”,卷子上的题有 30% 提前见过。这就是数据污染——最让基准评测头疼的问题。

大模型的训练数据来自互联网海量语料,而 MATH 测试题是公开数据,极可能混入训练集。模型“背”过题和真会解题,在精确匹配分数上无法区分。研究者统计发现,某些模型在 MATH 原题上的得分,与在“全新私有变体题”上的得分存在明显落差——这正是污染的证据。

此外还有两个结构性盲区:其一,评测只比对最终答案,模型推理过程即使有原理性错误,只要蒙对答案依然得分;其二,答案规范化并不完美,等价但写法不同的答案(如 \sqrt{2} 与 1.414)可能被误判为错。就像阅卷只看作文的结尾句,难免误伤“过程漂亮但结尾笔误”的考生。

Bias=Accseen−Accfresh≈0.80−0.30=0.50\displaystyle \text{Bias} = \text{Acc}_{\text{seen}} - \text{Acc}_{\text{fresh}} \approx 0.80 - 0.30 = 0.50

1. Acc_seen 是命中记忆题的成绩:把可能出现在训练语料中的原题单独统计准确率。

Accseen≈0.80\text{Acc}_{\text{seen}} \approx 0.80

2. Acc_fresh 是全新题的冷成绩:换成等价但从未公开的变体题,模型只能现场推理。

Accfresh≈0.30\text{Acc}_{\text{fresh}} \approx 0.30

3. Bias 是污染偏差:差值越大,说明“背题”成分越重,真实推理能力越可疑。

Bias=0.80−0.30=0.50\text{Bias} = 0.80 - 0.30 = 0.50

王教练在教研会上提醒大家:“押题班出来的高分,不是真水平。”评估大模型时同样不能只看 MATH 裸分,还要警惕数据污染、过程缺失与规范化偏差——否则分数越高,越可能是一场精心准备的“应试表演”。

实践应用:王教练的评测组合拳

王教练总结出一套带队心得,其实也适用于 AI 评测:先摸底、再分层、后监控。评估大模型的数学推理能力,绝不能只押一张卷。

第一个原则是“基础先行”:当模型在 GSM8K 上还拿不到 80% 时,不必急着上 MATH,先把基础算术推理补牢。第二个原则是“工程够稳”:评测脚本要能鲁棒地解析 \boxed 答案,处理好 LaTeX 归一化、小数分数互换、多余符号剔除,否则评测结果会因解析漏洞失真。第三个原则是“组合评测”:把 MATH 与 GSM8K、HumanEval(代码)、MMLU(综合知识)组合使用,形成多维度的能力雷达图。

对于资源有限的团队,可以选用 MATH-500——从测试集中均匀采样的 500 题子集,能在几分钟内完成一轮评测,适合快速迭代;但最终发布成绩时,应回到完整测试集以保证统计可靠。

Scorecomb=w1⋅AccGSM8K+w2⋅AccMATH,w1+w2=1,  w1,w2≥0\displaystyle \text{Score}_{\text{comb}} = w_1 \cdot \text{Acc}_{\text{GSM8K}} + w_2 \cdot \text{Acc}_{\text{MATH}}, \quad w_1 + w_2 = 1, \; w_1, w_2 \ge 0

1. w₁ 与 w₂ 是权重系数:表示两张卷子在总评中的分量,两者之和恒为 1。

w1+w2=1w_1 + w_2 = 1

2. Acc_GSM8K 与 Acc_MATH 是两项成绩:分别是模型在随堂小测与奥赛卷上的准确率。

Scorecomb=w1×0.95+w2×0.50\text{Score}_{\text{comb}} = w_1 \times 0.95 + w_2 \times 0.50

3. Score_comb 是加权综合分:业务方根据“基础 vs 进阶”的侧重调整权重,得到单一可对比的指标。

Scorecomb∈[0,1]\text{Score}_{\text{comb}} \in [0, 1]

王教练把这套方法称作“一张卷子定不了终身,组合拳才行”。对 AI 工程师来说,MATH 基准不是孤立的考试科目,而是评测体系中的关键拼图——用对场景、配好辅助、盯紧漏洞,才能让这张奥赛卷真正为模型能力把关。

AI 应用场景

大模型上线前的数学能力准入测试

阶段:模型评测与选型

解决的问题:传统靠人工出题打分费时费力且标准不一;用 MATH + GSM8K 自动化评测,可在数分钟内给出可复现的数学推理分数,作为模型是否具备上线资质的关键依据。

具体案例:某金融科技公司要上线数学解题助手。评测团队先跑 GSM8K 验证基础算术(要求 > 90%),再跑 MATH-500 快速摸底(要求 > 60%),两项指标均达标才进入灰度发布。上线后还定期回测,防止迭代模型推理能力退化。

训练数据污染审计

阶段:训练数据治理与评测可信度保障

解决的问题:榜单成绩可能因训练语料混入测试题而虚高;通过对比“原题”与“私有变体题”的得分差距,可以量化识别污染。

具体案例:某开源模型在 MATH 上宣称 80% 准确率。第三方评测机构将测试题做数值扰动生成私有变体集重测,准确率跌到 35%,判定存在数据污染,最终该模型的榜单成绩被标注“存疑”。

数学推理模型的迭代训练监控

阶段:训练过程中的持续评测

解决的问题:训练大模型时只看 loss 无法感知数学推理是否真的变强;用 MATH 子集做阶段性验证,能及时判断继续训练还是调整策略。

具体案例:训练数学专用小模型时,团队每训练 200 步在 MATH-500 上测一次准确率。曲线在第 4000 步后停止上升,于是触发早停并回滚最优 checkpoint,节省了约 30% 算力成本。

Python 演示

python47 行
"""MATH 基准精确匹配评测器示例"""import re  def extract_boxed_answer(text):    """抽取最后一个 boxed 方框内的答案"""    matches = re.findall(r'\\boxed\{([^}]*)\}', text)    return matches[-1].strip() if matches else None  def normalize_answer(ans):    """规范化答案: 去空格与逗号, 统一小写"""    if ans is None:        return None    ans = ans.replace(' ', '')    ans = ans.replace(',', '')    ans = ans.replace('$', '')    return ans.lower()  def exact_match_score(predictions, ground_truths):    """逐题精确匹配, 返回准确率与命中数"""    assert len(predictions) == len(ground_truths)    correct = 0    total = len(ground_truths)    for pred, truth in zip(predictions, ground_truths):        pred_ans = normalize_answer(extract_boxed_answer(pred))        truth_ans = normalize_answer(truth)        if pred_ans is not None and pred_ans == truth_ans:            correct += 1    return correct / total, correct, total  def main():    """三题演示: 两题方框答案正确, 一题没写方框被判错"""    predictions = [        "设 x=3, 代入得 7x-2=19, 所以答案是 \\boxed{19}",        "内角和 180 度, 角 A=180-60-70=50, 故 \\boxed{50}",        "12/4+5=8, 答案应该是 8"    ]    ground_truths = ["19", "50", "8"]    acc, hit, total = exact_match_score(predictions, ground_truths)    print("精确匹配准确率: {:.1%} ({}/{})".format(acc, hit, total))  if __name__ == '__main__':    main()
目的:实现 MATH 基准的精确匹配阅卷核心——从模型输出中抽取 \boxed 方框答案,规范化后与标准答案比对,输出准确率。
  1. re.findall(r'\\boxed\{([^}]*)\}', text)用正则找出所有方框答案,返回匹配列表。
  2. matches[-1].strip()取最后一个匹配并去掉首尾空格,因为模型的最终答案通常在末尾。
  3. ans.replace(' ', '')删除答案中的空格,避免 “1 / 2“ 与 ”1/2” 被误判不同。
  4. ans.lower()统一为小写,规避大小写差异带来的误判。
  5. if pred_ans is not None and pred_ans == truth_ans无方框答案直接判错,体现了“只认方框”的严格阅卷规则。
  6. correct / total计算精确匹配准确率,对应论文中的核心指标。

常见误区

误区我一直以为 MATH 就是把 GSM8K 的题变多、数字变大而已,反正都是数学应用题嘛,用同一套评测脚本就能跑。

正解两者从题目来源到评测逻辑都有本质差别。GSM8K 出自人工编写的小学应用题,链式推理 2~8 步即可;MATH 出自真实竞赛,需要抽象推理与多步规划。MATH 还强制要求输出 \boxed{} 方框答案并做精确匹配,GSM8K 的答案格式约束则宽松许多。用同一套脚本评测两者,很容易低估模型在 MATH 上的真实表现。

为何常见:两个基准常在论文里成对出现、名字并列书写,初学者很容易把它们归为“同一种东西的两个版本”。

误区模型把推理步骤都写出来了,只有最后一步计算抄错一个数字,这总该算对吧?我觉得 MATH 应该给步骤分。

正解MATH 的判分规则是“只看方框答案是否精确匹配”,过程全对但答案错就是零分。算法上,评测器只做字符串比对,根本没有过程打分的能力。这就像奥赛阅卷规定“答案写在方框外无效”,规则严苛但绝对公平。评测工程师要提醒模型输出端:方框答案务必规范。

为何常见:人类考试的“过程分”思维根深蒂固,容易把人工阅卷的惯例投射到自动化评测上。

误区我在排行榜上看到某模型 MATH 拿到 85%,那它的数学能力一定碾压其他模型,直接上线准没错。

正解单看 MATH 分数会误判。高分可能来自数据污染(训练语料混入测试题)、针对性的格式训练,或对公开题集的过拟合。可靠的评估要结合未见过的变体题成绩、GSM8K 等基础基准,以及人工抽检推理过程。MATH 是一张“奥赛卷”,但无法证明考生没上过押题班。

为何常见:排行榜文化让从业者倾向于把单一数字等同于能力优劣,忽略了基准分数的适用边界与作弊空间。

误区评测脚本里不是有 normalize 函数吗?那 1/2、0.5、\frac{1}{2} 什么的应该都能判成对。

正解现有规范化只能覆盖常见格式差异(空格、逗号、美元符、部分 LaTeX 分隔符),远非万能。比如 \sqrt{2} 和 1.414、\frac{1}{\sqrt{2}} 和 \frac{\sqrt{2}}{2} 这类数学等价但写法迥异的答案,规范器不一定能统一。评测工程需要不断补充归一化规则,并对存疑答案做人工复核。

为何常见:人类看数学表达式会自动识别等价关系,而机器只能按预设规则比对字符串,两者能力差距容易被低估。

误区既然 MATH-500 是官方从测试集里均匀采样的子集,那以后评测直接用 MATH-500 就够了,又快又省。

正解MATH-500 适合快速迭代和内部摸底,但它只有 500 道题,统计波动更大,两个模型的分数差可能不显著。完整测试集有 5000 道题,能给出更稳定、更有说服力的成绩。正式发布成绩或做精细化对比时,应回到完整测试集。就像 500 道题的抽测相当于一小份模拟卷,不能替代正式的 5000 道全卷。

为何常见:团队追求评测速度时容易用子集“一测到底”,忽视了小样本带来的统计噪声。

面试题

Q1. MATH 基准的测试集包含多少道题目?

单选题 · easy

  • A.大约一千五百道
  • B.大约八千五百道
  • C.测试集里五千道← 正确答案
  • D.总计一万两千五

答案:C。MATH 共 12,500 道题,其中训练集 7,500 道、测试集 5,000 道。选项 A 是干扰项,选项 B 是 GSM8K 的题量,选项 D 是 MATH 总题量而不是测试题量。

Q2. MATH 基准的测试题主要来自哪里?

单选题 · easy

  • A.互联网随机抓取的数学内容
  • B.真实数学竞赛的AMC与AIME真题← 正确答案
  • C.小学课堂里的随堂练习题目
  • D.大模型自动生成的数学题目

答案:B。MATH 的题目来自 AMC、AIME 等真实数学竞赛或由竞赛选手人工编写,而非随机爬取或模型生成。这保证了题目质量与推理深度,是它区别于普通算术基准的关键。

Q3. 模型输出中包含什么才能被 MATH 评测器正确判分?

单选题 · mid

  • A.详细完整的演算过程
  • B.标准流畅的中文说明
  • C.用方框标注的最终答案← 正确答案
  • D.可直接运行的代码片

答案:C。MATH 评测器用正则抽取 \boxed{} 方框内的内容并做精确匹配,过程写得再好、没有方框答案一样判错。这就像奥赛阅卷只认写在方框里的最终答案。

Q4. MATH 基准将测试题按难度分为几个等级?

单选题 · mid

  • A.三个难度等级
  • B.五个难度等级← 正确答案
  • C.七个学科分类
  • D.十个难度等级

答案:B。MATH 按难度分为 5 级(Level 1 到 Level 5),每级约占 20%。选项 C 混淆了“7 大学科”与难度分级,是常见干扰。

Q5. 关于 GSM8K 与 MATH 的区别,下列哪项正确?

单选题 · mid

  • A.两张卷子难度基本一致仅题量不同
  • B.GSM8K 的难度远远高于 MATH
  • C.GSM8K 是基础题而 MATH 是竞赛难题← 正确答案
  • D.MATH 考几何而 GSM8K 只考代数

答案:C。GSM8K 是小学算术应用题,2~8 步运算即可;MATH 是竞赛级多步推理题。两者难度天花板差异巨大,且 MATH 覆盖 7 大学科而非只考几何,所以 C 正确。

Q6. 最可能导致模型在 MATH 上得分虚高的原因是?

单选题 · hard

  • A.测试时增加推理采样次数
  • B.训练语料混入测试题致污染← 正确答案
  • C.训练时使用更大的批大小
  • D.提示词中写入更多示例

答案:B。训练语料混入公开的 MATH 测试题属于数据污染,会让模型“背答案”而非“会解题”。采样次数、批大小、示例数量属于正常实验变量,不会系统性虚高。

Q7. GPT-4 发布时在 MATH 测试集上的准确率约为?

单选题 · hard

  • A.百分之十以下
  • B.百分之九十以上
  • C.百分之九十九以上
  • D.百分之四十到五十← 正确答案

答案:D。GPT-4 论文报告的基础准确率约 42.5%,配合工具使用约 52.9%。选项 A 对应 2021 年 GPT-3 的水平,B、C 对应 2024 年后前沿模型的水平。

Q8. MATH 评测流程包含以下哪些关键步骤?

多选题 · mid

  • A.构造标准化题目的提示词← 正确答案
  • B.让模型生成解题与方框答案← 正确答案
  • C.抽取模型输出中的方框答案← 正确答案
  • D.让阅卷老师逐题批改打分

答案:ABC。MATH 评测是全自动流水线:构造提示 → 模型生成 → 抽取方框 → 规范化比对。它没有任何人工批改环节,D 描述的是人类阅卷方式,不属于 MATH 流程。

Q9. 下列哪些属于 MATH 基准的已知局限?

单选题 · extreme

  • A.可能受到训练数据污染的影响← 正确答案
  • B.只检查最终答案不评估推理过程← 正确答案
  • C.答案规范化处理可能引入偏差← 正确答案
  • D.所有题目都不需要多步推理

答案:ABC。数据污染、只看结果不看过程、规范化不完美是 MATH 公认的三个局限。而“不需要多步推理”与事实相反——多步推理恰恰是 MATH 的核心考察点,所以 D 错误。

Q10. MATH-500 是什么?

单选题 · easy

  • A.测试集采样五百题用于快速评测← 正确答案
  • B.在 MATH 中新增的五百道高难题
  • C.是 GSM8K 基准的另一个旧称
  • D.一个用于代码生成的评测基准

答案:A。MATH-500 是从 MATH 测试集均匀采样出的 500 题子集,用于快速迭代评测。它既不是新增难题,也与 GSM8K、代码生成无关。正式发布成绩时仍应使用完整测试集。