MGSM#
概述#
MGSM(Multilingual Grade School Math,多语言小学数学)是一个用于评估语言模型多语言数学推理能力的基准测试。它将 GSM8K 扩展至 11 种类型学上多样化的语言,以检验模型是否能在不同语言中执行思维链(chain-of-thought)推理。
任务描述#
任务类型:多语言数学应用题求解
输入:11 种语言之一的小学数学应用题
输出:包含逐步推理过程和数值答案的解答
语言:英语、西班牙语、法语、德语、俄语、中文、日语、泰语、斯瓦希里语、孟加拉语、泰卢固语
主要特点#
每种语言包含 250 道题目(从 GSM8K 翻译而来)
覆盖 11 种类型学上多样化的语言,涵盖不同语系
测试模型的多语言思维链推理能力
各语言使用相同的问题内容,便于跨语言比较
旨在评估与语言无关的数学推理能力
评估说明#
默认配置使用 4-shot 示例
答案应使用
\boxed{}格式包裹,以便正确提取可通过
subset_list参数指定评估特定语言(例如['en', 'zh', 'ja'])支持跨语言性能比较
少样本(few-shot)示例从同语言的训练集(train split)中抽取
属性#
属性 |
值 |
|---|---|
基准测试名称 |
|
数据集ID |
|
论文 |
N/A |
标签 |
|
指标 |
|
默认少样本数量 |
4-shot |
评估集 |
|
训练集 |
|
数据统计#
指标 |
值 |
|---|---|
总样本数 |
2,750 |
提示词长度(平均) |
1742.98 字符 |
提示词长度(最小/最大) |
791 / 2464 字符 |
各子集统计数据:
子集 |
样本数 |
提示平均长度 |
提示最小长度 |
提示最大长度 |
|---|---|---|---|---|
|
250 |
1790.71 |
1637 |
2165 |
|
250 |
1940.02 |
1773 |
2371 |
|
250 |
2047 |
1878 |
2440 |
|
250 |
1963.9 |
1792 |
2386 |
|
250 |
1831.66 |
1667 |
2214 |
|
250 |
842.16 |
791 |
946 |
|
250 |
1102.33 |
1035 |
1248 |
|
250 |
1835.53 |
1699 |
2135 |
|
250 |
1953.48 |
1780 |
2354 |
|
250 |
1759.28 |
1601 |
2106 |
|
250 |
2106.77 |
1939 |
2464 |
样例示例#
子集: en
{
"input": [
{
"id": "d67cb3cf",
"content": "Here are some examples of how to solve similar problems:\n\nQuestion: Roger has 5 tennis balls. He buys 2 more cans of tennis balls. Each can has 3 tennis balls. How many tennis balls does he have now?\n\nReasoning:\nStep-by-Step Answer: Roger sta ... [TRUNCATED] ... every day with four. She sells the remainder at the farmers' market daily for $2 per fresh duck egg. How much in dollars does she make every day at the farmers' market?\nPlease reason step by step, and put your final answer within \\boxed{}.\n\n"
}
],
"target": "18",
"id": 0,
"group_id": 0,
"metadata": {
"reasoning": null,
"equation_solution": null
}
}
注:部分内容为显示目的已截断。
提示模板#
提示模板:
{question}
Please reason step by step, and put your final answer within \boxed{}.
少样本模板
Here are some examples of how to solve similar problems:
{fewshot}
{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 mgsm \
--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=['mgsm'],
dataset_args={
'mgsm': {
# subset_list: ['en', 'es', 'fr'] # 可选,用于评估特定子集
}
},
limit=10, # 正式评估时请删除此行
)
run_task(task_cfg=task_cfg)