Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
gaoqiong
lm-evaluation-harness
Commits
bdddfec2
Unverified
Commit
bdddfec2
authored
Sep 21, 2023
by
Hailey Schoelkopf
Committed by
GitHub
Sep 21, 2023
Browse files
Merge pull request #864 from EleutherAI/add-fewshot-config
[Refactor] CMMLU, C-Eval port ; Add fewshot config
parents
0f6cd358
f88ffeee
Changes
131
Show whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
220 additions
and
0 deletions
+220
-0
lm_eval/tasks/cmmlu/_default_template_yaml
lm_eval/tasks/cmmlu/_default_template_yaml
+17
-0
lm_eval/tasks/cmmlu/_generate_configs.py
lm_eval/tasks/cmmlu/_generate_configs.py
+131
-0
lm_eval/tasks/cmmlu/cmmlu_default_agronomy.yaml
lm_eval/tasks/cmmlu/cmmlu_default_agronomy.yaml
+4
-0
lm_eval/tasks/cmmlu/cmmlu_default_anatomy.yaml
lm_eval/tasks/cmmlu/cmmlu_default_anatomy.yaml
+4
-0
lm_eval/tasks/cmmlu/cmmlu_default_ancient_chinese.yaml
lm_eval/tasks/cmmlu/cmmlu_default_ancient_chinese.yaml
+4
-0
lm_eval/tasks/cmmlu/cmmlu_default_arts.yaml
lm_eval/tasks/cmmlu/cmmlu_default_arts.yaml
+4
-0
lm_eval/tasks/cmmlu/cmmlu_default_astronomy.yaml
lm_eval/tasks/cmmlu/cmmlu_default_astronomy.yaml
+4
-0
lm_eval/tasks/cmmlu/cmmlu_default_business_ethics.yaml
lm_eval/tasks/cmmlu/cmmlu_default_business_ethics.yaml
+4
-0
lm_eval/tasks/cmmlu/cmmlu_default_chinese_civil_service_exam.yaml
...tasks/cmmlu/cmmlu_default_chinese_civil_service_exam.yaml
+4
-0
lm_eval/tasks/cmmlu/cmmlu_default_chinese_driving_rule.yaml
lm_eval/tasks/cmmlu/cmmlu_default_chinese_driving_rule.yaml
+4
-0
lm_eval/tasks/cmmlu/cmmlu_default_chinese_food_culture.yaml
lm_eval/tasks/cmmlu/cmmlu_default_chinese_food_culture.yaml
+4
-0
lm_eval/tasks/cmmlu/cmmlu_default_chinese_foreign_policy.yaml
...val/tasks/cmmlu/cmmlu_default_chinese_foreign_policy.yaml
+4
-0
lm_eval/tasks/cmmlu/cmmlu_default_chinese_history.yaml
lm_eval/tasks/cmmlu/cmmlu_default_chinese_history.yaml
+4
-0
lm_eval/tasks/cmmlu/cmmlu_default_chinese_literature.yaml
lm_eval/tasks/cmmlu/cmmlu_default_chinese_literature.yaml
+4
-0
lm_eval/tasks/cmmlu/cmmlu_default_chinese_teacher_qualification.yaml
...ks/cmmlu/cmmlu_default_chinese_teacher_qualification.yaml
+4
-0
lm_eval/tasks/cmmlu/cmmlu_default_clinical_knowledge.yaml
lm_eval/tasks/cmmlu/cmmlu_default_clinical_knowledge.yaml
+4
-0
lm_eval/tasks/cmmlu/cmmlu_default_college_actuarial_science.yaml
.../tasks/cmmlu/cmmlu_default_college_actuarial_science.yaml
+4
-0
lm_eval/tasks/cmmlu/cmmlu_default_college_education.yaml
lm_eval/tasks/cmmlu/cmmlu_default_college_education.yaml
+4
-0
lm_eval/tasks/cmmlu/cmmlu_default_college_engineering_hydrology.yaml
...ks/cmmlu/cmmlu_default_college_engineering_hydrology.yaml
+4
-0
lm_eval/tasks/cmmlu/cmmlu_default_college_law.yaml
lm_eval/tasks/cmmlu/cmmlu_default_college_law.yaml
+4
-0
No files found.
lm_eval/tasks/cmmlu/_default_template_yaml
0 → 100644
View file @
bdddfec2
group: cmmlu
dataset_path: haonan-li/cmmlu
test_split: test
fewshot_split: dev
fewshot_config:
sampler: first_n
output_type: multiple_choice
doc_to_text: "{{Question.strip()}}\nA. {{A}}\nB. {{B}}\nC. {{C}}\nD. {{D}}\n答案:"
doc_to_choice: ["A", "B", "C", "D"]
doc_to_target: "{{['A', 'B', 'C', 'D'].index(Answer)}}"
metric_list:
- metric: acc
aggregation: mean
higher_is_better: true
- metric: acc_norm
aggregation: mean
higher_is_better: true
lm_eval/tasks/cmmlu/_generate_configs.py
0 → 100644
View file @
bdddfec2
"""
Take in a YAML, and output all other splits with this YAML
"""
import
os
import
yaml
import
argparse
from
tqdm
import
tqdm
from
lm_eval.logger
import
eval_logger
SUBJECTS
=
{
"agronomy"
:
"农学"
,
"anatomy"
:
"解剖学"
,
"ancient_chinese"
:
"古汉语"
,
"arts"
:
"艺术学"
,
"astronomy"
:
"天文学"
,
"business_ethics"
:
"商业伦理"
,
"chinese_civil_service_exam"
:
"中国公务员考试"
,
"chinese_driving_rule"
:
"中国驾驶规则"
,
"chinese_food_culture"
:
"中国饮食文化"
,
"chinese_foreign_policy"
:
"中国外交政策"
,
"chinese_history"
:
"中国历史"
,
"chinese_literature"
:
"中国文学"
,
"chinese_teacher_qualification"
:
"中国教师资格"
,
"clinical_knowledge"
:
"临床知识"
,
"college_actuarial_science"
:
"大学精算学"
,
"college_education"
:
"大学教育学"
,
"college_engineering_hydrology"
:
"大学工程水文学"
,
"college_law"
:
"大学法律"
,
"college_mathematics"
:
"大学数学"
,
"college_medical_statistics"
:
"大学医学统计"
,
"college_medicine"
:
"大学医学"
,
"computer_science"
:
"计算机科学"
,
"computer_security"
:
"计算机安全"
,
"conceptual_physics"
:
"概念物理学"
,
"construction_project_management"
:
"建设工程管理"
,
"economics"
:
"经济学"
,
"education"
:
"教育学"
,
"electrical_engineering"
:
"电气工程"
,
"elementary_chinese"
:
"小学语文"
,
"elementary_commonsense"
:
"小学常识"
,
"elementary_information_and_technology"
:
"小学信息技术"
,
"elementary_mathematics"
:
"初等数学"
,
"ethnology"
:
"民族学"
,
"food_science"
:
"食品科学"
,
"genetics"
:
"遗传学"
,
"global_facts"
:
"全球事实"
,
"high_school_biology"
:
"高中生物"
,
"high_school_chemistry"
:
"高中化学"
,
"high_school_geography"
:
"高中地理"
,
"high_school_mathematics"
:
"高中数学"
,
"high_school_physics"
:
"高中物理学"
,
"high_school_politics"
:
"高中政治"
,
"human_sexuality"
:
"人类性行为"
,
"international_law"
:
"国际法学"
,
"journalism"
:
"新闻学"
,
"jurisprudence"
:
"法理学"
,
"legal_and_moral_basis"
:
"法律与道德基础"
,
"logical"
:
"逻辑学"
,
"machine_learning"
:
"机器学习"
,
"management"
:
"管理学"
,
"marketing"
:
"市场营销"
,
"marxist_theory"
:
"马克思主义理论"
,
"modern_chinese"
:
"现代汉语"
,
"nutrition"
:
"营养学"
,
"philosophy"
:
"哲学"
,
"professional_accounting"
:
"专业会计"
,
"professional_law"
:
"专业法学"
,
"professional_medicine"
:
"专业医学"
,
"professional_psychology"
:
"专业心理学"
,
"public_relations"
:
"公共关系"
,
"security_study"
:
"安全研究"
,
"sociology"
:
"社会学"
,
"sports_science"
:
"体育学"
,
"traditional_chinese_medicine"
:
"中医中药"
,
"virology"
:
"病毒学"
,
"world_history"
:
"世界历史"
,
"world_religions"
:
"世界宗教"
,
}
def
parse_args
():
parser
=
argparse
.
ArgumentParser
()
parser
.
add_argument
(
"--base_yaml_path"
,
required
=
True
)
parser
.
add_argument
(
"--save_prefix_path"
,
default
=
"cmmlu"
)
parser
.
add_argument
(
"--cot_prompt_path"
,
default
=
None
)
parser
.
add_argument
(
"--task_prefix"
,
default
=
""
)
return
parser
.
parse_args
()
if
__name__
==
"__main__"
:
args
=
parse_args
()
# get filename of base_yaml so we can `"include": ` it in our other YAMLs.
base_yaml_name
=
os
.
path
.
split
(
args
.
base_yaml_path
)[
-
1
]
with
open
(
args
.
base_yaml_path
)
as
f
:
base_yaml
=
yaml
.
full_load
(
f
)
if
args
.
cot_prompt_path
is
not
None
:
import
json
with
open
(
args
.
cot_prompt_path
)
as
f
:
cot_file
=
json
.
load
(
f
)
for
subject_eng
,
subject_zh
in
tqdm
(
SUBJECTS
.
items
()):
if
args
.
cot_prompt_path
is
not
None
:
description
=
cot_file
[
subject_eng
]
else
:
description
=
f
"以下是关于
{
subject_zh
}
的单项选择题,请直接给出正确答案的选项。
\n\n
"
yaml_dict
=
{
"include"
:
base_yaml_name
,
"task"
:
f
"cmmlu_
{
args
.
task_prefix
}
_
{
subject_eng
}
"
if
args
.
task_prefix
!=
""
else
f
"cmmlu_
{
subject_eng
}
"
,
"dataset_name"
:
subject_eng
,
"description"
:
description
,
}
file_save_path
=
args
.
save_prefix_path
+
f
"_
{
subject_eng
}
.yaml"
eval_logger
.
info
(
f
"Saving yaml for subset
{
subject_eng
}
to
{
file_save_path
}
"
)
with
open
(
file_save_path
,
"w"
)
as
yaml_file
:
yaml
.
dump
(
yaml_dict
,
yaml_file
,
width
=
float
(
"inf"
),
allow_unicode
=
True
,
default_style
=
'"'
,
)
lm_eval/tasks/cmmlu/cmmlu_default_agronomy.yaml
0 → 100644
View file @
bdddfec2
"
dataset_name"
:
"
agronomy"
"
description"
:
"
以下是关于农学的单项选择题,请直接给出正确答案的选项。
\n\n
"
"
include"
:
"
_default_template_yaml"
"
task"
:
"
cmmlu_agronomy"
lm_eval/tasks/cmmlu/cmmlu_default_anatomy.yaml
0 → 100644
View file @
bdddfec2
"
dataset_name"
:
"
anatomy"
"
description"
:
"
以下是关于解剖学的单项选择题,请直接给出正确答案的选项。
\n\n
"
"
include"
:
"
_default_template_yaml"
"
task"
:
"
cmmlu_anatomy"
lm_eval/tasks/cmmlu/cmmlu_default_ancient_chinese.yaml
0 → 100644
View file @
bdddfec2
"
dataset_name"
:
"
ancient_chinese"
"
description"
:
"
以下是关于古汉语的单项选择题,请直接给出正确答案的选项。
\n\n
"
"
include"
:
"
_default_template_yaml"
"
task"
:
"
cmmlu_ancient_chinese"
lm_eval/tasks/cmmlu/cmmlu_default_arts.yaml
0 → 100644
View file @
bdddfec2
"
dataset_name"
:
"
arts"
"
description"
:
"
以下是关于艺术学的单项选择题,请直接给出正确答案的选项。
\n\n
"
"
include"
:
"
_default_template_yaml"
"
task"
:
"
cmmlu_arts"
lm_eval/tasks/cmmlu/cmmlu_default_astronomy.yaml
0 → 100644
View file @
bdddfec2
"
dataset_name"
:
"
astronomy"
"
description"
:
"
以下是关于天文学的单项选择题,请直接给出正确答案的选项。
\n\n
"
"
include"
:
"
_default_template_yaml"
"
task"
:
"
cmmlu_astronomy"
lm_eval/tasks/cmmlu/cmmlu_default_business_ethics.yaml
0 → 100644
View file @
bdddfec2
"
dataset_name"
:
"
business_ethics"
"
description"
:
"
以下是关于商业伦理的单项选择题,请直接给出正确答案的选项。
\n\n
"
"
include"
:
"
_default_template_yaml"
"
task"
:
"
cmmlu_business_ethics"
lm_eval/tasks/cmmlu/cmmlu_default_chinese_civil_service_exam.yaml
0 → 100644
View file @
bdddfec2
"
dataset_name"
:
"
chinese_civil_service_exam"
"
description"
:
"
以下是关于中国公务员考试的单项选择题,请直接给出正确答案的选项。
\n\n
"
"
include"
:
"
_default_template_yaml"
"
task"
:
"
cmmlu_chinese_civil_service_exam"
lm_eval/tasks/cmmlu/cmmlu_default_chinese_driving_rule.yaml
0 → 100644
View file @
bdddfec2
"
dataset_name"
:
"
chinese_driving_rule"
"
description"
:
"
以下是关于中国驾驶规则的单项选择题,请直接给出正确答案的选项。
\n\n
"
"
include"
:
"
_default_template_yaml"
"
task"
:
"
cmmlu_chinese_driving_rule"
lm_eval/tasks/cmmlu/cmmlu_default_chinese_food_culture.yaml
0 → 100644
View file @
bdddfec2
"
dataset_name"
:
"
chinese_food_culture"
"
description"
:
"
以下是关于中国饮食文化的单项选择题,请直接给出正确答案的选项。
\n\n
"
"
include"
:
"
_default_template_yaml"
"
task"
:
"
cmmlu_chinese_food_culture"
lm_eval/tasks/cmmlu/cmmlu_default_chinese_foreign_policy.yaml
0 → 100644
View file @
bdddfec2
"
dataset_name"
:
"
chinese_foreign_policy"
"
description"
:
"
以下是关于中国外交政策的单项选择题,请直接给出正确答案的选项。
\n\n
"
"
include"
:
"
_default_template_yaml"
"
task"
:
"
cmmlu_chinese_foreign_policy"
lm_eval/tasks/cmmlu/cmmlu_default_chinese_history.yaml
0 → 100644
View file @
bdddfec2
"
dataset_name"
:
"
chinese_history"
"
description"
:
"
以下是关于中国历史的单项选择题,请直接给出正确答案的选项。
\n\n
"
"
include"
:
"
_default_template_yaml"
"
task"
:
"
cmmlu_chinese_history"
lm_eval/tasks/cmmlu/cmmlu_default_chinese_literature.yaml
0 → 100644
View file @
bdddfec2
"
dataset_name"
:
"
chinese_literature"
"
description"
:
"
以下是关于中国文学的单项选择题,请直接给出正确答案的选项。
\n\n
"
"
include"
:
"
_default_template_yaml"
"
task"
:
"
cmmlu_chinese_literature"
lm_eval/tasks/cmmlu/cmmlu_default_chinese_teacher_qualification.yaml
0 → 100644
View file @
bdddfec2
"
dataset_name"
:
"
chinese_teacher_qualification"
"
description"
:
"
以下是关于中国教师资格的单项选择题,请直接给出正确答案的选项。
\n\n
"
"
include"
:
"
_default_template_yaml"
"
task"
:
"
cmmlu_chinese_teacher_qualification"
lm_eval/tasks/cmmlu/cmmlu_default_clinical_knowledge.yaml
0 → 100644
View file @
bdddfec2
"
dataset_name"
:
"
clinical_knowledge"
"
description"
:
"
以下是关于临床知识的单项选择题,请直接给出正确答案的选项。
\n\n
"
"
include"
:
"
_default_template_yaml"
"
task"
:
"
cmmlu_clinical_knowledge"
lm_eval/tasks/cmmlu/cmmlu_default_college_actuarial_science.yaml
0 → 100644
View file @
bdddfec2
"
dataset_name"
:
"
college_actuarial_science"
"
description"
:
"
以下是关于大学精算学的单项选择题,请直接给出正确答案的选项。
\n\n
"
"
include"
:
"
_default_template_yaml"
"
task"
:
"
cmmlu_college_actuarial_science"
lm_eval/tasks/cmmlu/cmmlu_default_college_education.yaml
0 → 100644
View file @
bdddfec2
"
dataset_name"
:
"
college_education"
"
description"
:
"
以下是关于大学教育学的单项选择题,请直接给出正确答案的选项。
\n\n
"
"
include"
:
"
_default_template_yaml"
"
task"
:
"
cmmlu_college_education"
lm_eval/tasks/cmmlu/cmmlu_default_college_engineering_hydrology.yaml
0 → 100644
View file @
bdddfec2
"
dataset_name"
:
"
college_engineering_hydrology"
"
description"
:
"
以下是关于大学工程水文学的单项选择题,请直接给出正确答案的选项。
\n\n
"
"
include"
:
"
_default_template_yaml"
"
task"
:
"
cmmlu_college_engineering_hydrology"
lm_eval/tasks/cmmlu/cmmlu_default_college_law.yaml
0 → 100644
View file @
bdddfec2
"
dataset_name"
:
"
college_law"
"
description"
:
"
以下是关于大学法律的单项选择题,请直接给出正确答案的选项。
\n\n
"
"
include"
:
"
_default_template_yaml"
"
task"
:
"
cmmlu_college_law"
Prev
1
2
3
4
5
6
7
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment