林老师是镇上培训机构的教研组长。学期结束,各班老师纷纷报喜:“我们班平均分90!”“我们班95!”林老师翻了个白眼——题都不一样,分数怎么比?于是他牵头做了一件大事:编制一份全镇统一的“标准卷”,题目固定、答案明确、阅卷标准统一,谁来都做同一份卷子。这份标准卷,就是AI世界里的GSM8K。光有卷子还不够,还得有一条“人类参考线”——往届状元的平均分88分。每隔半年,各路AI“考生”进场答题,林老师拿着分数榜,看谁超过了状元,还差在哪类题型上。这篇文章,就是林老师的一整套“如何用标准卷对比AI与人类数学能力”的方法论:从基准定位、人类基线、评测方法、模型成绩,到差距分析和评测启示。
学会用GSM8K等标准基准与人类基线对比模型能力,是每一位LLM评测工程师的必修课——它能帮你科学判断模型“到底行了没有、还差在哪”,为研发决策提供关键评测信号。
目录
可视化演示
交互展示GSM8K数学推理评测中模型与人类基准的准确率趋势、难度分级表现和推理步数分析,揭示LLM数学能力的演进与差距。
本节配有交互动效(进入视口后自动加载,约 3KB)。
准确率趋势对比 模型准确率从14.8%攀升至92.0% 人类基准稳定在~95% gap = human_acc - model_acc 三年间模型与人类差距从80%缩小至3%
基准定位:一份全镇统一的标准卷
林老师深知,没有统一卷,“90分”和“95分”就是各说各话。编标准卷有原则:题目要覆盖常见考点、难度要有梯度、每道题必须只有一个确定答案。AI界的“标准卷”GSM8K 就是这样诞生的。
GSM8K 来自 OpenAI 于 2021 年发布的论文,全称 Grade School Math 8K,直译就是“8000 道小学数学应用题”。它包含 8500 道小学程度的数学应用题,其中测试集有 1319 道题用于公开评测,训练集有 7473 道题。每个题目都是一段小故事,问一个需要算术推理才能回答的问题。
GSM8K 的三个“卷面特点”让它成为数学推理的评测标杆。第一,题目是故事化的应用题,需要 2 到 8 步推理,不是背公式就能答;第二,答案唯一,程序能自动判卷,不需要人工阅卷;第三,难度范围广,从简单加减到多步复合运算,能拉开考生差距。正是这三点,让它在后续几年成为 LLM 数学推理能力的“标配考场”。
有了标准卷,还要有统一的计分方式。准确率就是林老师写在分数榜最上面的一栏——它不关心你用了多高级的解法,只看最终答案对不对。简单、公平、可复现,这才是一份好考卷的底气。
- $N_{\text{total}}$(总题数)评测使用的题目总数,例如 GSM8K 测试集中的 1319 道题。
- $N_{\text{correct}}$(答对题数)模型输出与标准答案完全一致的题目数量。
- 比值与百分化答对题数除以总题数再乘以 100,得到百分制准确率,方便与人类基线 88% 直接放在同一把尺子上比较。
人类基线:往届状元的平均分
光有标准卷还不够。林老师把卷子发下去,让五百名应届毕业生作答,统计出平均分 88 分。这条“往届状元平均线”,就是今后所有 AI 考生在数学推理上的起评参考。
在 GSM8K 论文中,OpenAI 做了同样的事:招募一批人类作答者完成题目,统计出人类基线的准确率约为 88%。注意,这不是 100%——人类做小学应用题也会因为粗心和“文字陷阱”失分。88% 代表的是“一个正常受教育成年人的平均数学推理水平”。
人类基线的价值在于“参照系”:它把抽象的能力评估变成了“跟人比”的直觉判断。模型准确率低于 88%,说明数学推理尚未达到人类平均水平;接近 88%,说明有资格和常人比划比划;超过 88%,则提示在小学数学推理这个维度上,模型已经进入“人类之上的区间”。
有了基线,就能定义“差距”。模型的准确率减去人类基线,正数代表超越,负数代表落后:
林老师把这条 88 分线用绿色荧光笔在分数榜上画了一道粗线。此后每次考试,他只看两件事:谁在线上、谁在线下、离了多远。人类基线,就是 AI 评测世界里那条画在分数榜上的荧光笔线。
- $\text{Acc}_{\text{model}}$(模型准确率)模型在相同题目集上、相同规则下的实测准确率。
- 相减运算模型分数减去人类基线,得到带符号的差值,例如 $92\% - 88\% = 4\%$。
- 百分点的解读差值以“百分点”为单位讨论——超过 0 说明强于人类平均,低于 0 说明尚未达到人类水平。
评测方法:统一的答题规则与阅卷标准
拿到标准卷,还得定规则。同一道题,直接让 AI 猜答案,和先给它看两个示范再让它答,结果差别很大。林老师的要求是:所有考生必须按统一的答题套路来,否则成绩没法排。
评测 LLM 的正规做法里,最核心的是“思维链”(Chain-of-Thought,缩写 CoT)提示:不给模型直接输出答案的机会,而是要求它先把解题步骤一步步写出来,最后再给出答案。常见配置是“8 个示范的少样本提示”——先给模型看 8 道带完整步骤的例题,再让它解新题。这个技巧在 GSM8K 上效果显著,把原本只能答对两三成的模型,直接拉高到五成以上。
在此基础上,研究者又发明了“自洽性”(self-consistency):同一道题让模型“多答几遍”——用相同的提示采样 $k$ 次,得到 $k$ 个答案,然后统计哪个答案出现次数最多,把它作为最终答案。这就像全班投票:多数人的答案胜出。偶发的计算错误被“投票机制”稀释掉,准确率又上了一截。
规则定死了,分数才有可比性。就像林老师规定所有考生“必须写过程、统一用黑色签字笔”,评测社区也约定:报 GSM8K 分数时,必须注明用了什么提示方式、采样多少次。否则,不同规则下的分数就像不同考卷下的 90 分,没有可比性。
- $k$ 次采样对同一道题 $x$,用相同提示让模型采样 $k$ 次,得到 $k$ 个候选答案 $f_\theta(x)_1$ 到 $f_\theta(x)_k$。
- 指示函数计数对每个候选答案 $y$,统计它在 $k$ 次采样中出现的次数。
- $\arg\max$ 取众数选择出现次数最多的答案作为最终输出——“少数服从多数”。
模型成绩:分数榜上的座次
标准卷定好了,规则统一了,接下来就是看成绩单。林老师把历届 AI 考生的分数按时间排列,发现一条清晰的进步轨迹。
2020 年的 GPT-3 在 GSM8K 上只有约 17% 的准确率,基本是“乱蒙”水平;2022 年的 LLaMA-2-70B 达到约 57%,能答对一半多;GPT-3.5 约 72%;Google 的 PaLM 2 达到约 81%,逼近人类基线;而 2023 年的 GPT-4 一举拿到约 92%,比人类基线高出 4 个百分点。需要说明的是,具体数值会随版本与提示方式不同略有浮动。
这张分数榜透露了两个关键信息。一是“进步加速度”:从低于五成到追平人类,只用了两三年。二是“榜尾与榜首的鸿沟”:开源模型 LLaMA-2 与最先进模型之间的差距仍然很大,说明数学推理能力还没有被“普惠”到所有模型。
但林老师从不只看总分。成绩单下发后,他会连夜加班,把每个学生的失分题按难度和题型重新分类——因为“分数接近状元”和“能力接近状元”是两回事。这正是下一节要讲的差距分析。
- 分子(差值)模型准确率减去人类基线,得到超出或落后的百分点数。对 GPT-4:$92 - 88 = 4$。
- 分母(基线)除以人类基线 88%,把绝对差值转成相对比例,消除不同基线尺度的影响。
- 百分化乘以 100% 得到超额比例。GPT-4 约为 4.5%——领先不多,但方向已经反转。
差距分析:失分在哪些类型的题上
总分一样,含金量可能完全不同。林老师有两个学生都考了 85 分:一个难题全对、简单题粗心错;一个简单题全对、难题全空。前者下次能冲刺 90 分以上,后者可能已经到了天花板。所以,他一定要做分层分析。
对模型也是同样的道理。评测时把 GSM8K 的题目按难度分层:简单题(1—2 步推理)、中档题(3—4 步)、难题(5 步以上)。再按题型分类:加减乘除、比例、分数、单位换算等。然后分别统计模型和人类在每一层上的准确率。
实证结果很有规律:在简单题和常规应用题上,GPT-4 这类模型已经与人类打平甚至略高;但越到难题,模型掉分越快——尤其是需要“多步推理串联”和设置“反常识陷阱”的题目,模型更容易出现步骤断裂或计算错误。更关键的是错误模式:人类的错误多来自粗心,而模型的错误往往具有系统性——同样类型的题,它会稳定地错在同一个地方。
有了分层数据,林老师终于能回答“差在哪”:不是全面落后,而是“简单题守得住,难题守不住”。这个结论对训练方向的意义完全不同——如果整体落后,你可能要换模型;如果只是难题失守,你可以针对性地做“多步推理”专项强化。差距分析,就是把一份分数变成一张行动地图。
- 分组集合 $D$把题目按难度或题型分成若干个组,例如 $D = \{\text{简单}, \text{中档}, \text{难题}\}$。
- 组内差距对第 $d$ 组,计算模型准确率与人类准确率的差值。
- 加权求和用 $w_d$(该组题数占总题数的比例)作为权重,把所有组内差距加起来,得到整体加权差距。
评测启示:分数之外的冷静思考
榜单贴出来那天,校长很高兴:“GPT-4 都超过状元了,以后数学老师可以放假了!”林老师赶紧泼冷水:超过一条基准线,不等于全面超越人类。这份卷子只考了小学应用题,考不了微积分,也考不了发现新定理。
GSM8K 高分反映的是“数值计算 + 多步算术推理”这个具体维度的能力信号,它是个很强的信号,但不是全部。首先,模型可能在训练时见过大量相似题目,存在数据污染风险,分数有被“刷高”的可能;其次,分数对提示方式高度敏感,换一种问法可能掉好几个点;最后,单一基准评测天然有“偏科”风险——就像只考数学,不能说明语文也好。
所以专业的评测工程师会把 GSM8K 放在一组“能力标尺”里使用:搭配 MATH(竞赛级难题)、MMLU(综合知识)、代码评测等,多把尺子一起量。在解读"92% vs 88%"时,还要看统计显著性:分数差距在置信区间内是否依然成立。
林老师把这套方法沉淀成了机构的规章制度:每次考试之后,出一份“成绩诊断报告”——总分、与基线差距、分层失分点、置信区间。这份报告,就是 AI 领域的“模型能力体检单”。标准卷 + 人类基线 + 统一规则 + 分层分析 + 谨慎解读,这就是用 GSM8K 对比模型与人类表现的完整方法论。
- $\hat{p}$(观测准确率)模型在测试集上的实测准确率,例如 92%。
- 标准误$\sqrt{\hat{p}(1 - \hat{p})/n}$ 是比例估计的标准误差,$n$ 是测试题数,反映分数本身的抖动范围。
- 置信区间取 95% 置信水平时 $z_{\alpha/2} = 1.96$,得到准确率的波动区间。
AI 应用场景
智能教育平台的AI助教选型
阶段:模型评测与选型
解决的问题:某在线教育公司要给百万学生配一个“数学解题助教”,候选模型一堆,宣传分数五花八门。用 GSM8K 式标准题库加人类教师基线对比,在同一规则下测出各模型的真实数学推理水平,避免被“刷出来的榜分”误导。
具体案例:教研团队把 100 道与 GSM8K 同风格的应用题作为“标准卷”,让三位候选模型分别作答,同时邀请 10 位数优教师作答得到人类基线。结果显示:模型 A 总分最高但难题失分严重;模型 B 总分略低但在比例题上接近人类。最终公司根据学生提问分布,选择“难题更稳”的模型 B 作为主引擎,模型 A 承担简单题快答通道。
大模型发布前的能力体检
阶段:模型发布与质量保障(SFT/RLHF 后的评测关卡)
解决的问题:训练一个新模型动辄千万成本,发布前必须确认“数学推理能力是否达标”。传统人工抽查几十道题,样本小、主观性强;用 GSM8K 等标准基准与人类基线自动对比,能形成可量化、可归档的发布门槛。
具体案例:某团队训练了一个数学增强模型,在 GSM8K 测试集上得到 91.5% 的准确率,人类基线为 88%。进一步按难度分层发现,5 步以上难题准确率只有 62%,远低于人类的 74%,于是决定推迟发布,针对“多步推理”做了一轮 SFT 数据增强后才上线。
数学辅导产品的短板归因运营
阶段:模型能力分析与产品迭代
解决的问题:产品上线后收到大量用户投诉“讲解答非所问”,但不知道瓶颈在模型还是提示词。借鉴 GSM8K 的题型分层分析方法,把用户真实题目按“题型—难度”矩阵打标,定位模型薄弱区域,指导提示词工程和课程内容设计。
具体案例:一款拍照搜题 App 发现模型在“分数应用题”上准确率仅 55%,而“行程问题”达 90%。运营团队据此调整题目分发策略——分数类题目优先走人工答疑通道,同时训练集补充 5000 道分数应用题,两个月后该题型准确率提升到 78%。
Python 演示
"""GSM8K 模型 vs 人类表现对比分析演示用迷你题目集模拟模型评测, 计算总体准确率与分层差距"""import random MINI_GSM8K = [ ("小明有5个苹果, 又买了3个, 一共几个苹果?", "8", "easy"), ("一支圆珠笔3元, 买4支共要多少钱?", "12", "easy"), ("每盒糖有6颗, 3盒一共有几颗糖?", "18", "easy"), ("操场跑道一圈400米, 跑2圈共多少米?", "800", "easy"), ("图书馆有120本书, 借出45本, 还剩几本?", "75", "mid"), ("甲车每小时行60千米, 行驶3.5小时共行多少千米?", "210", "mid"), ("一件衣服原价250元, 打8折后卖多少元?", "200", "mid"), ("全班40人, 女生占45%, 女生有多少人?", "18", "mid"), ("5个工人8天完成工程, 4个工人需要几天?", "10", "hard"), ("年利率5%, 本金2000元存2年单利, 利息多少元?", "200", "hard"), ("甲和乙的和为50, 甲是乙的4倍, 乙是多少?", "10", "hard"), ("三个连续奇数的和是51, 中间那个数是多少?", "17", "hard"),] class ModelEval: """模拟一个模型: 按难度给定真实准确率, evaluate 时用随机数模拟作答""" def __init__(self, name, acc_by_difficulty, seed): self.name = name self.acc_by_difficulty = acc_by_difficulty self.rng = random.Random(seed) def evaluate(self, dataset): results = [] for question, answer, diff in dataset: threshold = self.acc_by_difficulty.get(diff, 0.5) correct = self.rng.random() < threshold results.append((question, answer, diff, correct)) return results def accuracy_by_difficulty(results): """按难度统计准确率, 返回 {难度: 准确率}""" stats = {} for _, _, diff, correct in results: bucket = stats.setdefault(diff, [0, 0]) bucket[1] += 1 if correct: bucket[0] += 1 return {diff: stats[diff][0] / stats[diff][1] for diff in stats} def main(): models = [ ModelEval("GPT-3", {"easy": 0.5, "mid": 0.25, "hard": 0.1}, seed=1), ModelEval("GPT-3.5", {"easy": 0.85, "mid": 0.60, "hard": 0.35}, seed=2), ModelEval("GPT-4", {"easy": 1.0, "mid": 0.95, "hard": 0.85}, seed=3), ] HUMAN_ACC = 0.88 print("=" * 50) print("模型 总准确率 与人类差距 分层准确率(easy/mid/hard)") print("-" * 50) for model in models: results = model.evaluate(MINI_GSM8K) total_acc = sum(1 for *_, correct in results) / len(results) gap = total_acc - HUMAN_ACC stats = accuracy_by_difficulty(results) detail = "/".join(f"{stats[d] * 100:.0f}%" for d in ("easy", "mid", "hard")) print(f"{model.name:<8}{total_acc * 100:>7.1f}%{gap * 100:>+9.1f}% {detail}") print("-" * 50) print(f"{'人类基线':<8}{HUMAN_ACC * 100:>7.1f}%{'0.0':>9}% --/--/--") print("\n结论: 对比人类基线, 才能判断模型数学推理所处的位置;") print("按难度分层, 才能定位模型的具体短板。") if __name__ == "__main__": main()
class ModelEval:定义一个模拟模型的类,每个模型按难度给定“真实能力”(答对概率),再通过随机数模拟作答过程。self.rng = random.Random(seed)用固定随机种子保证结果可复现,这是评测工作的基本素养。correct = self.rng.random() < threshold模拟一次作答:随机数小于阈值就答对,阈值越高代表模型能力越强。bucket = stats.setdefault(diff, [0, 0])按难度聚拢答对数和总题数,实现分层统计的累加器。gap = total_acc - HUMAN_ACC计算模型与人类基线 88% 的差距,正数代表超越、负数代表落后。detail = "/".join(f"{stats[d] * 100:.0f}%" for d in ("easy", "mid", "hard"))把三个难度的准确率拼接成一行,直观展示分层表现。if __name__ == "__main__": main()标准的可执行入口,让脚本既能被导入也能直接运行。
常见误区
误区看到 GPT-4 在 GSM8K 上 92%、人类只有 88%,就认定“AI 数学能力已经全面超过人类了”,甚至觉得数学老师要失业了。
正解GSM8K 只覆盖小学数学应用题这一个“考点”,考不了高等数学、几何证明和新知识发现。“超过基线”只说明在这个特定维度的能力信号上领先。就像林老师说的:一份小学卷的状元,不代表能教大学高数。全面超越需要跨基准、跨难度、跨领域的综合证据。
为何常见:人天生喜欢简单结论,一个“人类 vs AI”的数字对比足够有冲击力,容易让人忽略基准本身的覆盖范围有限。
误区模型在 GSM8K 上考了高分,就认为它像人一样理解加减乘除背后的意义,具备真正的数学思维。
正解高分主要说明模型学会了“模式识别 + 步骤模仿”:它在海量类似题目中学到了解题套路。换一个从未见过的题型,或者把数字乱序、条件翻转,分数可能断崖式下跌。这不是“理解”,更像“熟练套公式的学生”——会做题,但不懂原理。
为何常见:人类把“考试高分”与“理解深刻”强关联,容易把同样的心理投射到模型身上,忽略了机器学习本质上是统计模式匹配。
误区把 88% 当作权威钦定的常数,认为所有对比都要以它为绝对真理,甚至质疑“论文说人 88%,你测出来怎么才 80%”。
正解88% 是在特定条件下测得的:特定题目批次、特定作答人群(众包工作者/毕业生)、特定答题环境。换一批人、换一种作答方式,基线就会浮动。正确用法是把它当作“接近普通人类水平”的参考参照线,而不是法定标准。
为何常见:评测数字看起来精确,人们容易把“论文里报的值”等同于“客观真实值”,忘记了所有测量都有条件和误差。
误区觉得同一个模型报出来的 GSM8K 分数就应该是固定的,看到不同文章里 GPT-3.5 有 57% 也有 72%,怀疑是不是数据造假。
正解GSM8K 分数对提示方式高度敏感:零样本、少样本、思维链、自洽性投票都会带来几个到几十个百分点的差异。行业内比较的前提是“统一规则”——同样的提示、同样的采样次数、同样的评分标准。就像林老师规定的“统一用黑色签字笔、必须写过程”,否则分数不可比。
为何常见:外行习惯把“模型”当成一个确定不变的对象,没意识到“模型 + 提示 + 采样”才是一个完整的评测配置,任何一个环节变化都会改变分数。
面试题
Q1. GSM8K 数据集大约包含多少道小学数学应用题?
- A.大约850道题
- B.大约8500道题← 正确答案
- C.大约85000道题
- D.大约175000道题
答案:B。GSM8K 全称 Grade School Math 8K,共 8500 道题,"8K"指的就是八千的量级。850 太少,85000 和 175000(接近 GPT-3 参数量)都是数字干扰项,考察对数据集规模的基本记忆。
Q2. 原始 GSM8K 论文报告的人类基线准确率大约是多少?
- A.约68%的基础水平
- B.约78%的中等水平
- C.约88%的参考线值← 正确答案
- D.约98%的满分水平
答案:C。论文通过招募人类作答者实测,得到约 88% 的基线。68%、78% 低于实际,98% 又过高——人类做小学应用题也会因粗心和文字陷阱失分,所以 88% 是“正常成人水平”的参考线,不是满分线。
Q3. GPT-4 在 GSM8K 上的报告准确率约为多少,与人类基线相比如何?
- A.约92%,超过了人类基线← 正确答案
- B.约88%,与人类基本持平
- C.约72%,低于人类基线
- D.约57%,低于人类基线
答案:A。GPT-4 技术报告显示其在 GSM8K 上达到约 92%,比人类基线 88% 高出 4 个百分点。88% 恰是人类基线,72% 更接近 GPT-3.5 的水平,57% 接近 LLaMA-2 的水平。92% 是“稳定超过人类基线”的代表性成绩之一。
Q4. 以下哪项最准确地描述了 GSM8K 题目的主要特点?
- A.需要高等数学定理证明的题目
- B.全部为单项选择的客观题型
- C.需要2至8步推理的小学应用题← 正确答案
- D.必须借助外部计算器完成的题
答案:C。GSM8K 的题目是故事化的小学应用题,需要 2 到 8 步算术推理才能得到答案。它不是高数证明题,不是选择题,也不依赖外部计算器——它考察的是模型“文字理解 + 多步算术”的推理链条完整度。
Q5. 以下哪种提示方法被证明能显著提升模型在 GSM8K 上的表现?
- A.随机打乱题目的顺序
- B.缩短模型输入文本的长度
- C.无思路时提高解码温度
- D.思维链CoT提示方法← 正确答案
答案:D。思维链(CoT)通过让模型先写出解题步骤、再给出答案,显著激活了多步推理能力,是 GSM8K 上的关键提示技巧。打乱顺序、缩短输入、调高温度都不是有效的正向手段,甚至可能降低准确率。
Q6. 自洽性(self-consistency)提升 GSM8K 准确率的原理是什么?
- A.取单次解码的最长输出
- B.多次采样并投票取众数← 正确答案
- C.用更大模型重新生成答案
- D.对题目做语言翻译增强
答案:B。自洽性=同一道题用相同提示多次采样,统计各答案出现次数,选频次最高者。原理是“正确推理的答案往往更一致”,多数投票能稀释偶发的计算错误。取最长输出、换大模型、翻译增强都不是它的原理。
Q7. 为什么 GSM8K 特别适合大规模自动化评测?
- A.题目全部来自官方教材
- B.评测过程无需模型推理
- C.任何模型都可以免费使用
- D.答案唯一且可程序化校验← 正确答案
答案:D。GSM8K 每道题只有一个确定的数值答案,程序可以直接比对字符串或数值来判断对错,无需人工阅卷,因此适合大规模低成本自动评测。其余选项与“为什么适合自动化”并不相关。
Q8. 解读“模型 92% 超过人类 88%”这个结论时,需要综合考虑哪些因素?
- A.人类基线来自特定人群← 正确答案
- B.训练数据可能含相似题← 正确答案
- C.分数只反映单次评测← 正确答案
- D.分数可直接跨任务比较
答案:ABC。人类基线由特定作答人群测得,换人群会浮动;模型可能见过相似题目,存在数据污染风险;单次评测存在偶然性,要看置信区间。D 错误——不同基准、不同任务之间的分数没有公共尺度,不能直接跨任务比较。
Q9. 进行模型与人类的差距分析时,常见的分层维度有哪些?
- A.题目难度分层← 正确答案
- B.题型类别差异← 正确答案
- C.模型参数量大小
- D.错误类型归因← 正确答案
答案:ABD。差距分析关注的是“题目和答案”本身的维度:按难度分层看能力边界,按题型分类看偏科,按错误类型归因判断是粗心还是系统性错误。参数量是模型自身的属性,不是差距分析的维度,用它做分析维度的因果链会混乱。
Q10. GSM8K 在 LLM 评测体系中的地位体现在哪些方面?
- A.数学推理评测标杆← 正确答案
- B.广泛用于模型对比← 正确答案
- C.完全取代其他基准
- D.为能力进步提供信号← 正确答案
答案:ABD。GSM8K 已成为数学推理领域的标配基准,被广泛用于各模型的能力对比,其分数随时间的变化也为业界提供了“模型进步速度”的关键信号。“完全取代其他基准”是错误的——它只覆盖小学应用题,必须与 MATH、MMLU 等基准配合使用才能全面评估。