Commit abd17276 authored by Baber's avatar Baber
Browse files

Merge branch 'smolrefact' into tasklist

# Conflicts:
#	lm_eval/__main__.py
#	lm_eval/api/group.py
#	lm_eval/api/task.py
#	lm_eval/evaluator_utils.py
#	lm_eval/tasks/__init__.py
#	lm_eval/utils.py
#	pyproject.toml
parents 00afd536 70314843
description: '以下は物理学に関する選択問題(解答付き)です。段階的に考え、最後に「答えは (X) です」と回答を締めくくってください。Xは正解の選択肢を示す文字です。
'
include: _ja_lite_template_yaml
task: mmlu_prox_lite_ja_physics
task_alias: physics
process_docs: !function utils.process_physics
description: '以下は心理学に関する選択問題(解答付き)です。段階的に考え、最後に「答えは (X) です」と回答を締めくくってください。Xは正解の選択肢を示す文字です。
'
include: _ja_lite_template_yaml
task: mmlu_prox_lite_ja_psychology
task_alias: psychology
process_docs: !function utils.process_psychology
dataset_path: li-lab/MMLU-ProX-Lite
dataset_name: ko
test_split: test
fewshot_split: validation
fewshot_config:
sampler: first_n
doc_to_text: !function utils.fewshot_to_text
doc_to_target: ""
output_type: generate_until
doc_to_text: !function utils.doc_to_text
doc_to_target: answer
filter_list:
- name: "custom-extract"
filter:
- function: "regex"
regex_pattern: '답은 \(?([ABCDEFGHIJ])\)?입니다'
- function: "take_first"
generation_kwargs:
until:
- "</s>"
- "Q:"
- "질문:"
- "<|im_end|>"
do_sample: false
temperature: 0.0
max_gen_toks: 2048
num_fewshot: 5
metric_list:
- metric: exact_match
aggregation: mean
higher_is_better: true
ignore_case: true
ignore_punctuation: true
metadata:
version: 0.0
group: mmlu_prox_lite_ko
task:
- mmlu_prox_lite_ko_biology
- mmlu_prox_lite_ko_business
- mmlu_prox_lite_ko_chemistry
- mmlu_prox_lite_ko_computer_science
- mmlu_prox_lite_ko_economics
- mmlu_prox_lite_ko_engineering
- mmlu_prox_lite_ko_health
- mmlu_prox_lite_ko_history
- mmlu_prox_lite_ko_law
- mmlu_prox_lite_ko_math
- mmlu_prox_lite_ko_other
- mmlu_prox_lite_ko_philosophy
- mmlu_prox_lite_ko_physics
- mmlu_prox_lite_ko_psychology
aggregate_metric_list:
- aggregation: mean
metric: exact_match
weight_by_size: true
filter_list: custom-extract
metadata:
version: 0.0
description: '다음은 생물학에 관한 객관식 문제(정답 포함)입니다. 단계적으로 생각한 다음 "답은 (X)입니다"로 답변을 마무리하세요.
여기서 X는 올바른 선택지 문자입니다.
'
include: _ko_lite_template_yaml
task: mmlu_prox_lite_ko_biology
task_alias: biology
process_docs: !function utils.process_biology
description: '다음은 경영학에 관한 객관식 문제(정답 포함)입니다. 단계적으로 생각한 다음 "답은 (X)입니다"로 답변을 마무리하세요.
여기서 X는 올바른 선택지 문자입니다.
'
include: _ko_lite_template_yaml
task: mmlu_prox_lite_ko_business
task_alias: business
process_docs: !function utils.process_business
description: '다음은 화학에 관한 객관식 문제(정답 포함)입니다. 단계적으로 생각한 다음 "답은 (X)입니다"로 답변을 마무리하세요. 여기서
X는 올바른 선택지 문자입니다.
'
include: _ko_lite_template_yaml
task: mmlu_prox_lite_ko_chemistry
task_alias: chemistry
process_docs: !function utils.process_chemistry
description: '다음은 컴퓨터 과학에 관한 객관식 문제(정답 포함)입니다. 단계적으로 생각한 다음 "답은 (X)입니다"로 답변을 마무리하세요.
여기서 X는 올바른 선택지 문자입니다.
'
include: _ko_lite_template_yaml
task: mmlu_prox_lite_ko_computer_science
task_alias: computer_science
process_docs: !function utils.process_computer_science
description: '다음은 경제학에 관한 객관식 문제(정답 포함)입니다. 단계적으로 생각한 다음 "답은 (X)입니다"로 답변을 마무리하세요.
여기서 X는 올바른 선택지 문자입니다.
'
include: _ko_lite_template_yaml
task: mmlu_prox_lite_ko_economics
task_alias: economics
process_docs: !function utils.process_economics
description: '다음은 공학에 관한 객관식 문제(정답 포함)입니다. 단계적으로 생각한 다음 "답은 (X)입니다"로 답변을 마무리하세요. 여기서
X는 올바른 선택지 문자입니다.
'
include: _ko_lite_template_yaml
task: mmlu_prox_lite_ko_engineering
task_alias: engineering
process_docs: !function utils.process_engineering
description: '다음은 건강에 관한 객관식 문제(정답 포함)입니다. 단계적으로 생각한 다음 "답은 (X)입니다"로 답변을 마무리하세요. 여기서
X는 올바른 선택지 문자입니다.
'
include: _ko_lite_template_yaml
task: mmlu_prox_lite_ko_health
task_alias: health
process_docs: !function utils.process_health
description: '다음은 역사에 관한 객관식 문제(정답 포함)입니다. 단계적으로 생각한 다음 "답은 (X)입니다"로 답변을 마무리하세요. 여기서
X는 올바른 선택지 문자입니다.
'
include: _ko_lite_template_yaml
task: mmlu_prox_lite_ko_history
task_alias: history
process_docs: !function utils.process_history
description: '다음은 법률에 관한 객관식 문제(정답 포함)입니다. 단계적으로 생각한 다음 "답은 (X)입니다"로 답변을 마무리하세요. 여기서
X는 올바른 선택지 문자입니다.
'
include: _ko_lite_template_yaml
task: mmlu_prox_lite_ko_law
task_alias: law
process_docs: !function utils.process_law
description: '다음은 수학에 관한 객관식 문제(정답 포함)입니다. 단계적으로 생각한 다음 "답은 (X)입니다"로 답변을 마무리하세요. 여기서
X는 올바른 선택지 문자입니다.
'
include: _ko_lite_template_yaml
task: mmlu_prox_lite_ko_math
task_alias: math
process_docs: !function utils.process_math
description: '다음은 기타에 관한 객관식 문제(정답 포함)입니다. 단계적으로 생각한 다음 "답은 (X)입니다"로 답변을 마무리하세요. 여기서
X는 올바른 선택지 문자입니다.
'
include: _ko_lite_template_yaml
task: mmlu_prox_lite_ko_other
task_alias: other
process_docs: !function utils.process_other
description: '다음은 철학에 관한 객관식 문제(정답 포함)입니다. 단계적으로 생각한 다음 "답은 (X)입니다"로 답변을 마무리하세요. 여기서
X는 올바른 선택지 문자입니다.
'
include: _ko_lite_template_yaml
task: mmlu_prox_lite_ko_philosophy
task_alias: philosophy
process_docs: !function utils.process_philosophy
description: '다음은 물리학에 관한 객관식 문제(정답 포함)입니다. 단계적으로 생각한 다음 "답은 (X)입니다"로 답변을 마무리하세요.
여기서 X는 올바른 선택지 문자입니다.
'
include: _ko_lite_template_yaml
task: mmlu_prox_lite_ko_physics
task_alias: physics
process_docs: !function utils.process_physics
description: '다음은 심리학에 관한 객관식 문제(정답 포함)입니다. 단계적으로 생각한 다음 "답은 (X)입니다"로 답변을 마무리하세요.
여기서 X는 올바른 선택지 문자입니다.
'
include: _ko_lite_template_yaml
task: mmlu_prox_lite_ko_psychology
task_alias: psychology
process_docs: !function utils.process_psychology
...@@ -63,6 +63,14 @@ LANG_LIBS = { ...@@ -63,6 +63,14 @@ LANG_LIBS = {
"A: Vamos pensar passo a passo.", "A: Vamos pensar passo a passo.",
"A resposta é ({})", "A resposta é ({})",
], ],
"zu": [
"Umbuzo:",
"Izinketho:",
"Impendulo: Asicabange isinyathelo ngesinyathelo.",
'Okulandelayo yimibuzo ehlukahlukene (enezimpendulo) mayelana ne-{subject}. Cabanga isinyathelo ngesinyathelo bese uqeda impendulo yakho nge-"{ans_suffix}" lapho u-X eyinhlamvu eyisinqumo esifanele.',
"A: Asicabange isinyathelo ngesinyathelo.",
"Impendulo ithi ({})",
],
"sw": [ "sw": [
"Swali:", "Swali:",
"Chaguo:", "Chaguo:",
...@@ -71,6 +79,22 @@ LANG_LIBS = { ...@@ -71,6 +79,22 @@ LANG_LIBS = {
"A: Hebu tufikiria hatua kwa hatua.", "A: Hebu tufikiria hatua kwa hatua.",
"Jibu ni ({})", "Jibu ni ({})",
], ],
"wo": [
"Laaj:",
"Tànneef:",
"Tontu: Nan xalaat ci dooley dooley.",
'Li ci topp ay laaj yu am tànneef la (ak tontu) ci mbir mi ñuy wax {subject}. Xalaatal ci dooley dooley te nga jeexal sa tontu ak "{ans_suffix}" fu X di araf bi jëkk ci tontu bi.',
"A: Nan xalaat ci dooley dooley.",
"Tontu bi mooy ({})",
],
"yo": [
"Ìbéèrè:",
"Àwọn àṣàyàn:",
"Ìdáhùn: Ẹ jẹ́ ká ronú lọ́nà tíṣíṣe.",
'Àwọn wọ̀nyí jẹ́ àwọn ìbéèrè ọ̀pọ̀ àṣàyàn (pẹ̀lú àwọn ìdáhùn) nípa {subject}. Rò ní ìṣẹ́sẹ́ kí o sì parí ìdáhùn rẹ pẹ̀lú "{ans_suffix}" níbi tí X jẹ́ lẹ́tà àṣàyàn tó tọ́.',
"A: Ẹ jẹ́ ká ronú lọ́nà tíṣíṣe.",
"Ìdáhùn náà ni ({})",
],
"th": [ "th": [
"คำถาม:", "คำถาม:",
"ตัวเลือก:", "ตัวเลือก:",
...@@ -103,6 +127,110 @@ LANG_LIBS = { ...@@ -103,6 +127,110 @@ LANG_LIBS = {
"A: আসুন ধাপে ধাপে চিন্তা করি।", "A: আসুন ধাপে ধাপে চিন্তা করি।",
"উত্তর হল ({})", "উত্তর হল ({})",
], ],
"mr": [
"प्रश्न:",
"पर्याय:",
"उत्तर: चला पायरी पायरीने विचार करू.",
'खाली {subject} विषयावरील बहुपर्यायी प्रश्न आहेत (उत्तरांसह). कृपया पायरी पायरीने विचार करा आणि आपले उत्तर "{ans_suffix}" असे संपवा, जिथे X हे योग्य पर्यायाचे अक्षर आहे.',
"A: चला पायरी पायरीने विचार करू.",
"उत्तर आहे ({})",
],
"ne": [
"प्रश्न:",
"विकल्पहरू:",
"उत्तर: चरणबद्ध रूपमा सोचौं।",
'यहाँ {subject} सम्बन्धी बहुवैकल्पिक प्रश्नहरू छन् (उत्तरहरू सहित)। कृपया चरणबद्ध रूपमा सोच्नुहोस् र आफ्नो उत्तर "{ans_suffix}" बाट अन्त्य गर्नुहोस्, जहाँ X सही विकल्पको अक्षर हो।',
"A: चरणबद्ध रूपमा सोचौं।",
"उत्तर ({}) हो।",
],
"af": [
"Vraag:",
"Opsies:",
"Antwoord: Kom ons dink stap vir stap.",
'Hier is \'n multikeusevraag oor {subject} (met antwoorde). Dink asseblief stap vir stap en eindig jou antwoord met "{ans_suffix}", waar X die letter van die korrekte opsie is.',
"A: Kom ons dink stap vir stap.",
"Die antwoord is ({})",
],
"te": [
"ప్రశ్న:",
"ఎంపికలు:",
"సమాధానం: దశలవారీగా ఆలోచిద్దాం.",
'క్రింది {subject}కి సంబంధించిన బహుళఎంపిక ప్రశ్న (సమాధానాలతో). దయచేసి దశలవారీగా ఆలోచించి, మీ సమాధానాన్ని "{ans_suffix}"తో ముగించండి, ఇక్కడ X సరైన ఎంపిక అక్షరం.',
"A: దశలవారీగా ఆలోచిద్దాం.",
"సమాధానం ({})",
],
"ur": [
"سوال:",
"آپشنز:",
"جواب: آئیے قدم بہ قدم سوچتے ہیں۔",
'درج ذیل {subject} کے متعلق ایک متعدد انتخابی سوال ہے (جوابات کے ساتھ)۔ براہ کرم قدم بہ قدم سوچیں، اور پھر اپنے جواب کو "{ans_suffix}" کے ساتھ ختم کریں، جہاں X درست آپشن کا حرف ہے۔',
"A: آئیے قدم بہ قدم سوچتے ہیں۔",
"جواب ({}) ہے",
],
"ru": [
"Вопрос:",
"Варианты:",
"Ответ: Давайте подумаем шаг за шагом.",
'Ниже приведен вопрос с множественным выбором о {subject} (с ответами). Пожалуйста, размышляйте шаг за шагом, а затем завершите свой ответ с "{ans_suffix}", где X - это буква правильного варианта.',
"A: Давайте подумаем шаг за шагом.",
"Ответ - ({})",
],
"id": [
"Pertanyaan:",
"Pilihan:",
"Jawaban: Mari berpikir langkah demi langkah.",
'Berikut adalah pertanyaan pilihan ganda tentang {subject} (dengan jawaban). Harap berpikir langkah demi langkah, lalu akhiri jawaban Anda dengan "{ans_suffix}", di mana X adalah huruf pilihan yang benar.',
"A: Mari berpikir langkah demi langkah.",
"Jawabannya adalah ({})",
],
"vi": [
"Câu hỏi:",
"Lựa chọn:",
"Trả lời: Hãy suy nghĩ từng bước một.",
'Dưới đây là câu hỏi trắc nghiệm về {subject} (kèm đáp án). Vui lòng suy nghĩ từng bước, sau đó kết thúc câu trả lời của bạn bằng "{ans_suffix}", trong đó X là chữ cái của lựa chọn đúng.',
"A: Hãy suy nghĩ từng bước một.",
"Câu trả lời là ({})",
],
"cs": [
"Otázka:",
"Možnosti:",
"Odpověď: Přemýšlejme krok za krokem.",
'Zde je otázka s výběrem možností k tématu {subject} (s odpovědí). Přemýšlejte prosím krok za krokem a svou odpověď zakončete "{ans_suffix}", kde X je písmeno správné možnosti.',
"A: Přemýšlejme krok za krokem.",
"Odpověď je ({})",
],
"hu": [
"Kérdés:",
"Opciók:",
"Válasz: Gondolkodjunk lépésről lépésre.",
'Itt van egy feleletválasztós kérdés a(z) {subject} témában (választ is tartalmazza). Kérjük, gondolkodjon lépésről lépésre, és a válaszát a(z) "{ans_suffix}" kifejezéssel fejezze be, ahol X a helyes válasz betűjele.',
"A: Gondolkodjunk lépésről lépésre.",
"A válasz ({})",
],
"it": [
"Domanda:",
"Opzioni:",
"Risposta: Ragioniamo passo dopo passo.",
'Ecco una domanda a scelta multipla su {subject} (con risposta). Si prega di ragionare passo dopo passo e terminare la risposta con "{ans_suffix}", dove X è la lettera dell\'opzione corretta.',
"A: Ragioniamo passo dopo passo.",
"La risposta è ({})",
],
"sr": [
"Pitanje:",
"Opcije:",
"Odgovor: Razmislimo korak po korak.",
'Evo pitanja sa višestrukim izborom o {subject} (sa odgovorom). Molimo vas da razmislite korak po korak i završite svoj odgovor sa "{ans_suffix}", gde je X slovo tačne opcije.',
"A: Razmislimo korak po korak.",
"Odgovor je ({})",
],
"uk": [
"Питання:",
"Варіанти:",
"Відповідь: Давайте подумаємо крок за кроком.",
'Ось запитання з вибором відповідей на тему {subject} (з відповіддю). Будь ласка, подумайте крок за кроком і закінчіть свою відповідь "{ans_suffix}", де X – літера правильного варіанту.',
"A: Давайте подумаємо крок за кроком.",
"Відповідь: ({})",
],
} }
...@@ -235,6 +363,22 @@ LANG_SUBJECTS = { ...@@ -235,6 +363,22 @@ LANG_SUBJECTS = {
"physics": "física", "physics": "física",
"psychology": "psicologia", "psychology": "psicologia",
}, },
"zu": {
"biology": "isayensi yezilwane",
"business": "ibhizinisi",
"chemistry": "i-chemistry",
"computer_science": "isayensi yekhompyutha",
"economics": "ezomnotho",
"engineering": "ubunjiniyela",
"health": "ezempilo",
"history": "umlando",
"law": "umthetho",
"math": "izibalo",
"other": "okunye",
"philosophy": "ifilosofi",
"physics": "ifiziksi",
"psychology": "isayensi yengqondo",
},
"sw": { "sw": {
"biology": "biolojia", "biology": "biolojia",
"business": "biashara", "business": "biashara",
...@@ -251,6 +395,38 @@ LANG_SUBJECTS = { ...@@ -251,6 +395,38 @@ LANG_SUBJECTS = {
"physics": "fizikia", "physics": "fizikia",
"psychology": "saikolojia", "psychology": "saikolojia",
}, },
"wo": {
"biology": "biologi",
"business": "njëriñ",
"chemistry": "simi",
"computer_science": "xam-xam ordinatëer",
"economics": "ekonomi",
"engineering": "injenyëer",
"health": "wergui yaramu",
"history": "taariix",
"law": "yoon",
"math": "matematig",
"other": "yeneen",
"philosophy": "filosofi",
"physics": "fisik",
"psychology": "sikoloji",
},
"yo": {
"biology": "ìmọ̀ nípa ẹ̀dá ààyè",
"business": "iṣẹ́ òwò",
"chemistry": "kẹ́místrì",
"computer_science": "ìmọ̀ kọ̀mpútà",
"economics": "ọ̀rọ̀ ajé",
"engineering": "ìmọ̀ ìṣeiṣẹ́",
"health": "ìlera",
"history": "ìtàn",
"law": "òfin",
"math": "ìṣirò",
"other": "òmíràn",
"philosophy": "ìmọ̀ ọgbọ́n",
"physics": "físíksì",
"psychology": "ìmọ̀ inú",
},
"th": { "th": {
"biology": "ชีววิทยา", "biology": "ชีววิทยา",
"business": "ธุรกิจ", "business": "ธุรกิจ",
...@@ -315,4 +491,212 @@ LANG_SUBJECTS = { ...@@ -315,4 +491,212 @@ LANG_SUBJECTS = {
"physics": "পদার্থবিজ্ঞান", "physics": "পদার্থবিজ্ঞান",
"psychology": "মনোবিজ্ঞান", "psychology": "মনোবিজ্ঞান",
}, },
"mr": {
"biology": "जीवशास्त्र",
"business": "व्यवसाय",
"chemistry": "रसायनशास्त्र",
"computer_science": "संगणकशास्त्र",
"economics": "अर्थशास्त्र",
"engineering": "अभियांत्रिकी",
"health": "आरोग्य",
"history": "इतिहास",
"law": "कायदा",
"math": "गणित",
"other": "इतर",
"philosophy": "तत्त्वज्ञान",
"physics": "भौतिकशास्त्र",
"psychology": "मानसशास्त्र",
},
"ne": {
"biology": "जीवविज्ञान",
"business": "व्यापार",
"chemistry": "रसायनशास्त्र",
"computer_science": "कम्प्युटर विज्ञान",
"economics": "अर्थशास्त्र",
"engineering": "इन्जिनियरिङ",
"health": "स्वास्थ्य",
"history": "इतिहास",
"law": "कानून",
"math": "गणित",
"other": "अन्य",
"philosophy": "दर्शनशास्त्र",
"physics": "भौतिकशास्त्र",
"psychology": "मनोविज्ञान",
},
"af": {
"biology": "Biologie",
"business": "Besigheid",
"chemistry": "Chemie",
"computer_science": "Rekenaarwetenskap",
"economics": "Ekonomie",
"engineering": "Ingenieurswese",
"health": "Gesondheid",
"history": "Geskiedenis",
"law": "Regte",
"math": "Wiskunde",
"other": "Ander",
"philosophy": "Filosofie",
"physics": "Fisika",
"psychology": "Sielkunde",
},
"te": {
"biology": "జీవశాస్త్రం",
"business": "వ్యాపారం",
"chemistry": "రసాయన శాస్త్రం",
"computer_science": "కంప్యూటర్ సైన్స్",
"economics": "ఆర్థిక శాస్త్రం",
"engineering": "ఇంజనీరింగ్",
"health": "ఆరోగ్యం",
"history": "చరిత్ర",
"law": "న్యాయశాస్త్రం",
"math": "గణితం",
"other": "ఇతరమైన",
"philosophy": "తత్వవేత్త",
"physics": "భౌతిక శాస్త్రం",
"psychology": "మనోవిజ్ఞానశాస్త్రం",
},
"ur": {
"biology": "حیاتیات",
"business": "کاروبار",
"chemistry": "کیمیا",
"computer_science": "کمپیوٹر سائنس",
"economics": "معاشیات",
"engineering": "انجینئرنگ",
"health": "صحت",
"history": "تاریخ",
"law": "قانون",
"math": "ریاضی",
"other": "دیگر",
"philosophy": "فلسفہ",
"physics": "طبیعیات",
"psychology": "نفسیات",
},
"ru": {
"biology": "Биология",
"business": "Бизнес",
"chemistry": "Химия",
"computer_science": "Информатика",
"economics": "Экономика",
"engineering": "Инженерия",
"health": "Здравоохранение",
"history": "История",
"law": "Право",
"math": "Математика",
"other": "Другое",
"philosophy": "Философия",
"physics": "Физика",
"psychology": "Психология",
},
"id": {
"biology": "Biologi",
"business": "Bisnis",
"chemistry": "Kimia",
"computer_science": "Ilmu Komputer",
"economics": "Ekonomi",
"engineering": "Teknik",
"health": "Kesehatan",
"history": "Sejarah",
"law": "Hukum",
"math": "Matematika",
"other": "Lainnya",
"philosophy": "Filsafat",
"physics": "Fisika",
"psychology": "Psikologi",
},
"vi": {
"biology": "Sinh học",
"business": "Kinh doanh",
"chemistry": "Hóa học",
"computer_science": "Khoa học máy tính",
"economics": "Kinh tế học",
"engineering": "Kỹ thuật",
"health": "Sức khỏe",
"history": "Lịch sử",
"law": "Luật pháp",
"math": "Toán học",
"other": "Khác",
"philosophy": "Triết học",
"physics": "Vật lý học",
"psychology": "Tâm lý học",
},
"cs": {
"biology": "biologie",
"business": "obchod",
"chemistry": "chemie",
"computer_science": "informatika",
"economics": "ekonomie",
"engineering": "inženýrství",
"health": "zdraví",
"history": "historie",
"law": "právo",
"math": "matematika",
"other": "ostatní",
"philosophy": "filozofie",
"physics": "fyzika",
"psychology": "psychologie",
},
"hu": {
"biology": "biológia",
"business": "üzlet",
"chemistry": "kémia",
"computer_science": "informatika",
"economics": "közgazdaságtan",
"engineering": "mérnöki tudományok",
"health": "egészség",
"history": "történelem",
"law": "jog",
"math": "matematika",
"other": "egyéb",
"philosophy": "filozófia",
"physics": "fizika",
"psychology": "pszichológia",
},
"it": {
"biology": "biologia",
"business": "affari",
"chemistry": "chimica",
"computer_science": "informatica",
"economics": "economia",
"engineering": "ingegneria",
"health": "salute",
"history": "storia",
"law": "diritto",
"math": "matematica",
"other": "altro",
"philosophy": "filosofia",
"physics": "fisica",
"psychology": "psicologia",
},
"sr": {
"biology": "biologija",
"business": "poslovanje",
"chemistry": "hemija",
"computer_science": "računarstvo",
"economics": "ekonomija",
"engineering": "inženjerstvo",
"health": "zdravlje",
"history": "istorija",
"law": "pravo",
"math": "matematika",
"other": "ostalo",
"philosophy": "filozofija",
"physics": "fizika",
"psychology": "psihologija",
},
"uk": {
"biology": "біологія",
"business": "бізнес",
"chemistry": "хімія",
"computer_science": "інформатика",
"economics": "економіка",
"engineering": "інженерія",
"health": "здоров'я",
"history": "історія",
"law": "право",
"math": "математика",
"other": "інше",
"philosophy": "філософія",
"physics": "фізика",
"psychology": "психологія",
},
} }
...@@ -14,28 +14,51 @@ language_word_to_abbr = { ...@@ -14,28 +14,51 @@ language_word_to_abbr = {
"German": "de", "German": "de",
"Spanish": "es", "Spanish": "es",
"Portuguese": "pt", "Portuguese": "pt",
"Zulu": "zu",
"Swahili": "sw", "Swahili": "sw",
"Wolof": "wo",
"Yoruba": "yo",
"Thai": "th", "Thai": "th",
"Arabic": "ar", "Arabic": "ar",
"Hindi": "hi", "Hindi": "hi",
"Bengali": "bn", "Bengali": "bn",
"Marathi": "mr",
"Afrikaans": "af",
"Nepali": "ne",
"Telugu": "te",
"Urdu": "ur",
"Russian": "ru",
"Indonesian": "id",
"Czech": "cs",
"Hungarian": "hu",
"Italian": "it",
"Serbian": "sr",
"Ukrainian": "uk",
"Vietnamese": "vi",
} }
language_abbr_to_word = {v: k for k, v in language_word_to_abbr.items()} language_abbr_to_word = {v: k for k, v in language_word_to_abbr.items()}
CURRENT_DIR = os.path.dirname(__file__)
if __name__ == "__main__": if __name__ == "__main__":
mmlu_pro_config_dir = "../mmlu_pro" mmlu_pro_config_dir = os.path.abspath(f"{CURRENT_DIR}/../mmlu_pro")
mmlu_prox_repo_id = "li-lab/MMLU-ProX" mmlu_prox_repo_id = "li-lab/MMLU-ProX"
for lang_abbr in language_abbr_to_word: for lang_abbr in language_abbr_to_word:
os.makedirs(lang_abbr, exist_ok=True) os.makedirs(f"{CURRENT_DIR}/{lang_abbr}", exist_ok=True)
lang_lib_list = LANG_LIBS[lang_abbr] lang_lib_list = LANG_LIBS[lang_abbr]
lang_sbj_dict = LANG_SUBJECTS[lang_abbr] lang_sbj_dict = LANG_SUBJECTS[lang_abbr]
que_desc = lang_lib_list[3]
with ( with (
open("template/_lang_template_yaml", "r") as reader, open(f"{CURRENT_DIR}/template/_lang_template_yaml", "r") as reader,
open(f"{lang_abbr}/_{lang_abbr}_template_yaml", "w") as writer, open(
f"{CURRENT_DIR}/{lang_abbr}/_{lang_abbr}_template_yaml",
"w",
) as writer,
): ):
for line in reader.readlines(): for line in reader.readlines():
if "{repo_id}" in line: if "{repo_id}" in line:
...@@ -53,7 +76,10 @@ if __name__ == "__main__": ...@@ -53,7 +76,10 @@ if __name__ == "__main__":
line = line.format(que_prefix=lang_lib_list[0]) line = line.format(que_prefix=lang_lib_list[0])
writer.write(line) writer.write(line)
shutil.copy("template/utils.py", f"{lang_abbr}/utils.py") shutil.copy(
f"{CURRENT_DIR}/template/utils.py",
f"{CURRENT_DIR}/{lang_abbr}/utils.py",
)
group_name = f"mmlu_prox_{lang_abbr}" group_name = f"mmlu_prox_{lang_abbr}"
group_dict = dict( group_dict = dict(
...@@ -69,7 +95,11 @@ if __name__ == "__main__": ...@@ -69,7 +95,11 @@ if __name__ == "__main__":
], ],
metadata=dict(version=0.0), metadata=dict(version=0.0),
) )
with open(f"{lang_abbr}/_{group_name}.yaml", "w", encoding="utf-8") as f: with open(
f"{CURRENT_DIR}/{lang_abbr}/_{group_name}.yaml",
"w",
encoding="utf-8",
) as f:
yaml.dump( yaml.dump(
group_dict, group_dict,
f, f,
...@@ -88,16 +118,20 @@ if __name__ == "__main__": ...@@ -88,16 +118,20 @@ if __name__ == "__main__":
sbj_yaml_last_line = line.strip() sbj_yaml_last_line = line.strip()
sbj_dict = dict( sbj_dict = dict(
description=lang_lib_list[3].format( description=que_desc.format(
subject=lang_sbj_dict[sbj], ans_suffix=lang_lib_list[5].format("X") subject=lang_sbj_dict[sbj],
ans_suffix=lang_lib_list[5].format("X"),
) )
+ "\n", + "\n",
include=f"_{lang_abbr}_template_yaml", include=f"_{lang_abbr}_template_yaml",
task=f"{group_name}_{sbj}", task=f"{group_name}_{sbj}",
task_alias=sbj, task_alias=sbj,
) )
with open( with open(
f"{lang_abbr}/{group_name}_{sbj}.yaml", "w", encoding="utf-8" f"{CURRENT_DIR}/{lang_abbr}/{group_name}_{sbj}.yaml",
"w",
encoding="utf-8",
) as f: ) as f:
yaml.dump( yaml.dump(
sbj_dict, sbj_dict,
...@@ -107,7 +141,9 @@ if __name__ == "__main__": ...@@ -107,7 +141,9 @@ if __name__ == "__main__":
sort_keys=False, sort_keys=False,
) )
with open( with open(
f"{lang_abbr}/{group_name}_{sbj}.yaml", "a", encoding="utf-8" f"{CURRENT_DIR}/{lang_abbr}/{group_name}_{sbj}.yaml",
"a",
encoding="utf-8",
) as f: ) as f:
f.write(sbj_yaml_last_line + "\n") f.write(sbj_yaml_last_line + "\n")
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment