__init__.py 4.79 KB
Newer Older
&'s avatar
& committed
1
2
from pprint import pprint

&'s avatar
& committed
3
4
import sacrebleu

Jason Phang's avatar
Jason Phang committed
5
6
from . import superglue
from . import glue
Leo Gao's avatar
Leo Gao committed
7
from . import arc
thefazzer's avatar
thefazzer committed
8
from . import coqa
Leo Gao's avatar
Leo Gao committed
9
from . import race
Leo Gao's avatar
Leo Gao committed
10
from . import webqs
Leo Gao's avatar
Leo Gao committed
11
from . import anli
12
from . import wsc273
Charles Foster's avatar
Charles Foster committed
13
from . import winogrande
Charles Foster's avatar
Charles Foster committed
14
from . import quac
Charles Foster's avatar
Charles Foster committed
15
from . import hellaswag
Charles Foster's avatar
Charles Foster committed
16
from . import openbookqa
Charles Foster's avatar
Charles Foster committed
17
from . import squad
18
from . import naturalqs
19
from . import sat
20
from . import arithmetic
Leo Gao's avatar
Leo Gao committed
21
from . import lambada
Jon Tow's avatar
Jon Tow committed
22
from . import race
Leo Gao's avatar
Leo Gao committed
23
from . import piqa
24
from . import triviaqa
jeffhsu3's avatar
jeffhsu3 committed
25
from . import pubmedqa
26
from . import sciq
27
from . import webqs
28
from . import qa4mre
&'s avatar
& committed
29
from . import translation
30
31
from . import headqa
from . import mathqa
Muennighoff's avatar
Muennighoff committed
32
from . import ethics
Jon Tow's avatar
Jon Tow committed
33
from . import drop
34
from . import unscramble
35
from . import logiqa
Jason Phang's avatar
gpt3  
Jason Phang committed
36

&'s avatar
& committed
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
########################################
# Translation tasks
########################################

# 6 total
gpt3_translation_benchmarks = {
    "wmt14": ['en-fr', 'fr-en'],  # French
    "wmt16": ['en-ro', 'ro-en', 'de-en', 'en-de'],  # German, Romanian
}


# 28 total
selected_translation_benchmarks = {
    **gpt3_translation_benchmarks,
    "wmt20": sacrebleu.get_langpairs_for_testset("wmt20"),
    "iwslt17": ['en-ar', 'ar-en']  # Arabic
}

# 319 total
all_translation_benchmarks = {
    ts: sacrebleu.get_langpairs_for_testset(ts)
    for ts in sacrebleu.get_available_testsets()
}


########################################
# All tasks
########################################
Jason Phang's avatar
gpt3  
Jason Phang committed
65
66


