林老师是镇上培训机构的教研组长。学期结束,各班老师纷纷报喜:“我们班平均分90!”“我们班95!”林老师翻了个白眼——题都不一样,分数怎么比?于是他牵头做了一件大事:编制一份全镇统一的“标准卷”,题目固定、答案明确、阅卷标准统一,谁来都做同一份卷子。这份标准卷,就是AI世界里的GSM8K。光有卷子还不够,还得有一条“人类参考线”——往届状元的平均分88分。每隔半年,各路AI“考生”进场答题,林老师拿着分数榜,看谁超过了状元,还差在哪类题型上。这篇文章,就是林老师的一整套“如何用标准卷对比AI与人类数学能力”的方法论:从基准定位、人类基线、评测方法、模型成绩,到差距分析和评测启示。

岗位关联

学会用GSM8K等标准基准与人类基线对比模型能力,是每一位LLM评测工程师的必修课——它能帮你科学判断模型“到底行了没有、还差在哪”,为研发决策提供关键评测信号。

目录
  1. 可视化演示
  2. 基准定位:一份全镇统一的标准卷
  3. 人类基线:往届状元的平均分
  4. 评测方法:统一的答题规则与阅卷标准
  5. 模型成绩:分数榜上的座次
  6. 差距分析:失分在哪些类型的题上
  7. 评测启示:分数之外的冷静思考
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

交互展示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 数学推理能力的“标配考场”。

有了标准卷,还要有统一的计分方式。准确率就是林老师写在分数榜最上面的一栏——它不关心你用了多高级的解法,只看最终答案对不对。简单、公平、可复现,这才是一份好考卷的底气。

Accuracy=NcorrectNtotal×100%\text{Accuracy} = \frac{N_{\text{correct}}}{N_{\text{total}}} \times 100\%
准确率就是“答对的题数占总题数的百分比”,它是所有模型对比的第一把尺子。
  1. $N_{\text{total}}$(总题数)评测使用的题目总数,例如 GSM8K 测试集中的 1319 道题。
    NtotalN_{\text{total}}
  2. $N_{\text{correct}}$(答对题数)模型输出与标准答案完全一致的题目数量。
    NcorrectN_{\text{correct}}
  3. 比值与百分化答对题数除以总题数再乘以 100,得到百分制准确率,方便与人类基线 88% 直接放在同一把尺子上比较。
    NcorrectNtotal×100%\frac{N_{\text{correct}}}{N_{\text{total}}} \times 100\%

人类基线:往届状元的平均分

光有标准卷还不够。林老师把卷子发下去,让五百名应届毕业生作答,统计出平均分 88 分。这条“往届状元平均线”,就是今后所有 AI 考生在数学推理上的起评参考。

在 GSM8K 论文中,OpenAI 做了同样的事:招募一批人类作答者完成题目,统计出人类基线的准确率约为 88%。注意,这不是 100%——人类做小学应用题也会因为粗心和“文字陷阱”失分。88% 代表的是“一个正常受教育成年人的平均数学推理水平”。

人类基线的价值在于“参照系”:它把抽象的能力评估变成了“跟人比”的直觉判断。模型准确率低于 88%,说明数学推理尚未达到人类平均水平;接近 88%,说明有资格和常人比划比划;超过 88%,则提示在小学数学推理这个维度上,模型已经进入“人类之上的区间”。

有了基线,就能定义“差距”。模型的准确率减去人类基线,正数代表超越,负数代表落后:

林老师把这条 88 分线用绿色荧光笔在分数榜上画了一道粗线。此后每次考试,他只看两件事:谁在线上、谁在线下、离了多远。人类基线,就是 AI 评测世界里那条画在分数榜上的荧光笔线。

