3.8 KiB
3.8 KiB
IMO-AnswerBench
概述
IMO-AnswerBench 是一个包含 400 道高难度问题的基准测试集,题目均选自国际数学奥林匹克(IMO)备选题(Shortlists)。该基准涵盖四大数学领域,旨在评估语言模型在奥林匹克级别上的高级数学推理能力。
任务描述
- 任务类型:奥林匹克数学问题求解
- 输入:IMO 备选题中的数学问题
- 输出:包含逐步推导过程及最终答案的完整解答
- 难度:国际奥林匹克级别
主要特点
- 包含 400 道来自 IMO 备选题(2005–2024 年)的问题
- 覆盖四大领域:代数(Algebra)、组合数学(Combinatorics)、几何(Geometry)、数论(Number Theory)
- 子类别包括:运算(Operation)、不等式(Inequality)、数列(Sequence)、多项式(Polynomial)、函数方程(Functional Equation)等
- 答案形式多样,从简单整数到复杂的 LaTeX 表达式(如区间、集合、分数等)
- 代表当前数学问题求解基准中最高难度水平
评测说明
- 默认配置采用 0-shot 评测方式
- 答案需用
\boxed{}包裹,以便正确提取 - 对复杂答案采用基于 LLM-as-judge 的数值等价性检查
- 结果可按类别(代数、组合、几何、数论)细分统计
- 许多答案涉及符号表达式,需进行数学等价性判断
属性
| 属性 | 值 |
|---|---|
| 基准测试名称 | imo_answerbench |
| 数据集ID | evalscope/imo-answerbench |
| 论文 | N/A |
| 标签 | Math, Reasoning |
| 指标 | acc |
| 默认示例数 | 0-shot |
| 评测划分 | train |
数据统计
| 指标 | 值 |
|---|---|
| 总样本数 | 400 |
| 提示词长度(平均) | 423.02 字符 |
| 提示词长度(最小/最大) | 145 / 1343 字符 |
各子集统计信息:
| 子集 | 样本数 | 提示词平均长度 | 提示词最小长度 | 提示词最大长度 |
|---|---|---|---|---|
Algebra |
100 | 345.06 | 183 | 984 |
Combinatorics |
100 | 641.53 | 257 | 1343 |
Geometry |
100 | 375.44 | 196 | 703 |
Number theory |
100 | 330.07 | 145 | 769 |
样例示例
子集: Algebra
{
"input": [
{
"id": "afe74111",
"content": "Problem:\nFor a given positive integer $N$, Henry writes the quotient of $ab$ divided by $N+1$ on the board for each integer pair $(a,b)$ where $1\\le a,b\\le N$. Find all $N$ such that the sum of the $N^2$ numbers Henry wrote on the board is $\\frac{N^3-N^2+2}{4}$.\n\nPlease reason step by step, and put your final answer within \\boxed{}.\n"
}
],
"target": "3",
"id": 0,
"group_id": 0,
"subset_key": "Algebra",
"metadata": {
"problem_id": "imo-bench-algebra-001",
"subcategory": "Operation",
"source": "IMO Shortlist 2021"
}
}
提示模板
提示模板:
Problem:
{question}
Please reason step by step, and put your final answer within \boxed{{}}.
使用方法
使用 CLI
evalscope eval \
--model YOUR_MODEL \
--api-url OPENAI_API_COMPAT_URL \
--api-key EMPTY_TOKEN \
--datasets imo_answerbench \
--limit 10 # 正式评测时请删除此行
使用 Python
from evalscope import run_task
from evalscope.config import TaskConfig
task_cfg = TaskConfig(
model='YOUR_MODEL',
api_url='OPENAI_API_COMPAT_URL',
api_key='EMPTY_TOKEN',
datasets=['imo_answerbench'],
dataset_args={
'imo_answerbench': {
# subset_list: ['Algebra', 'Combinatorics', 'Geometry'] # 可选,用于评测特定子集
}
},
limit=10, # 正式评测时请删除此行
)
run_task(task_cfg=task_cfg)