想象你是一名国际登山赛的总裁判。为了检验全世界登山者的真实水平,你选择了一批风格各异、险峻程度不一的岩壁——有的考验耐力,有的考验技巧,有的则只有极少数人能够登顶。你的任务,就是设计一套科学的赛制:选定赛道、标注海拔、记录成绩、判定名次,最后还得分清哪些选手已经触到体力极限,哪些还有潜力可挖。 AI 世界的竞赛数学评测,正是这样一场大型登山赛。竞赛数学题目就是最陡峭的岩壁——它们来自国际数学奥林匹克(IMO)、普特南竞赛等顶级赛事,考验模型的深度推理与证明构造能力。而我们要讲的,就是这套“赛会运营手册”:题目从哪来、难度怎么标、分数怎么算、裁判怎么当、选手(模型)表现如何、极限在哪、又该怎么突破。读完这篇内容,你会对“如何科学评估 AI 的数学能力”建立起完整的直觉。

岗位关联

对 AI 从业者的价值:竞赛数学评测是衡量模型深度推理能力的试金石。掌握其题目组织、难度分级与自动化评分方法,你将能设计出高信度的能力基准,为模型发布与迭代提供可复现的判断依据。

目录
  1. 可视化演示
  2. 1. 题目来源:三座名山
  3. 2. 难度分级:山峰的海拔
  4. 3. 评测指标:一张看得懂的成绩单
  5. 4. 自动化评分:铁面裁判组
  6. 5. 模型表现:登山队成绩单
  7. 6. 能力边界:雪线之上
  8. 7. 突破方向:装备与训练升级
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

展示竞赛数学多步推理评测的推理链与错误传播、ORM vs PRM过程监督对比及难度梯度准确率变化,通过步进切换三个阶段理解评测核心机制。

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

推理链与错误传播 7步推理链,S4处出错导致后续步骤全部受影响 错误传播:单步错误扩散至后续所有步骤 step_acc ≠ final_acc (91% vs 72%) 步骤准确率远高于最终准确率,错误传播是主因

1. 题目来源:三座名山

主办登山赛的第一步,是选定岩壁。如果只挑一座山,测出来的只是单一地形下的能力,无法反映选手的全面素质。竞赛数学评测同样如此,题目来源必须多元:国际数学奥林匹克(IMO)是全世界中学生数学巅峰赛,题目以数论与组合见长;普特南竞赛面向北美大学生,风格更偏向抽象代数与巧妙构造;各国国家级赛事(如中国数学奥林匹克)则提供了大量兼顾技巧与计算量的经典试题。

把这三类赛事想象成风格迥异的山脉——有的岩壁突兀陡峭,有的冰裂缝与碎石坡交织。评测数据集构建时,主办方会按照预设比例从不同赛事中抽题,确保四大板块(数论、代数、组合、几何)都有覆盖,避免模型“偏科”。

假设第 $i$ 类来源的题目数量为 $N_i$,数据集总题数为 $N$,则该来源的占比为:

回到登山赛的比喻:数据集构建就像为比赛规划赛道,把 IMO 的陡峭岩壁、普特南的碎石坡、国家级赛事的冰川路线各取一段拼成完整赛程。这样测出来的成绩,才是对登山者综合能力而非单一地形的评价。评测脚本中,我们常说“题源纯度”——单一题源的数据集会高估模型在某一类推理上的特长,而忽视了其他短板。

pi=NiN\displaystyle p_i = \frac{N_i}{N}
$p_i$ 就是一批题中“来自某座山的岩壁占比”。理想的数据集像一处综合攀岩场,什么地形都有一些。
  1. 分子 $N_i$第 $i$ 类赛事中实际抽取的题目数量。
    Ni=第  i  类赛事的抽样题数\displaystyle N_i = \text{第} \; i \; \text{类赛事的抽样题数}
  2. 分母 $N$整个评测数据集包含的题目总数。
    N=∑i=1mNi\displaystyle N = \sum_{i=1}^{m} N_i
  3. 比例 $p_i$该来源的题目在数据集中的相对权重,$p_i$ 越接近 1,说明数据集越依赖这一座“山”。
    pi=Ni∑j=1mNj\displaystyle p_i = \frac{N_i}{\sum_{j=1}^{m} N_j}