Acchuman=1n∑i=1n1[y^i=yi]\text{Acc}_{\text{human}} = \frac{1}{n} \sum_{i=1}^{n} \mathbb{1}[\hat{y}_i = y_i]
差距公式就是把模型分数和人类基线放在同一张分数榜上相减,差几个百分点就是“领先或落后几个身位”。
  1. $\text{Acc}_{\text{model}}$(模型准确率)模型在相同题目集上、相同规则下的实测准确率。
    Accmodel\text{Acc}_{\text{model}}
  2. 相减运算模型分数减去人类基线,得到带符号的差值,例如 $92\% - 88\% = 4\%$。
    Accmodel−Acchuman\text{Acc}_{\text{model}} - \text{Acc}_{\text{human}}
  3. 百分点的解读差值以“百分点”为单位讨论——超过 0 说明强于人类平均,低于 0 说明尚未达到人类水平。
    Gap>0超越;Gap<0落后\text{Gap} > 0 \quad \text{超越}; \quad \text{Gap} < 0 \quad \text{落后}

评测方法:统一的答题规则与阅卷标准

拿到标准卷,还得定规则。同一道题,直接让 AI 猜答案,和先给它看两个示范再让它答,结果差别很大。林老师的要求是:所有考生必须按统一的答题套路来,否则成绩没法排。

评测 LLM 的正规做法里,最核心的是“思维链”(Chain-of-Thought,缩写 CoT)提示:不给模型直接输出答案的机会,而是要求它先把解题步骤一步步写出来,最后再给出答案。常见配置是“8 个示范的少样本提示”——先给模型看 8 道带完整步骤的例题,再让它解新题。这个技巧在 GSM8K 上效果显著,把原本只能答对两三成的模型,直接拉高到五成以上。

在此基础上,研究者又发明了“自洽性”(self-consistency):同一道题让模型“多答几遍”——用相同的提示采样 $k$ 次,得到 $k$ 个答案,然后统计哪个答案出现次数最多,把它作为最终答案。这就像全班投票:多数人的答案胜出。偶发的计算错误被“投票机制”稀释掉,准确率又上了一截。

规则定死了,分数才有可比性。就像林老师规定所有考生“必须写过程、统一用黑色签字笔”,评测社区也约定:报 GSM8K 分数时,必须注明用了什么提示方式、采样多少次。否则,不同规则下的分数就像不同考卷下的 90 分,没有可比性。

y^=arg⁡max⁡y∑i=1k1[fθ(x)i=y]\hat{y} = \arg\max_{y} \sum_{i=1}^{k} \mathbb{1}[f_\theta(x)_i = y]
自洽性公式就是“同一道题让模型算 $k$ 次,统计每个答案出现的次数,选出现最多的那个作为最终答案”——少数服从多数。
  1. $k$ 次采样对同一道题 $x$,用相同提示让模型采样 $k$ 次,得到 $k$ 个候选答案 $f_\theta(x)_1$ 到 $f_\theta(x)_k$。
    fθ(x)i,i=1,…,kf_\theta(x)_i, \quad i = 1, \dots, k
  2. 指示函数计数对每个候选答案 $y$,统计它在 $k$ 次采样中出现的次数。
    ∑i=1k1[fθ(x)i=y]\sum_{i=1}^{k} \mathbb{1}[f_\theta(x)_i = y]
  3. $\arg\max$ 取众数选择出现次数最多的答案作为最终输出——“少数服从多数”。
    y^=arg⁡max⁡y∑i=1k1[fθ(x)i=y]\hat{y} = \arg\max_{y} \sum_{i=1}^{k} \mathbb{1}[f_\theta(x)_i = y]

模型成绩:分数榜上的座次

标准卷定好了,规则统一了,接下来就是看成绩单。林老师把历届 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 与最先进模型之间的差距仍然很大,说明数学推理能力还没有被“普惠”到所有模型。

但林老师从不只看总分。成绩单下发后,他会连夜加班,把每个学生的失分题按难度和题型重新分类——因为“分数接近状元”和“能力接近状元”是两回事。这正是下一节要讲的差距分析。

超额比例=Accmodel−AcchumanAcchuman×100%\text{超额比例} = \frac{\text{Acc}_{\text{model}} - \text{Acc}_{\text{human}}}{\text{Acc}_{\text{human}}} \times 100\%
超额比例把“领先人类几个百分点”换算成“相对人类水平超出百分之几”,让不同时代的对比更有意义。
  1. 分子(差值)模型准确率减去人类基线,得到超出或落后的百分点数。对 GPT-4:$92 - 88 = 4$。
    Accmodel−Acchuman\text{Acc}_{\text{model}} - \text{Acc}_{\text{human}}
  2. 分母(基线)除以人类基线 88%,把绝对差值转成相对比例,消除不同基线尺度的影响。
    Accmodel−AcchumanAcchuman\frac{\text{Acc}_{\text{model}} - \text{Acc}_{\text{human}}}{\text{Acc}_{\text{human}}}
  3. 百分化乘以 100% 得到超额比例。GPT-4 约为 4.5%——领先不多,但方向已经反转。
    92%−88%88%×100%≈4.5%\frac{92\% - 88\%}{88\%} \times 100\% \approx 4.5\%

差距分析:失分在哪些类型的题上

总分一样,含金量可能完全不同。林老师有两个学生都考了 85 分:一个难题全对、简单题粗心错;一个简单题全对、难题全空。前者下次能冲刺 90 分以上,后者可能已经到了天花板。所以,他一定要做分层分析。

对模型也是同样的道理。评测时把 GSM8K 的题目按难度分层:简单题(1—2 步推理)、中档题(3—4 步)、难题(5 步以上)。再按题型分类:加减乘除、比例、分数、单位换算等。然后分别统计模型和人类在每一层上的准确率。

实证结果很有规律:在简单题和常规应用题上,GPT-4 这类模型已经与人类打平甚至略高;但越到难题,模型掉分越快——尤其是需要“多步推理串联”和设置“反常识陷阱”的题目,模型更容易出现步骤断裂或计算错误。更关键的是错误模式:人类的错误多来自粗心,而模型的错误往往具有系统性——同样类型的题,它会稳定地错在同一个地方。

有了分层数据,林老师终于能回答“差在哪”:不是全面落后,而是“简单题守得住,难题守不住”。这个结论对训练方向的意义完全不同——如果整体落后,你可能要换模型;如果只是难题失守,你可以针对性地做“多步推理”专项强化。差距分析,就是把一份分数变成一张行动地图。

Gapweighted=∑d∈Dwd(Accdmodel−Accdhuman)\text{Gap}_{\text{weighted}} = \sum_{d \in D} w_d \left( \text{Acc}_d^{\text{model}} - \text{Acc}_d^{\text{human}} \right)
加权差距公式把题目按难度分组,先算每组的模型与人类差距,再按每组题量占比加权汇总,定位差距主要来自哪一层。
  1. 分组集合 $D$把题目按难度或题型分成若干个组,例如 $D = \{\text{简单}, \text{中档}, \text{难题}\}$。
    D={简单,中档,难题}D = \{\text{简单}, \text{中档}, \text{难题}\}
  2. 组内差距对第 $d$ 组,计算模型准确率与人类准确率的差值。
    Accdmodel−Accdhuman\text{Acc}_d^{\text{model}} - \text{Acc}_d^{\text{human}}
  3. 加权求和用 $w_d$(该组题数占总题数的比例)作为权重,把所有组内差距加起来,得到整体加权差距。
    ∑d∈Dwd(Accdmodel−Accdhuman)\sum_{d \in D} w_d \left( \text{Acc}_d^{\text{model}} - \text{Acc}_d^{\text{human}} \right)

评测启示:分数之外的冷静思考

榜单贴出来那天,校长很高兴:“GPT-4 都超过状元了,以后数学老师可以放假了!”林老师赶紧泼冷水:超过一条基准线,不等于全面超越人类。这份卷子只考了小学应用题,考不了微积分,也考不了发现新定理。

