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

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

Jason Phang's avatar
Jason Phang committed
30
TASK_REGISTRY = {
Jason Phang's avatar
multirc  
Jason Phang committed
31
    # GLUE
Jason Phang's avatar
Jason Phang committed
32
33
    "cola": glue.CoLA,
    "mnli": glue.MNLI,
Jason Phang's avatar
Jason Phang committed
34
    "mnli_mismatched": glue.MNLIMismatched,
Jason Phang's avatar
Jason Phang committed
35
36
37
38
    "mrpc": glue.MRPC,
    "rte": glue.RTE,
    "qnli": glue.QNLI,
    "qqp": glue.QQP,
39
    #"stsb": glue.STSB, # not implemented yet
Jason Phang's avatar
Jason Phang committed
40
41
    "sst": glue.SST,
    "wnli": glue.WNLI,
Jason Phang's avatar
multirc  
Jason Phang committed
42
    # SuperGLUE
Jason Phang's avatar
Jason Phang committed
43
    "boolq": superglue.BoolQ,
thefazzer's avatar
thefazzer committed
44
    "cb": superglue.CommitmentBank,
Jason Phang's avatar
Jason Phang committed
45
    "copa": superglue.Copa,
Jason Phang's avatar
multirc  
Jason Phang committed
46
    "multirc": superglue.MultiRC,
Leo Gao's avatar
Leo Gao committed
47
    #"record": superglue.ReCoRD,
Jason Phang's avatar
Jason Phang committed
48
    "wic": superglue.WordsInContext,
Jason Phang's avatar
wsc  
Jason Phang committed
49
    "wsc": superglue.SGWinogradSchemaChallenge,
50
    
Jason Phang's avatar
multirc  
Jason Phang committed
51
    # Order by benchmark/genre?
52

Leo Gao's avatar
Leo Gao committed
53
    "lambada": lambada.LAMBADA,
Leo Gao's avatar
Leo Gao committed
54
    "piqa": piqa.PiQA,
Leo Gao's avatar
Leo Gao committed
55

56
    # Science related
jeffhsu3's avatar
jeffhsu3 committed
57
    "pubmedqa" : pubmedqa.Pubmed_QA,
58
    "sciq" : sciq.SciQ,
59
60
61
62
    #"qa4mre" : qa4mre.QA4MRE,
    "qa4mre_2011" : qa4mre.QA4MRE_2011,
    "qa4mre_2012" : qa4mre.QA4MRE_2012,
    "qa4mre_2013" : qa4mre.QA4MRE_2013,
jeffhsu3's avatar
jeffhsu3 committed
63

Leo Gao's avatar
Leo Gao committed
64
    #"triviaqa": triviaqa.TriviaQA,
Jonathan Tow's avatar
Jonathan Tow committed
65
66
    "arc_easy": arc.ARCEasy,
    "arc_challenge": arc.ARCChallenge,
67
    # "quac": quac.QuAC, # not implemented yet
68
    "hellaswag": hellaswag.HellaSwag, # not implemented yet
Jon Tow's avatar
Jon Tow committed
69
    "openbookqa": openbookqa.OpenBookQA,
70
71
    # "sat": sat.SATAnalogies, # not implemented yet
    # "squad": squad.SQuAD, # not implemented yet
Jon Tow's avatar
Jon Tow committed
72
    "race": race.RACE,
73
    # "naturalqs": naturalqs.NaturalQs, # not implemented yet
74
75
    "headqa": headqa.HeadQA,
    "mathqa": mathqa.MathQA,
76
    "webqs": webqs.WebQs,
77
    "wsc273": wsc273.WinogradSchemaChallenge273,
78
    "winogrande": winogrande.Winogrande,
Jonathan Tow's avatar
Jonathan Tow committed
79
80
81
    "anli_r1": anli.ANLIRound1,
    "anli_r2": anli.ANLIRound2,
    "anli_r3": anli.ANLIRound3,
82
83
84
85
86
87
88
89
90
91
92
93
    # 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
94
95
    # TODO Perhaps make these groups of tasks
    #   e.g. anli, arithmetic, openai_translations, harness_translations
&'s avatar
...  
& committed
96
97

    # e.g. wmt14-fr-en
&'s avatar
& committed
98
    **translation.create_tasks_from_benchmarks(translation.selected_benchmarks)
Jason Phang's avatar
Jason Phang committed
99
}
Jason Phang's avatar
gpt3  
Jason Phang committed
100
101


Jason Phang's avatar
Jason Phang committed
102
ALL_TASKS = sorted(list(TASK_REGISTRY))
Jason Phang's avatar
Jason Phang committed
103
104


Jason Phang's avatar
cleanup  
Jason Phang committed
105
def get_task(task_name):
&'s avatar
& committed
106
107
108
109
110
111
    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
112
113
114
115
116
117
118


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