MILU#

概述#

MILU(Multi-task Indic Language Understanding Benchmark,多任务印度语言理解基准)是一个全面的评估数据集,用于衡量大语言模型(LLM)在11种印度语言上的表现。该数据集涵盖8个领域和41个主题,结合了翻译而来的通用知识问题以及具有印度文化特色的本地内容。

任务描述#

  • 任务类型:多语言多项选择题问答(Multilingual Multiple-Choice Question Answering)

  • 输入:用11种语言之一编写的包含四个选项的问题

  • 输出:单个正确答案的字母(A/B/C/D)

  • 语言:英语、孟加拉语、古吉拉特语、印地语、卡纳达语、马拉雅拉姆语、马拉地语、奥里亚语、旁遮普语、泰米尔语、泰卢固语

主要特点#

  • 覆盖8个领域 / 41个主题,包括印度特有的文化、历史和时事内容

  • 使用母语编写的问题,而非机器翻译版的MMLU

  • 每种语言作为独立的数据集配置,可分别加载

评估说明#

  • 默认配置使用 0-shot 评估(测试集 test

  • 可通过 subset_list 参数指定评估特定语言(例如 ['Hindi', 'Tamil']),或使用 limit 限制样本数量 —— 评估全部11种语言的完整测试集将是一次大规模运行

  • 设置 few_shot_num > 0 可启用少样本提示(few-shot prompting),示例从 validation 验证集中抽取

  • 默认从 ModelScope 加载(evalscope 的默认 dataset_hub),该数据集在此平台公开且无需访问令牌。若显式将 dataset_hub 设为 huggingface,请注意 ai4bharat/MILU 在 Hugging Face 上是受限制数据集 —— 需先在 huggingface.co 上接受数据集条款,并设置 HF_TOKEN(或运行 huggingface-cli login

属性#

属性

基准测试名称

milu

数据集ID

ai4bharat/MILU

论文

标签

Knowledge, MCQ, MultiLingual

指标

accuracy

默认样本数

0-shot

评估集

test

训练集

validation

数据统计#

指标

总样本数

79,608

提示词长度(平均)

377.16 字符

提示词长度(最小/最大)

223 / 2110 字符

各子集统计信息:

子集

样本数

提示平均长度

提示最小长度

提示最大长度

English

13,535

397.01

227

1930

Bengali

6,637

359.93

232

1828

Gujarati

4,826

359.36

230

1785

Hindi

14,831

367.43

229

1907

Kannada

6,234

364.45

229

1753

Malayalam

4,321

388.2

239

2110

Marathi

6,924

394.85

223

1888

Odia

4,525

366.63

238

1825

Punjabi

4,099

364.93

234

1874

Tamil

6,372

382.22

230

1934

Telugu

7,304

384.05

233

1806

样例示例#

子集: English

{
  "input": [
    {
      "id": "84726982",
      "content": "Answer the following multiple choice question. The entire content of your response should be of the following format: 'ANSWER: [LETTER]' (without quotes) where [LETTER] is one of A,B,C,D.\n\nBakelite is what type of polymer?\n\nA) Thermosetting polymer\nB) Thermoplastic polymer\nC) Fibre\nD) Elastomer"
    }
  ],
  "choices": [
    "Thermosetting polymer",
    "Thermoplastic polymer",
    "Fibre",
    "Elastomer"
  ],
  "target": "A",
  "id": 0,
  "group_id": 0,
  "metadata": {
    "language": "English"
  }
}

提示模板#

提示模板:

Answer the following multiple choice question. The entire content of your response should be of the following format: 'ANSWER: [LETTER]' (without quotes) where [LETTER] is one of {letters}.

{question}

{choices}

使用方法#

使用 CLI#

evalscope eval \
    --model YOUR_MODEL \
    --api-url OPENAI_API_COMPAT_URL \
    --api-key EMPTY_TOKEN \
    --datasets milu \
    --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=['milu'],
    dataset_args={
        'milu': {
            # subset_list: ['English', 'Bengali', 'Gujarati']  # 可选,用于评估特定子集
        }
    },
    limit=10,  # 正式评估时请删除此行
)

run_task(task_cfg=task_cfg)