假设你是一所特殊学校的教导主任,来报名的学生全是 AI 大模型,你要用数学考试判断谁真的会思考。你面前摆着两份风格迥异的卷子:第一份叫 GSM8K,像“小学数学应用题”——题面都是买苹果、分糖果、算人数的生活故事,步骤清晰,答案只填一个数;第二份叫 MATH,像“数学奥林匹克竞赛”——题面抽象,覆盖数论、几何、组合等七大类主题,需要巧思和多步推导,一步走错就全盘皆输。 这两份卷子如今几乎成了 AI 界公认的“数学推理试金石”:前者负责体检,看模型会不会老老实实做多步算术;后者负责选拔,看模型有没有真正的问题求解能力。本文会带你拆解这两份卷子的出题结构、难度分布和批改标准,分析它们各自的适用场景,并从中提炼出设计评测基准的通用方法。读完你就会明白:为什么一个模型在 GSM8K 上能考 90 分,在 MATH 上却可能不及格。
掌握 GSM8K 与 MATH 的对比逻辑,你就能科学评估模型的数学推理能力、精准定位能力短板,为模型选型与训练迭代建立一套可复用的评测方法论。
目录
可视化演示
展示GSM8K与MATH数据集的题目结构/难度/准确率对比、评分自动化流程差异及思维链(CoT)提示对推理准确率的提升效果。
本节配有交互动效(进入视口后自动加载,约 3KB)。
'+captions.compare+'
基准概览:两份卷子的来历
教导主任出卷前的第一件事,是明确“考什么”。如果你的目标是看学生会不会买菜算账,考卷就该贴近生活;如果你的目标是挑数学尖子生参加奥赛,考卷就该充满挑战。GSM8K 与 MATH 正是带着这两个不同目标诞生的。
在技术世界里,这两份“考卷”被称为评测基准(Benchmark):一个包含大量题目和标准答案的数据集,用来统一衡量模型的数学推理能力。GSM8K 由 OpenAI 在 2019 年提出,主打“小学数学应用题”;MATH 由加州大学伯克利分校团队在 2021 年提出,主打“竞赛级数学问题”。
从规模上看,GSM8K 共约 8500 道题,其中训练集 7473 道、测试集 1319 道,所有答案都是唯一数字;MATH 共约 12500 道题,其中训练集 7500 道、测试集 5000 道,覆盖七大类数学主题,每道题还标注了 1 到 5 的难度等级。今天,几乎每一篇关于大模型推理的论文,都会同时报告模型在这两份卷子上的得分。衡量得分的核心指标就是准确率:
如果说 GSM8K 是学校的“常规测验”,MATH 就是“竞赛选拔”——一个负责保底,一个负责拔高,两者合在一起才构成完整的能力拼图。
- 正确数 \(N_{\text{correct}}\)模型输出与标准答案精确一致的题目数量,相当于阅卷老师判“对”的卷子数。
- 题目总数 \(N_{\text{total}}\)测试集中包含的全部题目数量,GSM8K 测试集是 1319 道,MATH 测试集是 5000 道。
- 比值与百分化用答对数除以总数再乘 100\%,得到“答对率”,这是跨模型、跨论文比较答案的唯一统一标尺。
题目结构:应用题与竞赛题的“长相”
把两份卷子摊开对比,你会发现它们“长得”完全不同。GSM8K 的题目像一段段生活小故事:“小明买了 3 支笔,每支 2 元,又买了一本 5 元的本子,一共花了多少钱?”而 MATH 的题目则像抽象符号的迷宫,常常直接抛给你一个方程或几何关系,读题本身就需要数学功底。
题目的“长相”差异,可以从四个维度理解:题干背景、推理步数、题型覆盖、语言复杂度。GSM8K 的题干全部来自生活场景,答案只要求一个数字;MATH 的题干高度符号化,推理链更长,最关键的是它经常要求模型先在多个策略之间做出选择——“这道题该用反证法还是构造法?”
具体来说,GSM8K 的典型题目需要 2 到 8 步线性推理,算完上一步,下一步的方向就明确了;MATH 覆盖代数、计数与概率、几何、数论等 7 个主题,推理不仅要长,还常常分叉。衡量推理链长度的指标是平均推理步数:
如果把 GSM8K 比作“直路多、岔路少”的乡间小路,MATH 就是“每条岔路都可能通向深渊”的迷宫——这正是两者在结构上最本质的区别。
- 题目序号 \(i\)从 1 到 \(N\) 遍历测试集中的全部题目,\(N\) 是题目总数。
- 单题推理步数 \(s_i\)解第 \(i\) 道题需要的中间运算次数,GSM8K 中取值约 2 到 8。
- 求和与平均把每道题的步数加起来,再除以题目总数 \(N\),得到平均推理步数。GSM8K 的均值约 3.6 步,MATH 则明显更长且分支更多。
难度分布:从“小学真题”到“竞赛压轴”
教导主任最关心的,永远是卷子的区分度。GSM8K 像小学毕业考,认真复习就能及格;MATH 像奥赛压轴题,大部分学生看一眼就想放弃。难度分布是两者最核心的差异,直接决定了模型分数的形态。
从知识范围看,GSM8K 只考小学内容:四则运算、比例、单位换算、简单几何周长面积,每道题都不需要超纲技巧。MATH 则完全面向竞赛:数论、组合、复数、数列、立体几何等,并且每道题都标注了 1 到 5 级难度,难度 3 以上的中高难题占比过半,5 级题往往需要精巧的构造或反证。
正因为难度差,同一个强模型在 GSM8K 上常能拿到 85\% 以上,在 MATH 上却往往只有 40\% 上下。这个落差被研究者称为“难度落差”,是量化模型推理纵深的直观指标:
这组数字提醒我们:看模型分数不能只看绝对值,还要看它是在哪份卷子上考出来的——小学卷的 90 分和竞赛卷的 40 分,含金量完全不同。
- GSM8K 准确率 \(\text{Acc}_{\text{GSM8K}}\)模型在小学应用题上的得分,反映基础多步计算的可靠性,通常很高。
- MATH 准确率 \(\text{Acc}_{\text{MATH}}\)模型在竞赛题上的得分,反映策略选择与复杂推导能力,通常明显偏低。
- 取差值 \(\Delta\)两者相减得到难度落差。\(\Delta\) 越大,说明模型越依赖简单模式匹配、越缺少真正的高阶推理。
评分方式:批改试卷的两种标准
卷子出好了,下一个问题是怎么批改。人类老师会看步骤给过程分,但 AI 评测面对的是几十万份“答卷”,必须走全自动批改路线。两套基准的评分逻辑其实一致:抽取最终答案,规范化后与参考答案做精确匹配。
区别在于答案的形态。GSM8K 的参考答案是一个数字,评测时从模型输出文本中提取最终数字(通常是“答案是 X”中的 X),与参考答案直接比较,类似“填空题只看最后填的数”。MATH 则要求模型在 LaTeX 输出中用花括号给出最终答案,评测时先提取花括号中的内容,再做规范化——去空白、把 0.5 转成 "1/2"、把等价形式统一——最终与参考答案精确匹配。
这套评分逻辑可以写成如下判定函数:
这种“只看答案、不看过程”的批改方式确实牺牲了过程信息,但它换来了三样无价之宝:可复现、可扩展、低成本。这正是大规模评测得以成立的前提。
- 标准答案 \(a\)数据集中人工标注的唯一正确答案,相当于阅卷老师手里的标准答题卡。
- 模型输出 \(\hat{a}\)模型生成文本中的最终答案,需要先从输出里按格式抽取出来。
- 规范化函数 \(\text{normalize}\)把格式差异抹平,比如把 0.5 与 \(\frac{1}{2}\) 视为相同,去掉多余空格和单位。
- 精确匹配判定规范化后两边相等记 1 分,否则记 0 分;所有题目的得分求和再除以总数,就是准确率。
评测应用:什么考试用在哪
教导主任会按场合发卷子:例行晨测用简单卷,看看大家状态是否稳定;奥赛选拔用竞赛卷,挑出真正的好苗子。评测基准的应用逻辑同样如此,GSM8K 与 MATH 各自主导着不同的评测场景。
GSM8K 适合基础能力体检:评估模型的多步算术是否可靠,比较不同基座模型的基础水平,或者在每次训练迭代后做回归测试——分数掉两个百分点就要警惕。MATH 适合高阶能力选拔:检验模型能否处理需要策略选择的复杂推理,它也是思维链(Chain-of-Thought)、自洽性(Self-Consistency)等推理增强方法最常用的验证场。
为什么验证方法要用 MATH?因为在简单卷子上大家几乎都满分,方法增益会被“天花板效应”吞掉;只有难度足够的卷子才能看出方法差异。衡量方法收益的公式是:
一句话总结:体检找 GSM8K,选拔找 MATH,验证推理方法找 MATH,日常盯梢找 GSM8K。
- 新方法准确率 \(\text{Acc}_{\text{new}}\)使用目标方法(如思维链提示)后,模型在测试集上的得分。
- 基线准确率 \(\text{Acc}_{\text{baseline}}\)不使用该方法(如直接让模型作答)时的得分。
- 差值 \(\Delta_{\text{method}}\)衡量方法带来的真实增益。在 GSM8K 上这个差值往往只有几个点,在 MATH 上则常常能拉开十几个点。
能力边界:模型在哪一题“卡壳”
每次考完,教导主任都会翻“错题本”:看看大家都在哪类题目上翻车,就知道学生的能力边界画在哪里。两份卷子共同揭示了大模型数学推理的典型失败模式与突破路径。
在 GSM8K 上,模型的错误大多是“计算型”的——推理方向没错,但某一步加减乘除算错,或者漏掉了题目里的一个条件。在 MATH 上,错误升级为“思路型”的——选了错误的解题方向,或者无法把多个技巧组合起来。另一个关键发现是记忆与推理的区分:GSM8K 的题目在互联网上有大量变体,模型可能“背过”相似题;MATH 的竞赛题多为全新构造,更难靠记忆得分,因此更能反映真实推理。
突破路径通常有四条:思维链把推理过程显式写出来;自洽性用多数投票抵消单条链的随机失误;外接计算器与符号引擎处理繁琐运算;以及扩大模型规模提升策略搜索能力。自洽性的核心公式如下:
错题本告诉我们:现在的模型缺的不是算力,而是“策略感”——面对没见过的新题,知道该往哪个方向钻。
- 采样次数 \(K\)对同一道题采样 \(K\) 条不同的推理链,每条链会因为解码随机性而略有差异。
- 单条链答案 \(a_k\)第 \(k\) 条推理链最终给出的答案。
- 计数函数 \(\mathbb{1}\)当 \(a_k = a\) 时为 1,否则为 0,用来统计答案 \(a\) 获得了多少条链的支持。
- 取票数最多者 \(\arg\max\)在所有候选答案中,选出被最多推理链支持的答案作为最终输出,从而降低单条链走错方向的风险。
设计启示:如何出一套更好的“考卷”
分析了这么多,教导主任最大的收获是:两份卷子各有短板,下一代考卷该怎么出?从 GSM8K 与 MATH 的得失中,可以提炼出评测基准设计的四条方法论。
第一,难度分层:像 MATH 那样给出 1 到 5 级难度和主题标签,得分才能被拆解成“哪类题、哪种难度不行”。第二,防数据泄漏:题目要尽量新、尽量符号化,甚至采用私有集或动态生成,避免模型“背答案”。第三,自动化评分:答案规范化加精确匹配,保证评测可复现、可扩展。第四,错误诊断:除了总分,还要按错误类型(计算错、思路错、格式错)分解,让工程师知道该优化哪里。
衡量一道新题是否“够新鲜”的指标叫新颖度:
一份好的考卷,应当让你既看得见总分,也看得见每个学生思维的“X 光片”——这正是 GSM8K 与 MATH 留给评测设计最重要的遗产。
- 已知题目集合 \(D_{\text{known}}\)互联网上可能被模型见过的题目集合,代表“背题”的潜在来源。
- 相似度 \(\text{Sim}(q, q')\)新题 \(q\) 与已知题 \(q'\) 的相似程度,可用编辑距离或语义向量夹角衡量。
- 取最大相似度 \(\max\)找到新题与已知语料中最像的那道题的相似度,代表泄漏风险的上限。
- 新颖度 \(\text{Novelty}\)用 1 减去最大相似度,值越接近 1,说明题目越新鲜、越难被背题。
AI 应用场景
大模型选型与采购评估
阶段:模型评测与选型
解决的问题:采购大模型时,官方宣传分数往往只报“综合能力”,难以判断哪个模型真正适合做数学解题类产品。传统方式是逐个试跑,成本高且标准不一。
具体案例:某教育科技公司想为 AI 家教产品选基座模型。评估团队先用 GSM8K 测试集做基础体检,过滤掉连小学应用题都算不对的模型;再用 MATH 配合思维链提示对比前两名。结果发现某模型 GSM8K 分数高 3 个点,但 MATH 低了 12 个点——最终选择了 MATH 更高但 GSM8K 略低的模型,因为它面对复杂题更有“策略感”。
推理增强方法的实验验证
阶段:模型优化与实验
解决的问题:是否要上线思维链、自洽性等推理增强方法?传统方式是拍脑袋决定,上线后收益无法量化。用 MATH 这类高难度基准做前后对比,才能看到真实增益。
具体案例:某大模型团队的推理优化专项,在 MATH 测试集上对比三种方案:基础提示、思维链、思维链加自洽性。结果显示基础提示仅 35\%,思维链提到 46\%,加上自洽性后达到 52\%。团队据此决定上线自洽性方案,并在 GSM8K 上确认基础能力没有回退。
数学助教产品的回归测试
阶段:质量保障与监控
解决的问题:数学解题类产品每次迭代都可能引入推理回归,传统人工抽查覆盖不全、漏报率高。用标准化基准做自动化回归测试,能在发布前拦住问题。
具体案例:某数学助教产品在每次发版前,自动在 GSM8K 的 1319 道测试题上跑一遍“批改”流程。某次微调后准确率从 86\% 掉到 79\%,流水线自动拦截并回滚,避免了线上事故。团队还定期用 MATH 抽样监测高阶能力,防止模型“只会简单题”。
Python 演示
import re def solve_gsm8k(text, answer): # 用简单启发式解小学应用题: 识别加减乘模式 nums = [int(n) for n in re.findall(r"\d+", text)] if not nums: return None if "每" in text and "买" in text and len(nums) >= 2: return nums[0] * nums[1] if "剩" in text and len(nums) >= 2: return nums[0] - nums[1] if "一共" in text or "总共" in text: return sum(nums) return None def solve_math(text, answer): # 用正则解一元一次方程: 形如 ax + b = c m = re.search(r"(\d+)\s*x\s*\+\s*(\d+)\s*=\s*(\d+)", text) if m: a, b, c = int(m.group(1)), int(m.group(2)), int(m.group(3)) if (c - b) % a == 0: return (c - b) // a return None def evaluate(dataset, solver): # 按精确匹配计算准确率, 对应基准的自动判分逻辑 correct = 0 for item in dataset: pred = solver(item["q"], item["a"]) if pred == item["a"]: correct += 1 return correct / len(dataset) def main(): gsm8k_sample = [ {"q": "小明有3个苹果, 妈妈又给5个, 一共几个?", "a": 8}, {"q": "每盒6支铅笔, 买4盒, 共几支?", "a": 24}, {"q": "车上原有10人, 下车3人, 还剩几人?", "a": 7}, ] math_sample = [ {"q": "解方程 2x+3=11, 求x", "a": 4}, {"q": "x^2=49, x>0, 求x", "a": 7}, ] acc_g = evaluate(gsm8k_sample, solve_gsm8k) acc_m = evaluate(math_sample, solve_math) print("GSM8K style accuracy: {:.0%}".format(acc_g)) print("MATH style accuracy: {:.0%}".format(acc_m)) print("Difficulty gap: {:.0%}".format(acc_g - acc_m)) if __name__ == "__main__": main()
nums = [int(n) for n in re.findall(r"\d+", text)]把题面里的所有数字提取出来,相当于人读题时圈出关键数字。if "每" in text and "买" in text and len(nums) >= 2:识别“每盒几支、买几盒”这类乘法模式。if "剩" in text and len(nums) >= 2:识别“还剩几人”这类减法模式。m = re.search(r"(\d+)\s*x\s*\+\s*(\d+)\s*=\s*(\d+)", text)用正则匹配一元一次方程的结构,对应 MATH 题的抽象符号输入。return (c - b) // a移项后求解方程,对应“多步推理”中的一步核心运算。def evaluate(dataset, solver):把评测流程抽象成“数据集 + 解题器”两个输入,模拟真实基准的评测框架。if pred == item["a"]:最终答案精确匹配判分,正是两套基准自动批改的核心逻辑。print("Difficulty gap: {:.0%}".format(acc_g - acc_m))输出两个基准上的准确率落差,量化难度差异。
常见误区
误区模型在 GSM8K 上考了 90\%,数学推理能力肯定没问题了,可以直接上线当数学助教。
正解GSM8K 只是小学应用题,步骤短、答案单一,模型可能靠背题或局部模式匹配拿到高分。要判断“真会思考”,必须同时看 MATH 这类防泄漏强、需要策略选择的竞赛题。就像学生小测次次满分,不代表能拿奥赛奖——分数要分场景解读。
为何常见:GSM8K 数字直观,“90 分”给人强烈的“会算”错觉,而且很多公开榜单把 GSM8K 放在最显眼的位置。
误区两个基准没什么本质差别,MATH 就是题目更长、步骤更多的 GSM8K,多练练就能考好。
正解两者考查维度不同。GSM8K 考“按部就班执行运算”,路径基本线性;MATH 考“选择正确解题策略并严谨推导”,路径分叉、需要试错。前者更像可靠的“计算器”,后者更像真正的“解题者”。提升 GSM8K 分数靠多步计算能力,提升 MATH 分数靠策略选择能力。
为何常见:两者都叫“数学推理基准”,都看最终答案准确率,表面高度相似,只有亲手做题才会感受到策略分叉的差异。
误区GSM8K 和 MATH 都是公开数据集,肯定被灌进训练数据了,评测结果没有参考价值。
正解两者的泄漏风险并不相同。GSM8K 的小学应用题在互联网上有大量相似变体,污染风险确实更高;MATH 的竞赛题多为全新构造、符号化程度高,重复概率低得多。评测时要看基准的防泄漏设计,必要时加测私有新题,不能一刀切地否定所有公开基准。
为何常见:近期“数据污染”话题很热,大家容易把“公开基准”和“不可信”直接画等号,忽略了不同基准的题目新颖度差异。
误区只看答案不看过程,模型蒙对也算对,这种评分没有说服力,应该像人类老师一样按步骤给分。
正解精确匹配加答案规范化确实牺牲了过程信息,但它换来了可复现、可扩展、低成本。GSM8K 答案唯一,匹配非常可靠;MATH 用 LaTeX 花括号约束输出并做等价规范化,误判率很低。若需要过程信息,可以在基准之外另做错误类型标注,而不是放弃自动评分。
为何常见:人类老师天然关注解题过程,人们容易把“教育直觉”代入自动评测设计,忽略了大规模评测对自动化的硬性需求。
面试题
Q1. GSM8K 基准的题目主要属于哪种水平?
- A.小学应用题水平← 正确答案
- B.高中数学竞赛水平
- C.大学微积分水平
- D.研究生数学水平
答案:A。GSM8K 是“小学数学应用题”的代名词,题面都是购物、人数等生活场景。选项 B 对应 MATH,C 和 D 则远超两个基准的范围。
Q2. MATH 基准的题目总量约为多少?
- A.约五千道竞赛题
- B.约八千五百道题
- C.约一万二千五百道← 正确答案
- D.约两万道竞赛题
答案:C。MATH 共约 12500 道竞赛题。约 8500 道是 GSM8K 的规模,5000 是 MATH 的测试集规模,容易混淆。
Q3. 在 MATH 基准中,每道题标注的难度等级范围是?
- A.一至三级难度
- B.一至五级难度← 正确答案
- C.一至十级难度
- D.只分难易两档
答案:B。MATH 每道题标注 1 到 5 级难度,帮助研究者按难度拆解模型能力。三级和十级的说法在主流数学基准中都不存在。
Q4. 关于两个基准的评分方式,下列说法正确的是?
- A.都按步骤给过程分
- B.都只看最终答案匹配← 正确答案
- C.都用人工逐题批改
- D.都要求写明证明过程
答案:B。两者都采用“抽取最终答案、规范化后精确匹配”的自动评分。过程分是人类的批改方式,人工逐题批改无法支撑大规模评测。
Q5. 下列哪些是 MATH 相对 GSM8K 的特点?
- A.题目符号化程度更高← 正确答案
- B.更依赖策略选择能力← 正确答案
- C.题目更贴近生活场景
- D.重复题泄漏风险更低← 正确答案
答案:ABD。MATH 题干高度符号化、需要策略选择、竞赛题多为全新构造所以泄漏风险低。贴近生活场景是 GSM8K 的特点,故选 C 错误。
Q6. 用基准评测模型时,准确率的定义是?
- A.答对题数除以总题数← 正确答案
- B.总题数除以答对题数
- C.答错题数乘以总题数
- D.答对题数乘以总题数
答案:A。准确率 = 答对题数 ÷ 总题数 × 100\%,是评测报告中最核心的统一标尺。其余选项把除法写反或换成乘法,都不符合定义。
Q7. 模型在 GSM8K 上高分但在 MATH 上低分,最可能说明什么?
- A.模型只会机械记忆答案
- B.模型缺乏复杂策略推理← 正确答案
- C.模型不擅长加减乘除
- D.评分系统出现严重故障
答案:B。GSM8K 高分说明基础多步计算没问题,MATH 低分说明模型在面对需要策略选择的竞赛题时能力不足。机械记忆是对 GSM8K 高分的可能解释,但与 MATH 低分没有直接因果关系。
Q8. 设计新的数学推理评测基准时,应考虑哪些原则?
- A.难度分层便于诊断← 正确答案
- B.设计防泄漏的全新题目← 正确答案
- C.采用自动化答案评分← 正确答案
- D.把所有题目公开共享
答案:ABC。难度分层支持错误诊断,新题防背题,自动化评分保证可扩展性。公开共享本身不是原则,反而可能增加数据泄漏风险。
Q9. 自洽性(Self-Consistency)方法提升 MATH 得分的原理是?
- A.多次采样推理链投票← 正确答案
- B.把题目标签翻译成中文
- C.用更大字体显示题目
- D.限制模型输出更长结果
答案:A。自洽性对同一道题多次采样推理链,再对最终答案做多数投票,降低单条链走错方向的概率。翻译、改字体、限制输出都与推理质量的提升机制无关。
Q10. 关于 GSM8K 与 MATH 的使用场景,说法正确的有?
- A.GSM8K 适合基础水平体检← 正确答案
- B.MATH 适合高阶推理选拔← 正确答案
- C.两者都不可用于训练监控
- D.GSM8K 常用于回归测试← 正确答案
答案:ABD。GSM8K 场景轻量,适合日常体检和训练回归测试;MATH 难度高,适合选拔和验证推理方法。两者都可以用于监控,“都不可用”的说法错误。