Skip to content

Commit

Permalink
Add Global MMLU Lite (#2567)
Browse files Browse the repository at this point in the history
* add global mmlu lite

* add global mmlu lite

* fix bugs

* add task README.md

* Update README.md

* Update tasks README.md

* Update README.md

* update readme

---------

Co-authored-by: shivi <[email protected]>
  • Loading branch information
shivalika-singh and shivalikasingh95 authored Dec 19, 2024
1 parent 8558b8d commit 2b75b11
Show file tree
Hide file tree
Showing 19 changed files with 145 additions and 0 deletions.
1 change: 1 addition & 0 deletions lm_eval/tasks/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
| [fld](fld/README.md) | Tasks involving free-form and directed dialogue understanding. | English |
| [french_bench](french_bench/README.md) | Set of tasks designed to assess language model performance in French. | French|
| [galician_bench](galician_bench/README.md) | Collection of tasks in Galician encompassing various evaluation areas. | Galician |
| [global_mmlu](global_mmlu/README.md) | Collection of culturally sensitive and culturally agnostic MMLU tasks in 15 languages with human translations or post-edits. | Multiple (15 languages) |
| [glue](glue/README.md) | General Language Understanding Evaluation benchmark to test broad language abilities. | English |
| [gpqa](gpqa/README.md) | Tasks designed for general public question answering and knowledge verification. | English |
| [gsm8k](gsm8k/README.md) | A benchmark of grade school math problems aimed at evaluating reasoning capabilities. | English |
Expand Down
25 changes: 25 additions & 0 deletions lm_eval/tasks/global_mmlu/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Global-MMLU

### Paper

Title: `Global MMLU: Understanding and Addressing Cultural and Linguistic Biases in Multilingual Evaluation`

Abstract: [https://arxiv.org/abs/2412.03304](https://arxiv.org/abs/2412.03304)

Global-MMLU-Lite is a balanced collection of culturally sensitive and culturally agnostic MMLU tasks. It is designed for efficient evaluation of multilingual models in 15 languages (including English). Only languages with human translations and post-edits in the original [Global-MMLU](https://huggingface.co/datasets/CohereForAI/Global-MMLU) 🌍 dataset have been included in the lite version.

Homepage: [https://huggingface.co/datasets/CohereForAI/Global-MMLU-Lite](https://huggingface.co/datasets/CohereForAI/Global-MMLU-Lite)

### Citation

```bibtex
@misc{singh2024globalmmluunderstandingaddressing,
title={Global MMLU: Understanding and Addressing Cultural and Linguistic Biases in Multilingual Evaluation},
author={Shivalika Singh and Angelika Romanou and Clémentine Fourrier and David I. Adelani and Jian Gang Ngui and Daniel Vila-Suero and Peerat Limkonchotiwat and Kelly Marchisio and Wei Qi Leong and Yosephine Susanto and Raymond Ng and Shayne Longpre and Wei-Yin Ko and Madeline Smith and Antoine Bosselut and Alice Oh and Andre F. T. Martins and Leshem Choshen and Daphne Ippolito and Enzo Ferrante and Marzieh Fadaee and Beyza Ermis and Sara Hooker},
year={2024},
eprint={2412.03304},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2412.03304},
}
```
17 changes: 17 additions & 0 deletions lm_eval/tasks/global_mmlu/_default_yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
tag:
- global_mmlu
dataset_path: CohereForAI/Global-MMLU-Lite
test_split: test
fewshot_split: dev
fewshot_config:
sampler: default
output_type: multiple_choice
doc_to_text: "{{question.strip()}}\nA. {{option_a}}\nB. {{option_b}}\nC. {{option_c}}\nD. {{option_d}}\nAnswer:"
doc_to_choice: ["A", "B", "C", "D"]
doc_to_target: answer
metric_list:
- metric: acc
aggregation: mean
higher_is_better: true
metadata:
version: 0.0
42 changes: 42 additions & 0 deletions lm_eval/tasks/global_mmlu/_generate_configs.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
import yaml


languages = [
"en",
"ar",
"fr",
"es",
"hi",
"de",
"id",
"it",
"ja",
"ko",
"pt",
"zh",
"yo",
"bn",
"sw",
]


def main() -> None:
for language in languages:
file_name = f"global_mmlu_{language}.yaml"
try:
with open(f"{file_name}", "w") as f:
f.write("# Generated by _generate_configs.py\n")
yaml.dump(
{
"include": "_default_yaml",
"task": f"global_mmlu_{language}",
"dataset_name": language,
},
f,
)
except FileExistsError:
pass


if __name__ == "__main__":
main()
4 changes: 4 additions & 0 deletions lm_eval/tasks/global_mmlu/global_mmlu_ar.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Generated by _generate_configs.py
dataset_name: ar
include: _default_yaml
task: global_mmlu_ar
4 changes: 4 additions & 0 deletions lm_eval/tasks/global_mmlu/global_mmlu_bn.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Generated by _generate_configs.py
dataset_name: bn
include: _default_yaml
task: global_mmlu_bn
4 changes: 4 additions & 0 deletions lm_eval/tasks/global_mmlu/global_mmlu_de.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Generated by _generate_configs.py
dataset_name: de
include: _default_yaml
task: global_mmlu_de
4 changes: 4 additions & 0 deletions lm_eval/tasks/global_mmlu/global_mmlu_en.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Generated by _generate_configs.py
dataset_name: en
include: _default_yaml
task: global_mmlu_en
4 changes: 4 additions & 0 deletions lm_eval/tasks/global_mmlu/global_mmlu_es.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Generated by _generate_configs.py
dataset_name: es
include: _default_yaml
task: global_mmlu_es
4 changes: 4 additions & 0 deletions lm_eval/tasks/global_mmlu/global_mmlu_fr.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Generated by _generate_configs.py
dataset_name: fr
include: _default_yaml
task: global_mmlu_fr
4 changes: 4 additions & 0 deletions lm_eval/tasks/global_mmlu/global_mmlu_hi.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Generated by _generate_configs.py
dataset_name: hi
include: _default_yaml
task: global_mmlu_hi
4 changes: 4 additions & 0 deletions lm_eval/tasks/global_mmlu/global_mmlu_id.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Generated by _generate_configs.py
dataset_name: id
include: _default_yaml
task: global_mmlu_id
4 changes: 4 additions & 0 deletions lm_eval/tasks/global_mmlu/global_mmlu_it.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Generated by _generate_configs.py
dataset_name: it
include: _default_yaml
task: global_mmlu_it
4 changes: 4 additions & 0 deletions lm_eval/tasks/global_mmlu/global_mmlu_ja.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Generated by _generate_configs.py
dataset_name: ja
include: _default_yaml
task: global_mmlu_ja
4 changes: 4 additions & 0 deletions lm_eval/tasks/global_mmlu/global_mmlu_ko.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Generated by _generate_configs.py
dataset_name: ko
include: _default_yaml
task: global_mmlu_ko
4 changes: 4 additions & 0 deletions lm_eval/tasks/global_mmlu/global_mmlu_pt.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Generated by _generate_configs.py
dataset_name: pt
include: _default_yaml
task: global_mmlu_pt
4 changes: 4 additions & 0 deletions lm_eval/tasks/global_mmlu/global_mmlu_sw.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Generated by _generate_configs.py
dataset_name: sw
include: _default_yaml
task: global_mmlu_sw
4 changes: 4 additions & 0 deletions lm_eval/tasks/global_mmlu/global_mmlu_yo.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Generated by _generate_configs.py
dataset_name: yo
include: _default_yaml
task: global_mmlu_yo
4 changes: 4 additions & 0 deletions lm_eval/tasks/global_mmlu/global_mmlu_zh.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Generated by _generate_configs.py
dataset_name: zh
include: _default_yaml
task: global_mmlu_zh

0 comments on commit 2b75b11

Please sign in to comment.