2. 难度分级:山峰的海拔

赛道选定后,主办方要在地图上标出每座峰的海拔。一座山峰究竟算“入门”还是“巅峰”,不能凭主观感觉,得有一套客观衡量标准。竞赛数学评测沿用了国际象棋等竞技领域的 Elo 评级系统:把每道题当成一位“名誉选手”,让已知能力的试做者与它过招,胜者得分、败者失分,经过足够多轮对局,题目的评级值逐渐收敛,其数值就是这道题的难度海拔。

Elo 系统的核心公式是期望胜率。设试做者 $A$ 当前评分为 $R_A$,题目的“名誉评分”为 $R_B$,则 $A$ 一次答对该题的期望概率为:

在实际评测中,主办方会按 $E_A$ 的稳定值把题目归入四档:入门级($E_A$ 对大多数模型均高于 0.8)、进阶级、大师级与巅峰级($E_A$ 普遍低于 0.2)。抽样配比时按各档位比例取题,例如 2:3:3:2,让评测集既有“热身坡”也有“终极大岩壁”。

EA=11+10(RB−RA)/400\displaystyle E_A = \frac{1}{1 + 10^{(R_B - R_A) / 400}}
这个公式像一张“海拔换算表”:当 $R_A$ 比 $R_B$ 高 400 分时,$E_A$ 约为 0.91,说明这题对 $A$ 来说只是个小土丘;若 $R_A$ 比 $R_B$ 低 400 分,$E_A$ 只有约 0.09,这题就是近乎不可逾越的绝壁。
  1. 评分差 $R_B - R_A$题目评级与选手评级的差值,差值越大,难度越悬殊。
    ΔR=RB−RA\displaystyle \Delta R = R_B - R_A
  2. 指数缩放 $10^{\Delta R / 400}$把评分差映射为胜率倍率,400 是国际通用的缩放常数,控制评级差异对胜率的敏感度。
    10ΔR/400=10(RB−RA)/400\displaystyle 10^{\Delta R / 400} = 10^{(R_B - R_A) / 400}
  3. 归一化分母将倍率转换成 0 到 1 之间的概率,$E_A$ 越大代表选手越可能答对。
    EA=11+10ΔR/400\displaystyle E_A = \frac{1}{1 + 10^{\Delta R / 400}}

3. 评测指标:一张看得懂的成绩单

登山赛的成绩单不能只有“登顶/未登顶”两个格子,否则第 7 题和所有题等价,主办方也无法区分刚过及格线的选手与差一点登顶的选手。竞赛数学评测引入了加权得分:难度越高的题目,在总分中的权重越大,答对巅峰题比答对入门题更能体现模型实力。

设评测集共 $n$ 道题,第 $i$ 题的难度权重为 $w_i$(通常取自 Elo 评级换算),模型是否答对记为 $s_i$(答对为 1,答错为 0),则加权得分定义为:

除加权得分外,成绩单上还有“证明完整度”与“步骤得分”:竞赛中许多题目即使最终答案正确,但中间推导有致命跳跃,也要扣分,因此评测不只看“登顶与否”,还看“路线是否标准”。最后,主办方还会报告统计置信度——样本量太小时,几分之差可能只是运气,置信区间像成绩单上的“误差带”,提醒大家别把偶然当实力。

Score=∑i=1nwisi∑i=1nwi\displaystyle \text{Score} = \frac{\sum_{i=1}^{n} w_i s_i}{\sum_{i=1}^{n} w_i}
这个公式像是把一堆大小不同的奖牌统一换算成“标准金币”:难题是大金币,简单题是小金币,最后看选手一共攒了多少。
  1. 正确性 $s_i$第 $i$ 题的二值得分,答对为 1,答错为 0,是“是否登顶”的原始记录。
    si∈{0,1}\displaystyle s_i \in \{0, 1\}
  2. 难度权重 $w_i$第 $i$ 题的权值,通常随 Elo 评级单调递增,体现“山峰越高权重越大”。
    wi=weight(Ri)\displaystyle w_i = \text{weight}(R_i)
  3. 加权求和与归一化分子是所有题目得分乘权重之和,分母是权重总和,保证分数落在 0 到 1 之间,便于跨数据集比较。
    Score=w1s1+w2s2+⋯+wnsnw1+w2+⋯+wn\displaystyle \text{Score} = \frac{w_1 s_1 + w_2 s_2 + \cdots + w_n s_n}{w_1 + w_2 + \cdots + w_n}

4. 自动化评分:铁面裁判组

人工裁判会疲劳、会偏好不同的证明风格,大赛需要一个“铁面裁判组”。竞赛数学自动化评分由四道防线组成:规则比对、语义相似度、推理链校验、人工复核。它们各司其职,像登山赛中的路线监察员、动作评分员与仲裁委员会。

规则比对解决终态可精确判定的题:把模型的最终答案与参考解答规范化后做精确匹配,答案一致即判对。但竞赛数学的证明常常“殊途同归”,两道等价但表述不同的证明,在字符层面可能毫无重叠。此时需要语义相似度介入:把模型答案和参考解答分别编码为向量,计算两者夹角的余弦值,度量“意思是否一样”:

对于证明题,仅有语义相似还不够——裁判还要逐段核对推理链。基于大模型的推理链校验器把解答拆成若干逻辑步骤,检查每步承接是否成立,发现断点就扣分。最后,相似度与校验置信度均较低的答卷会进入人工复核池,由权威裁判做最终仲裁。整套流程像一条自动化的登山赛判罚流水线:机器裁判先粗筛,人类裁判只处理有争议的极少数。

sim(A,B)=A⃗⋅B⃗∥A⃗∥⋅∥B⃗∥\displaystyle \text{sim}(A, B) = \frac{\vec{A} \cdot \vec{B}}{\lVert \vec{A} \rVert \cdot \lVert \vec{B} \rVert}
余弦相似度像两位裁判对视一眼——他们不在乎你用的词完全一样,只在乎表述的方向是否一致。
  1. 点积 $\vec{A} \cdot \vec{B}$两个向量的逐维相乘再求和,数值越大代表两个语义方向越接近。
    A⃗⋅B⃗=∑j=1dAjBj\displaystyle \vec{A} \cdot \vec{B} = \sum_{j=1}^{d} A_j B_j
  2. 向量模长 $\lVert \vec{A} \rVert$向量的长度,用于把点积结果压到 $[-1, 1]$ 区间,消除文本长度影响。
    ∥A⃗∥=∑j=1dAj2\displaystyle \lVert \vec{A} \rVert = \sqrt{\sum_{j=1}^{d} A_j^2}
  3. 余弦归一化点积除以两个模长后,得到与长度无关的相似度。相似度超过阈值即认为模型给出的证明与参考解答在语义上等价。
    sim(A,B)=cos⁡θ∈[−1,1]\displaystyle \text{sim}(A, B) = \cos\theta \in [-1, 1]

5. 模型表现:登山队成绩单

赛制设计完毕,终于轮到选手登场。以 AIME(美国数学邀请赛)为代表的竞赛数学基准,已成为前沿模型发布时的“标准赛道”:闭源大模型经过长思维链训练,能解决约半数左右的竞赛题;开源模型则普遍落后一截;而纯靠直觉一步到位的旧式模型往往在入门题就翻车。跨模型对比时,主办方会搭建统一题集、统一评分管道,确保成绩站在同一条起跑线上。

单次作答充满了偶然性:即便是最强模型,同一道大师级题目有时灵光乍现,有时毫无头绪。为了排除运气,评测引入了 pass@k 指标:允许多次独立采样,看至少有一次解答通过的概率。设单次作答正确率为 $p$,采样 $k$ 次,则:

回到成绩单视角:pass@k 衡量的是模型“能力上限”,而单次准确率衡量的是“稳定发挥”。两者结合看,才能回答“这支登山队最远能爬到哪里”以及“它是不是每次都能稳定爬完入门线”。

pass@k=1−(1−p)k\displaystyle \text{pass@k} = 1 - (1 - p)^k
这像登山赛中允许选手尝试多次攀爬——只要有一次成功登顶,就记作“能登顶”。k 次都失败的极端情况,才被记作真正的失败。
  1. 单次失败概率 $1 - p$一次作答未通过的概率,是“某次尝试未登顶”的原始记录。
    q=1−p\displaystyle q = 1 - p
  2. $k$ 次全失败连续 $k$ 次都未通过的概率,因各次采样独立,所以相乘。
    qk=(1−p)k=(1−p)(1−p)⋯(1−p)⏟k  次\displaystyle q^k = (1 - p)^k = \underbrace{(1-p)(1-p)\cdots(1-p)}_{k \; \text{次}}
  3. 互补取概率用 1 减去“全失败”的概率,得到“至少成功一次”的概率,即 pass@k。
    pass@k=1−(1−p)k\displaystyle \text{pass@k} = 1 - (1-p)^k

6. 能力边界:雪线之上

再优秀的登山队也有海拔极限。当题目进入大师级与巅峰级,模型的表现会出现断崖式下跌。最典型的瓶颈是长链推理崩溃:竞赛证明往往需要连续十步以上的严密推理,而模型每一步都存在微小出错概率,步骤越长,整条链全部正确的概率越低。若假设每步独立且正确率同为 $p$,则 $n$ 步全对的概率为:

除了长链崩溃,能力边界还体现在三处:其一是符号混淆——复杂代数式与多变量复用让模型“迷路”,把 $a$ 当成了 $b$;其二是构造证明弱势——竞赛题大量需要凭空构造辅助线、反例或巧妙中间量,模型常无从下手;其三是过度自信——模型给出的证明看似结构完整、实则包含隐蔽漏洞,而它自己浑然不觉,这就像登山者在雪线上出现高反,以为自己走的是正确路线,其实已偏离甚远。

Pall=∏i=1npi=pn\displaystyle P_{\text{all}} = \prod_{i=1}^{n} p_i = p^{n}
这像是把“每一小步都踩稳”的概率连乘起来——只要有一步打滑,整个攀登就前功尽弃。步骤越多,最后能稳稳站上顶峰的概率就越渺茫。
  1. 单步正确率 $p_i$第 $i$ 个推理步骤保持正确的概率。
    pi=P(第  i  步正确)\displaystyle p_i = P(\text{第} \; i \; \text{步正确})
  2. 连乘 $\prod$整条推理链必须每步都对,所以各步概率相乘。
    ∏i=1npi=p1×p2×⋯×pn\displaystyle \prod_{i=1}^{n} p_i = p_1 \times p_2 \times \cdots \times p_n
  3. 指数衰减 $p^n$当 $p < 1$ 时,$n$ 越大 $p^n$ 越小,直观解释了为何题目越难(步骤越多)模型表现越差。
    lim⁡n→∞pn=0\displaystyle \lim_{n \to \infty} p^{n} = 0

7. 突破方向:装备与训练升级

认清边界不是为了止步,而是为了更好地突破。登山队升级装备,AI 模型也有一整套“装备清单”。最直接的装备是思维链(Chain-of-Thought)增强:引导模型在作答时先写推理草稿、再给结论,把长链推理从“瞬间直觉”变成“可见的逐步攀登”。其相对增益这样衡量:

装备清单不止这一件。验证器辅助:训练一个独立的过程校验器,对模型生成的推理链逐段打分,把“自说自话”变成“双重裁判”,大幅压低隐蔽漏洞导致的过度自信;专项微调:在竞赛真题解答语料上继续训练,让模型熟悉竞赛风格的陈述与构造套路;评测迭代:用新题、新解法不断扩充评测集,反向暴露模型最新的薄弱环节。登山队不是一天练成的,AI 的竞赛数学能力正是在“评测—暴露短板—针对性训练—再评测”的循环中一步步向珠峰顶靠近。

Gain=AccCoT−AccbaselineAccbaseline\displaystyle \text{Gain} = \frac{\text{Acc}_{\text{CoT}} - \text{Acc}_{\text{baseline}}}{\text{Acc}_{\text{baseline}}}
这个公式像登山队换了新装备后的成绩提升率:分子是新装备带来的额外登顶数,分母是原来能登顶的基数,比值就是“进步了几成”。
  1. 基线准确率 $\text{Acc}_{\text{baseline}}$未加思维链时模型在评测集上的原始正确率,是“旧装备”的成绩。
    Accbaseline=正确的题数总题数\displaystyle \text{Acc}_{\text{baseline}} = \frac{\text{正确的题数}}{\text{总题数}}
  2. 思维链准确率 $\text{Acc}_{\text{CoT}}$加入思维链引导后模型的正确率,是“新装备”的成绩。
    AccCoT=CoT 模式下正确的题数总题数\displaystyle \text{Acc}_{\text{CoT}} = \frac{\text{CoT 模式下正确的题数}}{\text{总题数}}
  3. 相对增益用差值除以基线,得到进步幅度。若 Gain 为 0.2,说明正确率相对提升了 20%。
    Gain=ΔAccAccbaseline\displaystyle \text{Gain} = \frac{\Delta \text{Acc}}{\text{Acc}_{\text{baseline}}}

AI 应用场景

场景一:教育评测机构的自动化竞赛判分

阶段:自动化评分

解决的问题:国际数学竞赛的证明题向来依赖人工阅卷,一位资深教练批改一份卷子约需 30 分钟,大型赛事动辄上万份答卷,人力成本极高且不同裁判的宽严标准难以统一。传统方式只能抽样复查,而 AI 评分可以全量覆盖,且评分标准基于参考解答与推理链校验,一致性与可解释性远超人工初筛。

具体案例:某国家级数学竞赛引入自动化评分管道:先由 OCR 将手写解答转为文本,再用语义相似度判断最终答案与参考解答是否等价,随后推理链校验器逐段检查关键证明步骤,最后只把低置信度的答卷推送给人工仲裁组。系统上线后,初评效率提升约 20 倍,争议率控制在 3% 以内。

场景二:大模型团队的发布前能力体检

阶段:模型表现评估

解决的问题:大模型发布前,团队需要一套高难度的标准化“体检项目”来证明模型的推理能力。普通数学测试区分度太低,顶尖模型普遍接近满分,无法分出高下;竞赛数学题难度梯度大,能稳定区分不同实力的模型。

具体案例:某团队将 AIME 真题集扩充为 500 道题的竞赛基准库,配套自动化评分管道与 pass@k 报告。每次迭代训练后自动跑一轮评测,输出加权得分、各难度档位正确率和 pass@k 曲线;若大师级得分回退,即使整体指标持平也会阻止版本发布。该流程已固化为 CI/CD 中的一个必要检查关卡。

场景三:命题机构的新题难度预测

阶段:难度分级

解决的问题:命题人设计新题后,最担心的是难度失衡——题目太简单让竞赛失去区分度,太难又让学生无从下手。传统做法靠少数教练主观试做估计,误差大且无法量化。

具体案例:命题组把新题交给一批 Elo 评级已知的模型与人类选手试做,用期望胜率公式反推新题的等效评级,再映射到四档难度层。当题库累计到一定规模后,系统还能按预设配比(如 2:3:3:2)自动组卷,确保正式试卷的难度分布与往年一致。

Python 演示

