1. 设计原则
VAR-MATH的核心动机是解决数学推理评估中的两大顽疾:基准污染和评估脆弱性。传统基准将问题呈现为静态的数值实例,这使得模型可以通过记忆或利用浅层模式匹配来“作弊”,而非进行真正的推理。VAR-MATH通过我们称之为符号化可变(symbolic variabilization)的过程,将问题结构与固定的数值内容解耦。我们不硬编码具体常数,而是将问题重构为符号模板,在评估时动态实例化具体值。这一抽象过程使模型能够在结构等价的问题族上接受测试,而不仅仅是孤立的实例。
我们的基本假设是:一个真正理解数学问题的模型,应表现出推理一致性(reasoning consistency),即无论具体数值如何变化,都能解决具有相同逻辑结构的多个问题变体。通过从受约束的参数空间中系统地采样,VAR-MATH在保留每个问题原始语义的同时引入了可控的变化。这带来了一个更稳健、更能抵抗污染的评估协议,能够区分真正的理解与表面启发式方法。
2. 数据处理流程
数据转换流程始于从现有数学基准(主要关注AMC23和AIME24)中系统地选择问题。每个选定的问题都经过领域专家的符号化抽象,遵循一个结构化的四步方法:
- 结构分析:首先,我们分析每个问题的代数结构,识别输入参数与预期解之间的关系。
- 符号参数化:在保留原始语义难度的前提下,策略性地用变量替换数值常数。每个变量都被赋予一个根据问题上下文定义的可行域。
- 参数化解的构建:答案被表示为已定义变量的符号函数。支持多种答案格式,包括常数、集合映射和代数表达式。
- 精度指定:为确保在实例化和评估过程中的数值稳定性,对变量和解都应用了适当的舍入策略和有效数字约束。
在某些情况下,为了保持问题的数学特性,一些关键常数(如 $\pi, e$ 或固定的几何参数)会被保留。最终,我们生成了两个可变基准:VAR-AMC23和VAR-AIME24。每个问题被编码为一个结构化对象,包含符号化的问题表达式、带可行集的变量定义、参数化答案以及元数据。
3. 评估流程
评估过程遵循一个严格的两阶段协议:实例化和验证。
在实例化阶段,通过从预定义的变量可行域中采样,为每个符号模板生成多个具体的问题实例。对于每个采样实例,其标准答案(ground-truth)直接从模板关联的参数化解计算得出。然后,这些实例化的问题被呈现给模型。
在验证阶段,我们使用一个极其严格的正确性标准。具体来说,对于任何一个符号化问题,只有当模型正确回答了其所有的实例化变体(在我们的实验中,每个问题最多5个变体)时,才被授予满分。这种“全有或全无”(all-or-nothing)的策略将评估的重心从单个实例的水平提升到了符号抽象的水平,从而强有力地检验了模型跨结构等价变体的推理一致性。
4. 公式示例与解释
让我们再看一下那个经典的例子。原始问题可能是:
$$ \text{计算由 } | |x|-1| + | |y|-1| \le 1 \text{ 定义的区域面积。} $$
这是一个固定的问题,其解是一个菱形,面积为 $2 \times (1)^2 \times 2 = 4$ ... 不对,实际上是一个由四个小正方形组成的更大正方形,顶点在 $(\pm 2, 0)$ 和 $(0, \pm 2)$,总面积是8。看,即使是人类也容易出错!
在VAR-MATH中,它被转化为:
$$ \text{计算由 } | |x|-a| + | |y|-a| \le a \text{ 定义的区域面积,其中 } a > 0 \text{。} $$
这里的 $a$ 就是一个符号变量。该区域的面积可以被参数化为 $S(a) = 8a^2$。这是一个通用的解。在评估时,我们会随机选择一些 $a$ 的值,比如 $a=2$,问题就变成了计算 $| |x|-2| + | |y|-2| \le 2$ 的面积,答案是 $8 \times 2^2 = 32$。如果再选择 $a=5$,问题是计算 $| |x|-5| + | |y|-5| \le 5$ 的面积,答案是 $8 \times 5^2 = 200$。模型必须对我们给出的所有 $a$ 值都计算出正确答案,才能证明它真正“理解”了这类问题的解法,而不仅仅是记住了 $a=1$ 的特例。