GSM8K 高分反映的是“数值计算 + 多步算术推理”这个具体维度的能力信号,它是个很强的信号,但不是全部。首先,模型可能在训练时见过大量相似题目,存在数据污染风险,分数有被“刷高”的可能;其次,分数对提示方式高度敏感,换一种问法可能掉好几个点;最后,单一基准评测天然有“偏科”风险——就像只考数学,不能说明语文也好。

所以专业的评测工程师会把 GSM8K 放在一组“能力标尺”里使用:搭配 MATH(竞赛级难题)、MMLU(综合知识)、代码评测等,多把尺子一起量。在解读"92% vs 88%"时,还要看统计显著性:分数差距在置信区间内是否依然成立。

林老师把这套方法沉淀成了机构的规章制度:每次考试之后,出一份“成绩诊断报告”——总分、与基线差距、分层失分点、置信区间。这份报告,就是 AI 领域的“模型能力体检单”。标准卷 + 人类基线 + 统一规则 + 分层分析 + 谨慎解读,这就是用 GSM8K 对比模型与人类表现的完整方法论。

CI=p^±zα/2p^(1−p^)n\text{CI} = \hat{p} \pm z_{\alpha/2} \sqrt{\frac{\hat{p}(1 - \hat{p})}{n}}
置信区间给准确率画了一个“合理波动范围”:如果整个区间都在人类基线上方,才能更自信地说“超越”不是运气。
  1. $\hat{p}$(观测准确率)模型在测试集上的实测准确率,例如 92%。
    p^=0.92\hat{p} = 0.92
  2. 标准误$\sqrt{\hat{p}(1 - \hat{p})/n}$ 是比例估计的标准误差,$n$ 是测试题数,反映分数本身的抖动范围。
    p^(1−p^)n\sqrt{\frac{\hat{p}(1 - \hat{p})}{n}}
  3. 置信区间取 95% 置信水平时 $z_{\alpha/2} = 1.96$,得到准确率的波动区间。
    p^±1.96p^(1−p^)n\hat{p} \pm 1.96 \sqrt{\frac{\hat{p}(1 - \hat{p})}{n}}

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 演示

python78 行
"""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()
目的:用迷你题目集模拟三个模型在 GSM8K 式应用题上的作答,计算总体准确率、与人类基线的差距,并按难度分层定位短板。
  1. class ModelEval:定义一个模拟模型的类,每个模型按难度给定“真实能力”(答对概率),再通过随机数模拟作答过程。
  2. self.rng = random.Random(seed)用固定随机种子保证结果可复现,这是评测工作的基本素养。
  3. correct = self.rng.random() < threshold模拟一次作答:随机数小于阈值就答对,阈值越高代表模型能力越强。
  4. bucket = stats.setdefault(diff, [0, 0])按难度聚拢答对数和总题数,实现分层统计的累加器。
  5. gap = total_acc - HUMAN_ACC计算模型与人类基线 88% 的差距,正数代表超越、负数代表落后。
  6. detail = "/".join(f"{stats[d] * 100:.0f}%" for d in ("easy", "mid", "hard"))把三个难度的准确率拼接成一行,直观展示分层表现。
  7. 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 数据集大约包含多少道小学数学应用题?

单选题 · easy

  • A.大约850道题
  • B.大约8500道题← 正确答案
  • C.大约85000道题
  • D.大约175000道题

答案:B。GSM8K 全称 Grade School Math 8K,共 8500 道题,"8K"指的就是八千的量级。850 太少,85000 和 175000(接近 GPT-3 参数量)都是数字干扰项,考察对数据集规模的基本记忆。

Q2. 原始 GSM8K 论文报告的人类基线准确率大约是多少?

单选题 · easy

  • A.约68%的基础水平
  • B.约78%的中等水平
  • C.约88%的参考线值← 正确答案
  • D.约98%的满分水平

答案:C。论文通过招募人类作答者实测,得到约 88% 的基线。68%、78% 低于实际,98% 又过高——人类做小学应用题也会因粗心和文字陷阱失分,所以 88% 是“正常成人水平”的参考线,不是满分线。

Q3. GPT-4 在 GSM8K 上的报告准确率约为多少,与人类基线相比如何?

单选题 · easy

  • 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 题目的主要特点?

单选题 · mid

  • A.需要高等数学定理证明的题目
  • B.全部为单项选择的客观题型
  • C.需要2至8步推理的小学应用题← 正确答案
  • D.必须借助外部计算器完成的题

答案:C。GSM8K 的题目是故事化的小学应用题,需要 2 到 8 步算术推理才能得到答案。它不是高数证明题,不是选择题,也不依赖外部计算器——它考察的是模型“文字理解 + 多步算术”的推理链条完整度。

Q5. 以下哪种提示方法被证明能显著提升模型在 GSM8K 上的表现?

单选题 · mid

  • A.随机打乱题目的顺序
  • B.缩短模型输入文本的长度
  • C.无思路时提高解码温度
  • D.思维链CoT提示方法← 正确答案

答案:D。思维链(CoT)通过让模型先写出解题步骤、再给出答案,显著激活了多步推理能力,是 GSM8K 上的关键提示技巧。打乱顺序、缩短输入、调高温度都不是有效的正向手段,甚至可能降低准确率。

Q6. 自洽性(self-consistency)提升 GSM8K 准确率的原理是什么?

单选题 · mid

  • A.取单次解码的最长输出
  • B.多次采样并投票取众数← 正确答案
  • C.用更大模型重新生成答案
  • D.对题目做语言翻译增强

答案:B。自洽性=同一道题用相同提示多次采样,统计各答案出现次数,选频次最高者。原理是“正确推理的答案往往更一致”,多数投票能稀释偶发的计算错误。取最长输出、换大模型、翻译增强都不是它的原理。

Q7. 为什么 GSM8K 特别适合大规模自动化评测?

单选题 · mid

  • A.题目全部来自官方教材
  • B.评测过程无需模型推理
  • C.任何模型都可以免费使用
  • D.答案唯一且可程序化校验← 正确答案

答案:D。GSM8K 每道题只有一个确定的数值答案,程序可以直接比对字符串或数值来判断对错,无需人工阅卷,因此适合大规模低成本自动评测。其余选项与“为什么适合自动化”并不相关。

Q8. 解读“模型 92% 超过人类 88%”这个结论时,需要综合考虑哪些因素?

多选题 · mid

  • A.人类基线来自特定人群← 正确答案
  • B.训练数据可能含相似题← 正确答案
  • C.分数只反映单次评测← 正确答案
  • D.分数可直接跨任务比较

答案:ABC。人类基线由特定作答人群测得,换人群会浮动;模型可能见过相似题目,存在数据污染风险;单次评测存在偶然性,要看置信区间。D 错误——不同基准、不同任务之间的分数没有公共尺度,不能直接跨任务比较。

Q9. 进行模型与人类的差距分析时,常见的分层维度有哪些?

多选题 · hard

  • A.题目难度分层← 正确答案
  • B.题型类别差异← 正确答案
  • C.模型参数量大小
  • D.错误类型归因← 正确答案

答案:ABD。差距分析关注的是“题目和答案”本身的维度:按难度分层看能力边界,按题型分类看偏科,按错误类型归因判断是粗心还是系统性错误。参数量是模型自身的属性,不是差距分析的维度,用它做分析维度的因果链会混乱。

Q10. GSM8K 在 LLM 评测体系中的地位体现在哪些方面?

多选题 · easy

  • A.数学推理评测标杆← 正确答案
  • B.广泛用于模型对比← 正确答案
  • C.完全取代其他基准
  • D.为能力进步提供信号← 正确答案

答案:ABD。GSM8K 已成为数学推理领域的标配基准,被广泛用于各模型的能力对比,其分数随时间的变化也为业界提供了“模型进步速度”的关键信号。“完全取代其他基准”是错误的——它只覆盖小学应用题,必须与 MATH、MMLU 等基准配合使用才能全面评估。