__init__.py 3.15 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
Jason Phang's avatar
gpt3  
Jason Phang committed
27
28


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

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

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

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


Jason Phang's avatar
Jason Phang committed
97
ALL_TASKS = sorted(list(TASK_REGISTRY))
Jason Phang's avatar
Jason Phang committed
98
99


Jason Phang's avatar
cleanup  
Jason Phang committed
100
def get_task(task_name):
&'s avatar
& committed
101
102
103
104
105
106
    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
107
108
109
110
111
112
113


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