Jason Phang's avatar
Jason Phang committed
67
TASK_REGISTRY = {
Jason Phang's avatar
multirc  
Jason Phang committed
68
    # GLUE
Jason Phang's avatar
Jason Phang committed
69
70
    "cola": glue.CoLA,
    "mnli": glue.MNLI,
Jason Phang's avatar
Jason Phang committed
71
    "mnli_mismatched": glue.MNLIMismatched,
Jason Phang's avatar
Jason Phang committed
72
73
74
75
    "mrpc": glue.MRPC,
    "rte": glue.RTE,
    "qnli": glue.QNLI,
    "qqp": glue.QQP,
76
    #"stsb": glue.STSB, # not implemented yet
Jason Phang's avatar
Jason Phang committed
77
78
    "sst": glue.SST,
    "wnli": glue.WNLI,
Jason Phang's avatar
multirc  
Jason Phang committed
79
    # SuperGLUE
Jason Phang's avatar
Jason Phang committed
80
    "boolq": superglue.BoolQ,
thefazzer's avatar
thefazzer committed
81
    "cb": superglue.CommitmentBank,
Jason Phang's avatar
Jason Phang committed
82
    "copa": superglue.Copa,
Jason Phang's avatar
multirc  
Jason Phang committed
83
    "multirc": superglue.MultiRC,
Jason Phang's avatar
Jason Phang committed
84
    "record": superglue.ReCoRD,
Jason Phang's avatar
Jason Phang committed
85
    "wic": superglue.WordsInContext,
Jason Phang's avatar
wsc  
Jason Phang committed
86
    "wsc": superglue.SGWinogradSchemaChallenge,
87
    
Jason Phang's avatar
multirc  
Jason Phang committed
88
    # Order by benchmark/genre?
thefazzer's avatar
thefazzer committed
89
    "coqa": coqa.CoQA,
Jon Tow's avatar
Jon Tow committed
90
    "drop": drop.DROP,
Leo Gao's avatar
Leo Gao committed
91
    "lambada": lambada.LAMBADA,
Leo Gao's avatar
Leo Gao committed
92
    "piqa": piqa.PiQA,
Leo Gao's avatar
Leo Gao committed
93

94
    # Science related
jeffhsu3's avatar
jeffhsu3 committed
95
    "pubmedqa" : pubmedqa.Pubmed_QA,
96
    "sciq" : sciq.SciQ,
97
98
99
100
    #"qa4mre" : qa4mre.QA4MRE,
    "qa4mre_2011" : qa4mre.QA4MRE_2011,
    "qa4mre_2012" : qa4mre.QA4MRE_2012,
    "qa4mre_2013" : qa4mre.QA4MRE_2013,
jeffhsu3's avatar
jeffhsu3 committed
101

Leo Gao's avatar
Leo Gao committed
102
    #"triviaqa": triviaqa.TriviaQA,
Jonathan Tow's avatar
Jonathan Tow committed
103
104
    "arc_easy": arc.ARCEasy,
    "arc_challenge": arc.ARCChallenge,
105
    # "quac": quac.QuAC, # not implemented yet
106
    "logiqa": logiqa.LogiQA,
107
    "hellaswag": hellaswag.HellaSwag, # not implemented yet
Jon Tow's avatar
Jon Tow committed
108
    "openbookqa": openbookqa.OpenBookQA,
109
    # "sat": sat.SATAnalogies, # not implemented yet
110
    "squad": squad.SQuAD,
Jon Tow's avatar
Jon Tow committed
111
    "race": race.RACE,
112
    # "naturalqs": naturalqs.NaturalQs, # not implemented yet
113
114
    "headqa": headqa.HeadQA,
    "mathqa": mathqa.MathQA,
115
    "webqs": webqs.WebQs,
116
    "wsc273": wsc273.WinogradSchemaChallenge273,
117
    "winogrande": winogrande.Winogrande,
Jonathan Tow's avatar
Jonathan Tow committed
118
119
120
    "anli_r1": anli.ANLIRound1,
    "anli_r2": anli.ANLIRound2,
    "anli_r3": anli.ANLIRound3,
Muennighoff's avatar
Muennighoff committed
121
122
123

    "ethics_cm": ethics.EthicsCM,
    "ethics_deontology": ethics.EthicsDeontology,
Muennighoff's avatar
Muennighoff committed
124
    "ethics_justice": ethics.EthicsJustice,
Leo Gao's avatar
Leo Gao committed
125
    "ethics_utilitarianism_original": ethics.EthicsUtilitarianismOriginal,
Muennighoff's avatar
Muennighoff committed
126
127
    "ethics_utilitarianism": ethics.EthicsUtilitarianism,
    "ethics_virtue": ethics.EthicsVirtue,
Muennighoff's avatar
Muennighoff committed
128

129
130
131
132
133
134
135
136
137
138
139
    # arithmetic
    "arithmetic_2da": arithmetic.Arithmetic2DPlus,
    "arithmetic_2ds": arithmetic.Arithmetic2DMinus,
    "arithmetic_3da": arithmetic.Arithmetic3DPlus,
    "arithmetic_3ds": arithmetic.Arithmetic3DMinus,
    "arithmetic_4da": arithmetic.Arithmetic4DPlus,
    "arithmetic_4ds": arithmetic.Arithmetic4DMinus,
    "arithmetic_5da": arithmetic.Arithmetic5DPlus,
    "arithmetic_5ds": arithmetic.Arithmetic5DMinus,
    "arithmetic_2dm": arithmetic.Arithmetic2DMultiplication,
    "arithmetic_1dc": arithmetic.Arithmetic1DComposite,
&'s avatar
& committed
140
141
    # TODO Perhaps make these groups of tasks
    #   e.g. anli, arithmetic, openai_translations, harness_translations
&'s avatar
...  
& committed
142
143

    # e.g. wmt14-fr-en
&'s avatar
& committed
144
145
146
    **translation.create_tasks_from_benchmarks(gpt3_translation_benchmarks),
    # chef's selection, mostly wmt20
    **translation.create_tasks_from_benchmarks(selected_translation_benchmarks),
147

Jon Tow's avatar
Jon Tow committed
148
    # Word Scrambling and Manipulation Tasks
149
150
151
152
153
    "anagrams1": unscramble.Anagrams1,
    "anagrams2": unscramble.Anagrams2,
    "cycle_letters": unscramble.CycleLetters,
    "random_insertion": unscramble.RandomInsertion,
    "reversed_words": unscramble.ReversedWords,
Jason Phang's avatar
Jason Phang committed
154
}
Jason Phang's avatar
gpt3  
Jason Phang committed
155
156


Jason Phang's avatar
Jason Phang committed
157
ALL_TASKS = sorted(list(TASK_REGISTRY))
Jason Phang's avatar
Jason Phang committed
158
159


Jason Phang's avatar
cleanup  
Jason Phang committed
160
def get_task(task_name):
&'s avatar
& committed
161
162
163
164
165
166
    try:
        return TASK_REGISTRY[task_name]
    except KeyError as e:
        print("Available tasks:")
        pprint(TASK_REGISTRY)
        raise KeyError(f"Missing task {task_name}")
Jason Phang's avatar
cleanup  
Jason Phang committed
167
168
169
170
171
172
173


def get_task_dict(task_name_list):
    return {
        task_name: get_task(task_name)()
        for task_name in task_name_list
    }