python87 行
# -*- coding: utf-8 -*-"""竞赛数学评测器:加权评分与 pass@k 示例"""import random  class Problem:    """一道竞赛数学题,difficulty 为难度权重,reference 为参考解答。"""     def __init__(self, pid, difficulty, reference):        self.pid = pid        self.difficulty = difficulty        self.reference = reference  class MathEvaluator:    """模拟对 AI 模型在竞赛数学题目上的自动化评测。"""     def __init__(self, problems):        self.problems = problems        self.max_weight = sum(p.difficulty for p in problems)     def token_sim(self, text_a, text_b):        """基于字符 n-gram 的简单相似度,替代完整语义模型。"""        def grams(s, n=2):            s = s.replace(" ", "").lower()            return {s[i:i + n] for i in range(len(s) - n + 1)} if len(s) >= n else {s}        ga, gb = grams(text_a), grams(text_b)        if not ga or not gb:            return 0.0        return len(ga & gb) / len(ga | gb)     def judge(self, answer, problem, sim_threshold=0.6):        """判分:答案与参考解答相似度超过阈值则判对。"""        sim = self.token_sim(answer, problem.reference)        return 1 if sim >= sim_threshold else 0, sim     def score_all(self, answers):        """加权得分:正确题目的难度权重之和 / 总权重。"""        weighted = 0.0        details = []        for prob, ans in zip(self.problems, answers):            correct, sim = self.judge(ans, prob)            weighted += prob.difficulty * correct            details.append((prob.pid, correct, round(sim, 3)))        return weighted / self.max_weight, details  def pass_at_k(n, c, k):    """n 次采样中有 c 次通过时,pass@k 的保守估计。"""    if n - c < k:        return 1.0    num = 1.0    for i in range(k):        num *= (n - c - i) / (n - i)    return 1.0 - num  def simulate_model_answer(problem, reliability=0.55):    """模拟模型答题:以一定可靠性给出参考解答或乱码。"""    seed = sum(ord(ch) for ch in problem.pid)    rng = random.Random(seed)    if rng.random() < reliability:        return problem.reference    return "无法给出有效推导"  def main():    problems = [        Problem("C001", 1.2, "x = 2"),        Problem("C002", 1.8, "设 n 为奇数"),        Problem("C003", 2.5, "f 是凸函数"),        Problem("C004", 3.2, "构造反例"),        Problem("C005", 4.0, "用数学归纳法"),        Problem("C006", 4.6, "非欧几何变换"),    ]    answers = [simulate_model_answer(p) for p in problems]    evaluator = MathEvaluator(problems)    score, details = evaluator.score_all(answers)    for pid, ok, sim in details:        print("题号 %s 结果 %s 相似度 %.3f" % (pid, "对" if ok else "错", sim))    print("加权得分: %.2f%%" % (score * 100))    n, c, k = 20, 12, 5    print("pass@5 (20次中12次通过): %.3f" % pass_at_k(n, c, k))  if __name__ == "__main__":    main()
目的:模拟一个竞赛数学评测流水线——将模型答案与参考解答做相似度比对,按题目难度权重计算加权得分,并用 pass@k 估计多次采样的通过上限。
  1. class Problem定义一道竞赛题的数据结构,包含编号、难度权重与参考解答,是“赛道地图上的一座山峰”。
  2. token_sim(text_a, text_b)用字符 n-gram 交集比上并集计算语义相似度,模拟真实评测中的向量余弦相似度比对,无需外部模型即可跑通流程。
  3. judge(answer, problem, sim_threshold=0.6)自动化评分的核心判分函数:相似度超过阈值判定为“答对”,否则判错。
  4. score_all(answers)遍历所有题并调用 judge 判分,累加答对题目的难度权重,最后除以总权重得到 0-1 的加权得分。
  5. pass_at_k(n, c, k)实现 pass@k 公式,用“全失败概率”的补事件估算多次采样至少一次成功的概率。
  6. simulate_model_answer(problem, reliability)模拟一个能力中等偏上的模型:约 55% 概率给出正确答案,其余时候输出无意义文本。
  7. main()组装六道难度递增的题目,跑完整评测并打印判分明细、加权得分与 pass@k 报告。

常见误区

误区很多人以为竞赛数学考的是微积分、线性代数这类高等数学工具,所以给模型准备一堆高数题库就能过关。

正解竞赛数学的核心是初等数学框架下的深度推理与巧妙构造。IMO 的很多题只用整数性质、不等式和组合计数就能解,难在思路而非工具。这就像攀岩比的是手脚运用和路线判断,而不是谁背的装备品牌更多。评测时要清楚区分“知识广度”与“推理深度”。

为何常见:日常接触的“数学题”大多偏计算与套公式,让人误以为数学能力等于高等知识储备,忽略了竞赛数学真正考察的构造与证明。

误区写评分程序时,把模型的最终答案和标准答案做字符串匹配,一致就算满分。

正解竞赛数学的证明题重视过程,答案正确但中间有致命逻辑跳跃通常只能拿部分分。完整的自动化评分必须包含推理链校验:把解答拆成步骤、检查每步承接关系,再结合语义相似度识别“殊途同归”的等价证明。否则就等于是只问“你登顶了吗”而不看路线是否合规。

为何常见:传统选择题、填空题的判分习惯延续到了证明题上,忽视了竞赛题特有的“步骤得分”机制。

误区模型在竞赛数学基准上拿高分后,团队便宣称“模型已经掌握了数学”。

正解竞赛数学只覆盖数学能力的若干侧面——构造直觉、组合思维、局部推理链。它未必检验计算可靠性、知识广度、统计推理或数值近似能力。一个在 IMO 题集上出色的模型,可能在普通计算题上频繁算错,就像攀岩冠军未必擅长马拉松。严谨的做法是把竞赛数学作为多维评测矩阵中的一个维度,而非唯一标尺。

为何常见:竞赛数学难度高、话题感强,天然吸引注意力,容易让人把“最难”误认为“最全”。

误区既然 pass@k 允许多次采样,那就把 k 调到 100、1000,模型成绩总能刷到很高。

正解pass@k 的数学上限是 $1 - (1-p)^k$,当单次正确率 $p$ 固定时,即使 $k$ 趋于无穷,通过率也只会逼近 1——但实际瓶颈在于 $p$ 本身。若模型的长链推理正确率只有 0.2,采样 100 次也远不如先把 $p$ 提升到 0.6。多次采样只是排除运气,不能替代能力。

为何常见:看到 pass@k 公式中 $k$ 增大、概率上升,便误以为“次数”是自由变量,忽略了真正的性能瓶颈是单次正确率。

面试题

Q1. 竞赛数学评测的题目通常从哪里获取?

单选题 · easy

  • A.国际奥赛真题库← 正确答案
  • B.电商评论语料库
  • C.社交平台闲聊数据
  • D.搜索引擎查询日志

答案:A。竞赛数学评测的核心是高质量真题,IMO、普特南等赛事真题构成了题库主体,就像登山赛必须选真实岩壁作为赛道。电商评论、社交闲聊和搜索日志都是自然语言处理任务的数据来源,与数学推理无关。

Q2. 在 Elo 评级系统中,选手战胜了评级远高于自己的题目时,他的评级会怎样变化?

单选题 · easy

  • A.得分明显上涨← 正确答案
  • B.得分维持原样
  • C.得分略微回落
  • D.得分全部清零

答案:A。Elo 系统的核心是“意外惊喜”——战胜一个预期胜率很低的强敌,说明选手真实水平被低估,评级会大幅上调。反之,输给评级很低的题目则会明显掉分。这正是竞赛数学题目难度标定的基础机制。

Q3. 竞赛数学评测中,Elo 评级体系可以应用在哪些环节?

多选题 · mid

  • A.题目难度标定← 正确答案
  • B.模型能力评级← 正确答案
  • C.选手实时排名← 正确答案
  • D.试卷排版设计

答案:ABC。Elo 的期望胜率公式可以双向使用:把题目当作“对手”可以标定难度,把模型当作“选手”可以评级与排名。试卷排版属于视觉设计,与博弈评级无关。这套评级系统天然适配“谁与谁对战”的评测场景。

Q4. pass@k 指标的核心含义是什么?

单选题 · mid

  • A.仅允许一次作答
  • B.k次采样至少一过← 正确答案
  • C.答案符合长度约束
  • D.限定运用编程求解

答案:B。pass@k 表示允许模型独立采样 k 次解答、至少有一次通过的概率,用来排除单次作答的随机运气。它测的是能力上限而非稳定发挥。一次作答是 pass@1 的特例,长度约束与编程求解都不是该指标的本意。

Q5. 自动化评分中引入语义相似度比对,主要想解决什么问题?

单选题 · mid

  • A.答案中文表达多样← 正确答案
  • B.模型无法读取数据
  • C.题目难度自动调整
  • D.分数统计出现偏差

答案:A。同一道证明题可以有无数种等价表述,字符层面完全不同的答案可能在数学上等价。语义相似度把文本映射为向量再计算夹角余弦,从而识别“殊途同归”的证明,解决了表述多样性导致的误判难题。

Q6. 设模型单次作答正确率 p=0.5,采样 k=3 次时,pass@k 的值约为多少?

单选题 · extreme

  • A.0.500
  • B.0.750
  • C.0.875← 正确答案
  • D.1.000

答案:C。由公式 $1 - (1-p)^k$,代入 p=0.5、k=3 得 $1 - 0.5^3 = 1 - 0.125 = 0.875$。这相当于三次独立尝试都失败的极端情况只有 12.5% 的概率。选项 0.5 是单次正确率,0.75 是错误地算了 $1-0.25$,1.0 则忽略了全失败的可能。

Q7. 长链推理崩溃的根本原因是什么?

单选题 · hard

  • A.每步误差逐级累积放大← 正确答案
  • B.模型记忆容量明显不足
  • C.题目文字过长无法阅读
  • D.训练数据中未包含此类题

答案:A。推理链各步都存在微小出错概率,而整链必须步步正确,因此总正确率是各步概率的连乘积,步骤越多衰减越剧烈。记忆容量、题干长度与数据覆盖虽会影响表现,但“误差随长度累积”才是长链崩溃的本质机制。

Q8. 竞赛数学自动化评分管道通常包含哪些手段?

多选题 · mid

  • A.规则比对最终答案← 正确答案
  • B.语义向量相似度比对← 正确答案
  • C.推理步骤链条校验← 正确答案
  • D.随机抽样生成新题

答案:ABC。规则比对负责精确终态判定,语义相似度识别等价表述,推理链校验检查证明过程的逻辑承接。三者配合构成“铁面裁判组”。随机生成新题属于数据增强,不属于评分环节。

Q9. 下列哪些措施可以有效提升模型的竞赛数学能力?

多选题 · hard

  • A.引入思维链推理引导← 正确答案
  • B.增加专项证明数据微调← 正确答案
  • C.注入训练文本的噪声
  • D.部署验证器复盘错题← 正确答案

答案:ABD。思维链引导把长链推理拆成可见步骤,专项微调让模型熟悉竞赛证明风格,验证器对推理链打分并复盘错题能压住过度自信。而往训练文本加噪声只会破坏表征质量,属于南辕北辙的负优化。

Q10. 竞赛数学四档难度分层的评级基础是什么?

单选题 · easy

  • A.选手胜率反馈循环← 正确答案
  • B.编辑随机人工标注
  • C.出题者主观偏好
  • D.题目排版印刷难度

答案:A。四档难度(入门、进阶、大师、巅峰)建立在 Elo 评级之上,而 Elo 评级又来自大量选手与题目的真实对局记录,通过期望胜率公式迭代收敛。随机标注、主观偏好和印刷难度都无法给出可复现、可量化的难度标尺。