Sean Cho commited on
Commit
4f0083e
1 Parent(s): 0213cb9

add leaderboard

Browse files
src/auto_leaderboard/get_model_metadata.py ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import re
2
+ import os
3
+ from typing import List
4
+
5
+ from src.utils_display import AutoEvalColumn
6
+ from src.auto_leaderboard.model_metadata_type import get_model_type
7
+
8
+ from huggingface_hub import HfApi
9
+ import huggingface_hub
10
+ api = HfApi(token=os.environ.get("H4_TOKEN", None))
11
+
12
+
13
+ def get_model_infos_from_hub(leaderboard_data: List[dict]):
14
+ for model_data in leaderboard_data:
15
+ model_name = model_data["model_name_for_query"]
16
+ try:
17
+ model_info = api.model_info(model_name)
18
+ except huggingface_hub.utils._errors.RepositoryNotFoundError:
19
+ print("Repo not found!", model_name)
20
+ model_data[AutoEvalColumn.license.name] = None
21
+ model_data[AutoEvalColumn.likes.name] = None
22
+ model_data[AutoEvalColumn.params.name] = get_model_size(model_name, None)
23
+ continue
24
+
25
+ model_data[AutoEvalColumn.license.name] = get_model_license(model_info)
26
+ model_data[AutoEvalColumn.likes.name] = get_model_likes(model_info)
27
+ model_data[AutoEvalColumn.params.name] = get_model_size(model_name, model_info)
28
+
29
+
30
+ def get_model_license(model_info):
31
+ try:
32
+ return model_info.cardData["license"]
33
+ except Exception:
34
+ return None
35
+
36
+ def get_model_likes(model_info):
37
+ return model_info.likes
38
+
39
+ size_pattern = re.compile(r"(\d\.)?\d+(b|m)")
40
+
41
+ def get_model_size(model_name, model_info):
42
+ # In billions
43
+ try:
44
+ return round(model_info.safetensors["total"] / 1e9, 3)
45
+ except AttributeError:
46
+ try:
47
+ size_match = re.search(size_pattern, model_name.lower())
48
+ size = size_match.group(0)
49
+ return round(float(size[:-1]) if size[-1] == "b" else float(size[:-1]) / 1e3, 3)
50
+ except AttributeError:
51
+ return None
52
+
53
+
54
+ def apply_metadata(leaderboard_data: List[dict]):
55
+ get_model_type(leaderboard_data)
56
+ get_model_infos_from_hub(leaderboard_data)
src/auto_leaderboard/load_results.py ADDED
@@ -0,0 +1,141 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from dataclasses import dataclass
2
+
3
+ import glob
4
+ import json
5
+ import os
6
+ from typing import Dict, List, Tuple
7
+ import dateutil
8
+
9
+ from src.utils_display import AutoEvalColumn, make_clickable_model
10
+ import numpy as np
11
+
12
+ METRICS = ["acc_norm", "acc_norm", "acc", "mc2"]
13
+ BENCHMARKS = ["arc:challenge", "hellaswag", "hendrycksTest", "truthfulqa:mc"]
14
+ BENCH_TO_NAME = {
15
+ "arc:challenge": AutoEvalColumn.arc.name,
16
+ "hellaswag": AutoEvalColumn.hellaswag.name,
17
+ "hendrycksTest": AutoEvalColumn.mmlu.name,
18
+ "truthfulqa:mc": AutoEvalColumn.truthfulqa.name,
19
+ }
20
+
21
+
22
+ @dataclass
23
+ class EvalResult:
24
+ eval_name: str
25
+ org: str
26
+ model: str
27
+ revision: str
28
+ results: dict
29
+ precision: str = ""
30
+ model_type: str = ""
31
+ weight_type: str = ""
32
+
33
+ def to_dict(self):
34
+ if self.org is not None:
35
+ base_model = f"{self.org}/{self.model}"
36
+ else:
37
+ base_model = f"{self.model}"
38
+ data_dict = {}
39
+
40
+ data_dict["eval_name"] = self.eval_name # not a column, just a save name
41
+ data_dict["weight_type"] = self.weight_type # not a column, just a save name
42
+ data_dict[AutoEvalColumn.precision.name] = self.precision
43
+ data_dict[AutoEvalColumn.model_type.name] = self.model_type
44
+ data_dict[AutoEvalColumn.model.name] = make_clickable_model(base_model)
45
+ data_dict[AutoEvalColumn.dummy.name] = base_model
46
+ data_dict[AutoEvalColumn.revision.name] = self.revision
47
+ data_dict[AutoEvalColumn.average.name] = sum([v for k, v in self.results.items()]) / 4.0
48
+
49
+ for benchmark in BENCHMARKS:
50
+ if benchmark not in self.results.keys():
51
+ self.results[benchmark] = None
52
+
53
+ for k, v in BENCH_TO_NAME.items():
54
+ data_dict[v] = self.results[k]
55
+
56
+ return data_dict
57
+
58
+
59
+ def parse_eval_result(json_filepath: str) -> Tuple[str, list[dict]]:
60
+ with open(json_filepath) as fp:
61
+ data = json.load(fp)
62
+
63
+
64
+ for mmlu_k in ["harness|hendrycksTest-abstract_algebra|5", "hendrycksTest-abstract_algebra"]:
65
+ if mmlu_k in data["versions"] and data["versions"][mmlu_k] == 0:
66
+ return None, [] # we skip models with the wrong version
67
+
68
+ try:
69
+ config = data["config"]
70
+ except KeyError:
71
+ config = data["config_general"]
72
+ model = config.get("model_name", None)
73
+ if model is None:
74
+ model = config.get("model_args", None)
75
+
76
+ model_sha = config.get("model_sha", "")
77
+ model_split = model.split("/", 1)
78
+
79
+ precision = config.get("model_dtype")
80
+
81
+ model = model_split[-1]
82
+
83
+ if len(model_split) == 1:
84
+ org = None
85
+ model = model_split[0]
86
+ result_key = f"{model}_{model_sha}_{precision}"
87
+ else:
88
+ org = model_split[0]
89
+ model = model_split[1]
90
+ result_key = f"{org}_{model}_{model_sha}_{precision}"
91
+
92
+ eval_results = []
93
+ for benchmark, metric in zip(BENCHMARKS, METRICS):
94
+ accs = np.array([v[metric] for k, v in data["results"].items() if benchmark in k])
95
+ if accs.size == 0:
96
+ continue
97
+ mean_acc = np.mean(accs) * 100.0
98
+ eval_results.append(EvalResult(
99
+ eval_name=result_key, org=org, model=model, revision=model_sha, results={benchmark: mean_acc}, precision=precision, #todo model_type=, weight_type=
100
+ ))
101
+
102
+ return result_key, eval_results
103
+
104
+
105
+ def get_eval_results(is_public) -> List[EvalResult]:
106
+ json_filepaths = []
107
+
108
+ for root, dir, files in os.walk("eval-results"):
109
+ # We should only have json files in model results
110
+ if len(files) == 0 or any([not f.endswith(".json") for f in files]):
111
+ continue
112
+
113
+ # Sort the files by date
114
+ # store results by precision maybe?
115
+ try:
116
+ files.sort(key=lambda x: dateutil.parser.parse(x.split("_", 1)[-1][:-5]))
117
+ except dateutil.parser._parser.ParserError:
118
+ files = [files[-1]]
119
+
120
+ #up_to_date = files[-1]
121
+ for file in files:
122
+ json_filepaths.append(os.path.join(root, file))
123
+
124
+ eval_results = {}
125
+ for json_filepath in json_filepaths:
126
+ result_key, results = parse_eval_result(json_filepath)
127
+ for eval_result in results:
128
+ if result_key in eval_results.keys():
129
+ eval_results[result_key].results.update(eval_result.results)
130
+ else:
131
+ eval_results[result_key] = eval_result
132
+
133
+ eval_results = [v for v in eval_results.values()]
134
+
135
+ return eval_results
136
+
137
+
138
+ def get_eval_results_dicts(is_public=True) -> List[Dict]:
139
+ eval_results = get_eval_results(is_public)
140
+
141
+ return [e.to_dict() for e in eval_results]
src/auto_leaderboard/model_metadata_type.py ADDED
@@ -0,0 +1,597 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from dataclasses import dataclass
2
+ from enum import Enum
3
+ import glob
4
+ import json
5
+ import os
6
+ from typing import Dict, List
7
+
8
+ from ..utils_display import AutoEvalColumn
9
+
10
+ @dataclass
11
+ class ModelInfo:
12
+ name: str
13
+ symbol: str # emoji
14
+
15
+
16
+ class ModelType(Enum):
17
+ PT = ModelInfo(name="pretrained", symbol="🟢")
18
+ FT = ModelInfo(name="fine-tuned", symbol="🔶")
19
+ IFT = ModelInfo(name="instruction-tuned", symbol="⭕")
20
+ RL = ModelInfo(name="RL-tuned", symbol="🟦")
21
+ Unknown = ModelInfo(name="Unknown, add type to request file!", symbol="?")
22
+
23
+ def to_str(self, separator = " "):
24
+ return f"{self.value.symbol}{separator}{self.value.name}"
25
+
26
+
27
+ TYPE_METADATA: Dict[str, ModelType] = {
28
+ 'notstoic/PygmalionCoT-7b': ModelType.IFT,
29
+ 'aisquared/dlite-v1-355m': ModelType.IFT,
30
+ 'aisquared/dlite-v1-1_5b': ModelType.IFT,
31
+ 'aisquared/dlite-v1-774m': ModelType.IFT,
32
+ 'aisquared/dlite-v1-124m': ModelType.IFT,
33
+ 'aisquared/chopt-2_7b': ModelType.IFT,
34
+ 'aisquared/dlite-v2-124m': ModelType.IFT,
35
+ 'aisquared/dlite-v2-774m': ModelType.IFT,
36
+ 'aisquared/dlite-v2-1_5b': ModelType.IFT,
37
+ 'aisquared/chopt-1_3b': ModelType.IFT,
38
+ 'aisquared/dlite-v2-355m': ModelType.IFT,
39
+ 'augtoma/qCammel-13': ModelType.IFT,
40
+ 'Aspik101/Llama-2-7b-hf-instruct-pl-lora_unload': ModelType.IFT,
41
+ 'Aspik101/vicuna-7b-v1.3-instruct-pl-lora_unload': ModelType.IFT,
42
+ 'TheBloke/alpaca-lora-65B-HF': ModelType.FT,
43
+ 'TheBloke/tulu-7B-fp16': ModelType.IFT,
44
+ 'TheBloke/guanaco-7B-HF': ModelType.FT,
45
+ 'TheBloke/koala-7B-HF': ModelType.FT,
46
+ 'TheBloke/wizardLM-7B-HF': ModelType.IFT,
47
+ 'TheBloke/airoboros-13B-HF': ModelType.IFT,
48
+ 'TheBloke/koala-13B-HF': ModelType.FT,
49
+ 'TheBloke/Wizard-Vicuna-7B-Uncensored-HF': ModelType.FT,
50
+ 'TheBloke/dromedary-65b-lora-HF': ModelType.IFT,
51
+ 'TheBloke/wizardLM-13B-1.0-fp16': ModelType.IFT,
52
+ 'TheBloke/WizardLM-13B-V1-1-SuperHOT-8K-fp16': ModelType.FT,
53
+ 'TheBloke/Wizard-Vicuna-30B-Uncensored-fp16': ModelType.FT,
54
+ 'TheBloke/wizard-vicuna-13B-HF': ModelType.IFT,
55
+ 'TheBloke/UltraLM-13B-fp16': ModelType.IFT,
56
+ 'TheBloke/OpenAssistant-FT-7-Llama-30B-HF': ModelType.FT,
57
+ 'TheBloke/vicuna-13B-1.1-HF': ModelType.IFT,
58
+ 'TheBloke/guanaco-13B-HF': ModelType.FT,
59
+ 'TheBloke/guanaco-65B-HF': ModelType.FT,
60
+ 'TheBloke/airoboros-7b-gpt4-fp16': ModelType.IFT,
61
+ 'TheBloke/llama-30b-supercot-SuperHOT-8K-fp16': ModelType.IFT,
62
+ 'TheBloke/Llama-2-13B-fp16': ModelType.PT,
63
+ 'TheBloke/llama-2-70b-Guanaco-QLoRA-fp16': ModelType.FT,
64
+ 'TheBloke/landmark-attention-llama7b-fp16': ModelType.IFT,
65
+ 'TheBloke/Planner-7B-fp16': ModelType.IFT,
66
+ 'TheBloke/Wizard-Vicuna-13B-Uncensored-HF': ModelType.FT,
67
+ 'TheBloke/gpt4-alpaca-lora-13B-HF': ModelType.IFT,
68
+ 'TheBloke/gpt4-x-vicuna-13B-HF': ModelType.IFT,
69
+ 'TheBloke/gpt4-alpaca-lora_mlp-65B-HF': ModelType.IFT,
70
+ 'TheBloke/tulu-13B-fp16': ModelType.IFT,
71
+ 'TheBloke/VicUnlocked-alpaca-65B-QLoRA-fp16': ModelType.IFT,
72
+ 'TheBloke/Llama-2-70B-fp16': ModelType.IFT,
73
+ 'TheBloke/WizardLM-30B-fp16': ModelType.IFT,
74
+ 'TheBloke/robin-13B-v2-fp16': ModelType.FT,
75
+ 'TheBloke/robin-33B-v2-fp16': ModelType.FT,
76
+ 'TheBloke/Vicuna-13B-CoT-fp16': ModelType.IFT,
77
+ 'TheBloke/Vicuna-33B-1-3-SuperHOT-8K-fp16': ModelType.IFT,
78
+ 'TheBloke/Wizard-Vicuna-30B-Superhot-8K-fp16': ModelType.FT,
79
+ 'TheBloke/Nous-Hermes-13B-SuperHOT-8K-fp16': ModelType.IFT,
80
+ 'TheBloke/GPlatty-30B-SuperHOT-8K-fp16': ModelType.FT,
81
+ 'TheBloke/CAMEL-33B-Combined-Data-SuperHOT-8K-fp16': ModelType.IFT,
82
+ 'TheBloke/Chinese-Alpaca-33B-SuperHOT-8K-fp16': ModelType.IFT,
83
+ 'jphme/orca_mini_v2_ger_7b': ModelType.IFT,
84
+ 'Ejafa/vicuna_7B_vanilla_1.1': ModelType.FT,
85
+ 'kevinpro/Vicuna-13B-CoT': ModelType.IFT,
86
+ 'AlekseyKorshuk/pygmalion-6b-vicuna-chatml': ModelType.FT,
87
+ 'AlekseyKorshuk/chatml-pyg-v1': ModelType.FT,
88
+ 'concedo/Vicuzard-30B-Uncensored': ModelType.FT,
89
+ 'concedo/OPT-19M-ChatSalad': ModelType.FT,
90
+ 'concedo/Pythia-70M-ChatSalad': ModelType.FT,
91
+ 'digitous/13B-HyperMantis': ModelType.IFT,
92
+ 'digitous/Adventien-GPTJ': ModelType.FT,
93
+ 'digitous/Alpacino13b': ModelType.IFT,
94
+ 'digitous/GPT-R': ModelType.IFT,
95
+ 'digitous/Javelin-R': ModelType.IFT,
96
+ 'digitous/Javalion-GPTJ': ModelType.IFT,
97
+ 'digitous/Javalion-R': ModelType.IFT,
98
+ 'digitous/Skegma-GPTJ': ModelType.FT,
99
+ 'digitous/Alpacino30b': ModelType.IFT,
100
+ 'digitous/Janin-GPTJ': ModelType.FT,
101
+ 'digitous/Janin-R': ModelType.FT,
102
+ 'digitous/Javelin-GPTJ': ModelType.FT,
103
+ 'SaylorTwift/gpt2_test': ModelType.PT,
104
+ 'anton-l/gpt-j-tiny-random': ModelType.FT,
105
+ 'Andron00e/YetAnother_Open-Llama-3B-LoRA-OpenOrca': ModelType.FT,
106
+ 'Lazycuber/pyg-instruct-wizardlm': ModelType.FT,
107
+ 'Lazycuber/Janemalion-6B': ModelType.FT,
108
+ 'IDEA-CCNL/Ziya-LLaMA-13B-Pretrain-v1': ModelType.FT,
109
+ 'IDEA-CCNL/Ziya-LLaMA-13B-v1': ModelType.IFT,
110
+ 'dsvv-cair/alpaca-cleaned-llama-30b-bf16': ModelType.FT,
111
+ 'gpt2-medium': ModelType.PT,
112
+ 'camel-ai/CAMEL-13B-Combined-Data': ModelType.IFT,
113
+ 'camel-ai/CAMEL-13B-Role-Playing-Data': ModelType.FT,
114
+ 'camel-ai/CAMEL-33B-Combined-Data': ModelType.IFT,
115
+ 'PygmalionAI/pygmalion-6b': ModelType.FT,
116
+ 'PygmalionAI/metharme-1.3b': ModelType.IFT,
117
+ 'PygmalionAI/pygmalion-1.3b': ModelType.FT,
118
+ 'PygmalionAI/pygmalion-350m': ModelType.FT,
119
+ 'PygmalionAI/pygmalion-2.7b': ModelType.FT,
120
+ 'medalpaca/medalpaca-7b': ModelType.FT,
121
+ 'lilloukas/Platypus-30B': ModelType.IFT,
122
+ 'lilloukas/GPlatty-30B': ModelType.FT,
123
+ 'mncai/chatdoctor': ModelType.FT,
124
+ 'chaoyi-wu/MedLLaMA_13B': ModelType.FT,
125
+ 'LoupGarou/WizardCoder-Guanaco-15B-V1.0': ModelType.IFT,
126
+ 'LoupGarou/WizardCoder-Guanaco-15B-V1.1': ModelType.FT,
127
+ 'hakurei/instruct-12b': ModelType.IFT,
128
+ 'hakurei/lotus-12B': ModelType.FT,
129
+ 'shibing624/chinese-llama-plus-13b-hf': ModelType.IFT,
130
+ 'shibing624/chinese-alpaca-plus-7b-hf': ModelType.IFT,
131
+ 'shibing624/chinese-alpaca-plus-13b-hf': ModelType.IFT,
132
+ 'mosaicml/mpt-7b-instruct': ModelType.IFT,
133
+ 'mosaicml/mpt-30b-chat': ModelType.IFT,
134
+ 'mosaicml/mpt-7b-storywriter': ModelType.FT,
135
+ 'mosaicml/mpt-30b-instruct': ModelType.IFT,
136
+ 'mosaicml/mpt-7b-chat': ModelType.IFT,
137
+ 'mosaicml/mpt-30b': ModelType.PT,
138
+ 'Corianas/111m': ModelType.IFT,
139
+ 'Corianas/Quokka_1.3b': ModelType.IFT,
140
+ 'Corianas/256_5epoch': ModelType.FT,
141
+ 'Corianas/Quokka_256m': ModelType.IFT,
142
+ 'Corianas/Quokka_590m': ModelType.IFT,
143
+ 'Corianas/gpt-j-6B-Dolly': ModelType.FT,
144
+ 'Corianas/Quokka_2.7b': ModelType.IFT,
145
+ 'cyberagent/open-calm-7b': ModelType.FT,
146
+ 'Aspik101/Nous-Hermes-13b-pl-lora_unload': ModelType.IFT,
147
+ 'THUDM/chatglm2-6b': ModelType.IFT,
148
+ 'MetaIX/GPT4-X-Alpasta-30b': ModelType.IFT,
149
+ 'NYTK/PULI-GPTrio': ModelType.PT,
150
+ 'EleutherAI/pythia-1.3b': ModelType.PT,
151
+ 'EleutherAI/pythia-2.8b-deduped': ModelType.PT,
152
+ 'EleutherAI/gpt-neo-125m': ModelType.PT,
153
+ 'EleutherAI/pythia-160m': ModelType.PT,
154
+ 'EleutherAI/gpt-neo-2.7B': ModelType.PT,
155
+ 'EleutherAI/pythia-1b-deduped': ModelType.PT,
156
+ 'EleutherAI/pythia-6.7b': ModelType.PT,
157
+ 'EleutherAI/pythia-70m-deduped': ModelType.PT,
158
+ 'EleutherAI/gpt-neox-20b': ModelType.PT,
159
+ 'EleutherAI/pythia-1.4b-deduped': ModelType.PT,
160
+ 'EleutherAI/pythia-2.7b': ModelType.PT,
161
+ 'EleutherAI/pythia-6.9b-deduped': ModelType.PT,
162
+ 'EleutherAI/pythia-70m': ModelType.PT,
163
+ 'EleutherAI/gpt-j-6b': ModelType.PT,
164
+ 'EleutherAI/pythia-12b-deduped': ModelType.PT,
165
+ 'EleutherAI/gpt-neo-1.3B': ModelType.PT,
166
+ 'EleutherAI/pythia-410m-deduped': ModelType.PT,
167
+ 'EleutherAI/pythia-160m-deduped': ModelType.PT,
168
+ 'EleutherAI/polyglot-ko-12.8b': ModelType.PT,
169
+ 'EleutherAI/pythia-12b': ModelType.PT,
170
+ 'roneneldan/TinyStories-33M': ModelType.PT,
171
+ 'roneneldan/TinyStories-28M': ModelType.PT,
172
+ 'roneneldan/TinyStories-1M': ModelType.PT,
173
+ 'roneneldan/TinyStories-8M': ModelType.PT,
174
+ 'roneneldan/TinyStories-3M': ModelType.PT,
175
+ 'jerryjalapeno/nart-100k-7b': ModelType.FT,
176
+ 'lmsys/vicuna-13b-v1.3': ModelType.IFT,
177
+ 'lmsys/vicuna-7b-v1.3': ModelType.IFT,
178
+ 'lmsys/vicuna-13b-v1.1': ModelType.IFT,
179
+ 'lmsys/vicuna-13b-delta-v1.1': ModelType.IFT,
180
+ 'lmsys/vicuna-7b-delta-v1.1': ModelType.IFT,
181
+ 'abhiramtirumala/DialoGPT-sarcastic-medium': ModelType.FT,
182
+ 'haonan-li/bactrian-x-llama-13b-merged': ModelType.IFT,
183
+ 'Gryphe/MythoLogic-13b': ModelType.IFT,
184
+ 'Gryphe/MythoBoros-13b': ModelType.IFT,
185
+ 'pillowtalks-ai/delta13b': ModelType.FT,
186
+ 'wannaphong/openthaigpt-0.1.0-beta-full-model_for_open_llm_leaderboard': ModelType.FT,
187
+ 'bigscience/bloom-7b1': ModelType.PT,
188
+ 'bigcode/tiny_starcoder_py': ModelType.PT,
189
+ 'bigcode/starcoderplus': ModelType.FT,
190
+ 'bigcode/gpt_bigcode-santacoder': ModelType.PT,
191
+ 'bigcode/starcoder': ModelType.PT,
192
+ 'Open-Orca/OpenOrca-Preview1-13B': ModelType.IFT,
193
+ 'microsoft/DialoGPT-large': ModelType.FT,
194
+ 'microsoft/DialoGPT-small': ModelType.FT,
195
+ 'microsoft/DialoGPT-medium': ModelType.FT,
196
+ 'microsoft/CodeGPT-small-py': ModelType.FT,
197
+ 'Tincando/fiction_story_generator': ModelType.FT,
198
+ 'Pirr/pythia-13b-deduped-green_devil': ModelType.FT,
199
+ 'Aeala/GPT4-x-AlpacaDente2-30b': ModelType.FT,
200
+ 'Aeala/GPT4-x-AlpacaDente-30b': ModelType.FT,
201
+ 'Aeala/GPT4-x-Alpasta-13b': ModelType.FT,
202
+ 'Aeala/VicUnlocked-alpaca-30b': ModelType.IFT,
203
+ 'Tap-M/Luna-AI-Llama2-Uncensored': ModelType.FT,
204
+ 'illuin/test-custom-llama': ModelType.FT,
205
+ 'dvruette/oasst-llama-13b-2-epochs': ModelType.FT,
206
+ 'dvruette/oasst-gpt-neox-20b-1000-steps': ModelType.FT,
207
+ 'dvruette/llama-13b-pretrained-dropout': ModelType.PT,
208
+ 'dvruette/llama-13b-pretrained': ModelType.PT,
209
+ 'dvruette/llama-13b-pretrained-sft-epoch-1': ModelType.FT,
210
+ 'dvruette/llama-13b-pretrained-sft-do2': ModelType.FT,
211
+ 'dvruette/oasst-gpt-neox-20b-3000-steps': ModelType.FT,
212
+ 'dvruette/oasst-pythia-12b-pretrained-sft': ModelType.FT,
213
+ 'dvruette/oasst-pythia-6.9b-4000-steps': ModelType.FT,
214
+ 'dvruette/gpt-neox-20b-full-precision': ModelType.FT,
215
+ 'dvruette/oasst-llama-13b-1000-steps': ModelType.FT,
216
+ 'openlm-research/open_llama_7b_700bt_preview': ModelType.PT,
217
+ 'openlm-research/open_llama_7b': ModelType.PT,
218
+ 'openlm-research/open_llama_7b_v2': ModelType.PT,
219
+ 'openlm-research/open_llama_3b': ModelType.PT,
220
+ 'openlm-research/open_llama_13b': ModelType.PT,
221
+ 'openlm-research/open_llama_3b_v2': ModelType.PT,
222
+ 'PocketDoc/Dans-PileOfSets-Mk1-llama-13b-merged': ModelType.IFT,
223
+ 'GeorgiaTechResearchInstitute/galpaca-30b': ModelType.IFT,
224
+ 'GeorgiaTechResearchInstitute/starcoder-gpteacher-code-instruct': ModelType.IFT,
225
+ 'databricks/dolly-v2-7b': ModelType.IFT,
226
+ 'databricks/dolly-v2-3b': ModelType.IFT,
227
+ 'databricks/dolly-v2-12b': ModelType.IFT,
228
+ 'Rachneet/gpt2-xl-alpaca': ModelType.FT,
229
+ 'Locutusque/gpt2-conversational-or-qa': ModelType.FT,
230
+ 'psyche/kogpt': ModelType.FT,
231
+ 'NbAiLab/nb-gpt-j-6B-alpaca': ModelType.IFT,
232
+ 'Mikael110/llama-2-7b-guanaco-fp16': ModelType.FT,
233
+ 'Mikael110/llama-2-13b-guanaco-fp16': ModelType.FT,
234
+ 'Fredithefish/CrimsonPajama': ModelType.IFT,
235
+ 'Fredithefish/RedPajama-INCITE-Chat-3B-ShareGPT-11K': ModelType.FT,
236
+ 'Fredithefish/ScarletPajama-3B-HF': ModelType.FT,
237
+ 'Fredithefish/RedPajama-INCITE-Chat-3B-Instruction-Tuning-with-GPT-4': ModelType.IFT,
238
+ 'acrastt/RedPajama-INCITE-Chat-Instruct-3B-V1': ModelType.IFT,
239
+ 'eachadea/vicuna-13b-1.1': ModelType.FT,
240
+ 'eachadea/vicuna-7b-1.1': ModelType.FT,
241
+ 'eachadea/vicuna-13b': ModelType.FT,
242
+ 'openaccess-ai-collective/wizard-mega-13b': ModelType.IFT,
243
+ 'openaccess-ai-collective/manticore-13b': ModelType.IFT,
244
+ 'openaccess-ai-collective/manticore-30b-chat-pyg-alpha': ModelType.IFT,
245
+ 'openaccess-ai-collective/minotaur-13b': ModelType.IFT,
246
+ 'openaccess-ai-collective/minotaur-13b-fixed': ModelType.IFT,
247
+ 'openaccess-ai-collective/hippogriff-30b-chat': ModelType.IFT,
248
+ 'openaccess-ai-collective/manticore-13b-chat-pyg': ModelType.IFT,
249
+ 'pythainlp/wangchanglm-7.5B-sft-enth': ModelType.IFT,
250
+ 'pythainlp/wangchanglm-7.5B-sft-en-sharded': ModelType.IFT,
251
+ 'euclaise/gpt-neox-122m-minipile-digits': ModelType.FT,
252
+ 'stabilityai/StableBeluga1-Delta': ModelType.IFT,
253
+ 'stabilityai/stablelm-tuned-alpha-7b': ModelType.IFT,
254
+ 'stabilityai/StableBeluga2': ModelType.IFT,
255
+ 'stabilityai/StableBeluga-13B': ModelType.IFT,
256
+ 'stabilityai/StableBeluga-7B': ModelType.IFT,
257
+ 'stabilityai/stablelm-base-alpha-7b': ModelType.PT,
258
+ 'stabilityai/stablelm-base-alpha-3b': ModelType.PT,
259
+ 'stabilityai/stablelm-tuned-alpha-3b': ModelType.IFT,
260
+ 'alibidaran/medical_transcription_generator': ModelType.FT,
261
+ 'CalderaAI/30B-Lazarus': ModelType.IFT,
262
+ 'CalderaAI/13B-BlueMethod': ModelType.IFT,
263
+ 'CalderaAI/13B-Ouroboros': ModelType.IFT,
264
+ 'KoboldAI/OPT-13B-Erebus': ModelType.FT,
265
+ 'KoboldAI/GPT-J-6B-Janeway': ModelType.FT,
266
+ 'KoboldAI/GPT-J-6B-Shinen': ModelType.FT,
267
+ 'KoboldAI/fairseq-dense-2.7B': ModelType.PT,
268
+ 'KoboldAI/OPT-6B-nerys-v2': ModelType.FT,
269
+ 'KoboldAI/GPT-NeoX-20B-Skein': ModelType.FT,
270
+ 'KoboldAI/PPO_Pygway-6b-Mix': ModelType.FT,
271
+ 'KoboldAI/fairseq-dense-6.7B': ModelType.PT,
272
+ 'KoboldAI/fairseq-dense-125M': ModelType.PT,
273
+ 'KoboldAI/OPT-13B-Nerybus-Mix': ModelType.FT,
274
+ 'KoboldAI/OPT-2.7B-Erebus': ModelType.FT,
275
+ 'KoboldAI/OPT-350M-Nerys-v2': ModelType.FT,
276
+ 'KoboldAI/OPT-2.7B-Nerys-v2': ModelType.FT,
277
+ 'KoboldAI/OPT-2.7B-Nerybus-Mix': ModelType.FT,
278
+ 'KoboldAI/OPT-13B-Nerys-v2': ModelType.FT,
279
+ 'KoboldAI/GPT-NeoX-20B-Erebus': ModelType.FT,
280
+ 'KoboldAI/OPT-6.7B-Erebus': ModelType.FT,
281
+ 'KoboldAI/fairseq-dense-355M': ModelType.PT,
282
+ 'KoboldAI/OPT-6.7B-Nerybus-Mix': ModelType.FT,
283
+ 'KoboldAI/GPT-J-6B-Adventure': ModelType.FT,
284
+ 'KoboldAI/OPT-350M-Erebus': ModelType.FT,
285
+ 'KoboldAI/GPT-J-6B-Skein': ModelType.FT,
286
+ 'KoboldAI/OPT-30B-Erebus': ModelType.FT,
287
+ 'klosax/pythia-160m-deduped-step92k-193bt': ModelType.PT,
288
+ 'klosax/open_llama_3b_350bt_preview': ModelType.PT,
289
+ 'klosax/openllama-3b-350bt': ModelType.PT,
290
+ 'klosax/pythia-70m-deduped-step44k-92bt': ModelType.PT,
291
+ 'klosax/open_llama_13b_600bt_preview': ModelType.PT,
292
+ 'klosax/open_llama_7b_400bt_preview': ModelType.PT,
293
+ 'kfkas/Llama-2-ko-7b-Chat': ModelType.IFT,
294
+ 'WeOpenML/Alpaca-7B-v1': ModelType.IFT,
295
+ 'WeOpenML/PandaLM-Alpaca-7B-v1': ModelType.IFT,
296
+ 'TFLai/gpt2-turkish-uncased': ModelType.FT,
297
+ 'ehartford/WizardLM-13B-Uncensored': ModelType.IFT,
298
+ 'ehartford/dolphin-llama-13b': ModelType.IFT,
299
+ 'ehartford/Wizard-Vicuna-30B-Uncensored': ModelType.FT,
300
+ 'ehartford/WizardLM-30B-Uncensored': ModelType.IFT,
301
+ 'ehartford/Wizard-Vicuna-13B-Uncensored': ModelType.FT,
302
+ 'ehartford/WizardLM-7B-Uncensored': ModelType.IFT,
303
+ 'ehartford/based-30b': ModelType.FT,
304
+ 'ehartford/Wizard-Vicuna-7B-Uncensored': ModelType.FT,
305
+ 'wahaha1987/llama_7b_sharegpt94k_fastchat': ModelType.FT,
306
+ 'wahaha1987/llama_13b_sharegpt94k_fastchat': ModelType.FT,
307
+ 'OpenAssistant/oasst-sft-1-pythia-12b': ModelType.FT,
308
+ 'OpenAssistant/stablelm-7b-sft-v7-epoch-3': ModelType.IFT,
309
+ 'OpenAssistant/oasst-sft-4-pythia-12b-epoch-3.5': ModelType.FT,
310
+ 'OpenAssistant/pythia-12b-sft-v8-2.5k-steps': ModelType.IFT,
311
+ 'OpenAssistant/pythia-12b-sft-v8-7k-steps': ModelType.IFT,
312
+ 'OpenAssistant/pythia-12b-pre-v8-12.5k-steps': ModelType.IFT,
313
+ 'OpenAssistant/llama2-13b-orca-8k-3319': ModelType.IFT,
314
+ 'junelee/wizard-vicuna-13b': ModelType.FT,
315
+ 'BreadAi/gpt-YA-1-1_160M': ModelType.PT,
316
+ 'BreadAi/MuseCan': ModelType.PT,
317
+ 'BreadAi/MusePy-1-2': ModelType.PT,
318
+ 'BreadAi/DiscordPy': ModelType.PT,
319
+ 'BreadAi/PM_modelV2': ModelType.PT,
320
+ 'BreadAi/gpt-Youtube': ModelType.PT,
321
+ 'BreadAi/StoryPy': ModelType.FT,
322
+ 'julianweng/Llama-2-7b-chat-orcah': ModelType.FT,
323
+ 'AGI-inc/lora_moe_7b_baseline': ModelType.FT,
324
+ 'AGI-inc/lora_moe_7b': ModelType.FT,
325
+ 'togethercomputer/GPT-NeoXT-Chat-Base-20B': ModelType.IFT,
326
+ 'togethercomputer/RedPajama-INCITE-Chat-7B-v0.1': ModelType.IFT,
327
+ 'togethercomputer/RedPajama-INCITE-Instruct-7B-v0.1': ModelType.IFT,
328
+ 'togethercomputer/RedPajama-INCITE-7B-Base': ModelType.PT,
329
+ 'togethercomputer/RedPajama-INCITE-7B-Instruct': ModelType.IFT,
330
+ 'togethercomputer/RedPajama-INCITE-Base-3B-v1': ModelType.PT,
331
+ 'togethercomputer/Pythia-Chat-Base-7B': ModelType.IFT,
332
+ 'togethercomputer/RedPajama-INCITE-Base-7B-v0.1': ModelType.PT,
333
+ 'togethercomputer/GPT-JT-6B-v1': ModelType.IFT,
334
+ 'togethercomputer/GPT-JT-6B-v0': ModelType.IFT,
335
+ 'togethercomputer/RedPajama-INCITE-Chat-3B-v1': ModelType.IFT,
336
+ 'togethercomputer/RedPajama-INCITE-7B-Chat': ModelType.IFT,
337
+ 'togethercomputer/RedPajama-INCITE-Instruct-3B-v1': ModelType.IFT,
338
+ 'Writer/camel-5b-hf': ModelType.IFT,
339
+ 'Writer/palmyra-base': ModelType.PT,
340
+ 'MBZUAI/LaMini-GPT-1.5B': ModelType.IFT,
341
+ 'MBZUAI/lamini-cerebras-111m': ModelType.IFT,
342
+ 'MBZUAI/lamini-neo-1.3b': ModelType.IFT,
343
+ 'MBZUAI/lamini-cerebras-1.3b': ModelType.IFT,
344
+ 'MBZUAI/lamini-cerebras-256m': ModelType.IFT,
345
+ 'MBZUAI/LaMini-GPT-124M': ModelType.IFT,
346
+ 'MBZUAI/lamini-neo-125m': ModelType.IFT,
347
+ 'TehVenom/DiffMerge-DollyGPT-Pygmalion': ModelType.FT,
348
+ 'TehVenom/PPO_Shygmalion-6b': ModelType.FT,
349
+ 'TehVenom/Dolly_Shygmalion-6b-Dev_V8P2': ModelType.FT,
350
+ 'TehVenom/Pygmalion_AlpacaLora-7b': ModelType.FT,
351
+ 'TehVenom/PPO_Pygway-V8p4_Dev-6b': ModelType.FT,
352
+ 'TehVenom/Dolly_Malion-6b': ModelType.FT,
353
+ 'TehVenom/PPO_Shygmalion-V8p4_Dev-6b': ModelType.FT,
354
+ 'TehVenom/ChanMalion': ModelType.FT,
355
+ 'TehVenom/GPT-J-Pyg_PPO-6B': ModelType.IFT,
356
+ 'TehVenom/Pygmalion-13b-Merged': ModelType.FT,
357
+ 'TehVenom/Metharme-13b-Merged': ModelType.IFT,
358
+ 'TehVenom/Dolly_Shygmalion-6b': ModelType.FT,
359
+ 'TehVenom/GPT-J-Pyg_PPO-6B-Dev-V8p4': ModelType.IFT,
360
+ 'georgesung/llama2_7b_chat_uncensored': ModelType.FT,
361
+ 'vicgalle/gpt2-alpaca': ModelType.IFT,
362
+ 'vicgalle/alpaca-7b': ModelType.FT,
363
+ 'vicgalle/gpt2-alpaca-gpt4': ModelType.IFT,
364
+ 'facebook/opt-350m': ModelType.PT,
365
+ 'facebook/opt-125m': ModelType.PT,
366
+ 'facebook/xglm-4.5B': ModelType.PT,
367
+ 'facebook/opt-2.7b': ModelType.PT,
368
+ 'facebook/opt-6.7b': ModelType.PT,
369
+ 'facebook/galactica-30b': ModelType.PT,
370
+ 'facebook/opt-13b': ModelType.PT,
371
+ 'facebook/opt-66b': ModelType.PT,
372
+ 'facebook/xglm-7.5B': ModelType.PT,
373
+ 'facebook/xglm-564M': ModelType.PT,
374
+ 'facebook/opt-30b': ModelType.PT,
375
+ 'golaxy/gogpt-7b': ModelType.FT,
376
+ 'golaxy/gogpt2-7b': ModelType.FT,
377
+ 'golaxy/gogpt-7b-bloom': ModelType.FT,
378
+ 'golaxy/gogpt-3b-bloom': ModelType.FT,
379
+ 'psmathur/orca_mini_v2_7b': ModelType.IFT,
380
+ 'psmathur/orca_mini_7b': ModelType.IFT,
381
+ 'psmathur/orca_mini_3b': ModelType.IFT,
382
+ 'psmathur/orca_mini_v2_13b': ModelType.IFT,
383
+ 'gpt2-xl': ModelType.PT,
384
+ 'lxe/Cerebras-GPT-2.7B-Alpaca-SP': ModelType.FT,
385
+ 'Monero/Manticore-13b-Chat-Pyg-Guanaco': ModelType.FT,
386
+ 'Monero/WizardLM-Uncensored-SuperCOT-StoryTelling-30b': ModelType.IFT,
387
+ 'Monero/WizardLM-13b-OpenAssistant-Uncensored': ModelType.IFT,
388
+ 'Monero/WizardLM-30B-Uncensored-Guanaco-SuperCOT-30b': ModelType.IFT,
389
+ 'jzjiao/opt-1.3b-rlhf': ModelType.FT,
390
+ 'HuggingFaceH4/starchat-beta': ModelType.IFT,
391
+ 'KnutJaegersberg/gpt-2-xl-EvolInstruct': ModelType.IFT,
392
+ 'KnutJaegersberg/megatron-GPT-2-345m-EvolInstruct': ModelType.IFT,
393
+ 'KnutJaegersberg/galactica-orca-wizardlm-1.3b': ModelType.IFT,
394
+ 'openchat/openchat_8192': ModelType.IFT,
395
+ 'openchat/openchat_v2': ModelType.IFT,
396
+ 'openchat/openchat_v2_w': ModelType.IFT,
397
+ 'ausboss/llama-13b-supercot': ModelType.IFT,
398
+ 'ausboss/llama-30b-supercot': ModelType.IFT,
399
+ 'Neko-Institute-of-Science/metharme-7b': ModelType.IFT,
400
+ 'Neko-Institute-of-Science/pygmalion-7b': ModelType.FT,
401
+ 'SebastianSchramm/Cerebras-GPT-111M-instruction': ModelType.IFT,
402
+ 'victor123/WizardLM-13B-1.0': ModelType.IFT,
403
+ 'OpenBuddy/openbuddy-openllama-13b-v7-fp16': ModelType.FT,
404
+ 'OpenBuddy/openbuddy-llama2-13b-v8.1-fp16': ModelType.FT,
405
+ 'OpenBuddyEA/openbuddy-llama-30b-v7.1-bf16': ModelType.FT,
406
+ 'baichuan-inc/Baichuan-7B': ModelType.PT,
407
+ 'tiiuae/falcon-40b-instruct': ModelType.IFT,
408
+ 'tiiuae/falcon-40b': ModelType.PT,
409
+ 'tiiuae/falcon-7b': ModelType.PT,
410
+ 'YeungNLP/firefly-llama-13b': ModelType.FT,
411
+ 'YeungNLP/firefly-llama-13b-v1.2': ModelType.FT,
412
+ 'YeungNLP/firefly-llama2-13b': ModelType.FT,
413
+ 'YeungNLP/firefly-ziya-13b': ModelType.FT,
414
+ 'shaohang/Sparse0.5_OPT-1.3': ModelType.FT,
415
+ 'xzuyn/Alpacino-SuperCOT-13B': ModelType.IFT,
416
+ 'xzuyn/MedicWizard-7B': ModelType.FT,
417
+ 'xDAN-AI/xDAN_13b_l2_lora': ModelType.FT,
418
+ 'beomi/KoAlpaca-Polyglot-5.8B': ModelType.FT,
419
+ 'beomi/llama-2-ko-7b': ModelType.IFT,
420
+ 'Salesforce/codegen-6B-multi': ModelType.PT,
421
+ 'Salesforce/codegen-16B-nl': ModelType.PT,
422
+ 'Salesforce/codegen-6B-nl': ModelType.PT,
423
+ 'ai-forever/rugpt3large_based_on_gpt2': ModelType.FT,
424
+ 'gpt2-large': ModelType.PT,
425
+ 'frank098/orca_mini_3b_juniper': ModelType.FT,
426
+ 'frank098/WizardLM_13B_juniper': ModelType.FT,
427
+ 'FPHam/Free_Sydney_13b_HF': ModelType.FT,
428
+ 'huggingface/llama-13b': ModelType.PT,
429
+ 'huggingface/llama-7b': ModelType.PT,
430
+ 'huggingface/llama-65b': ModelType.PT,
431
+ 'huggingface/llama-30b': ModelType.PT,
432
+ 'Henk717/chronoboros-33B': ModelType.IFT,
433
+ 'jondurbin/airoboros-13b-gpt4-1.4': ModelType.IFT,
434
+ 'jondurbin/airoboros-7b': ModelType.IFT,
435
+ 'jondurbin/airoboros-7b-gpt4': ModelType.IFT,
436
+ 'jondurbin/airoboros-7b-gpt4-1.1': ModelType.IFT,
437
+ 'jondurbin/airoboros-7b-gpt4-1.2': ModelType.IFT,
438
+ 'jondurbin/airoboros-7b-gpt4-1.3': ModelType.IFT,
439
+ 'jondurbin/airoboros-7b-gpt4-1.4': ModelType.IFT,
440
+ 'jondurbin/airoboros-l2-7b-gpt4-1.4.1': ModelType.IFT,
441
+ 'jondurbin/airoboros-l2-13b-gpt4-1.4.1': ModelType.IFT,
442
+ 'jondurbin/airoboros-l2-70b-gpt4-1.4.1': ModelType.IFT,
443
+ 'jondurbin/airoboros-13b': ModelType.IFT,
444
+ 'jondurbin/airoboros-33b-gpt4-1.4': ModelType.IFT,
445
+ 'jondurbin/airoboros-33b-gpt4-1.2': ModelType.IFT,
446
+ 'jondurbin/airoboros-65b-gpt4-1.2': ModelType.IFT,
447
+ 'ariellee/SuperPlatty-30B': ModelType.IFT,
448
+ 'danielhanchen/open_llama_3b_600bt_preview': ModelType.FT,
449
+ 'cerebras/Cerebras-GPT-256M': ModelType.PT,
450
+ 'cerebras/Cerebras-GPT-1.3B': ModelType.PT,
451
+ 'cerebras/Cerebras-GPT-13B': ModelType.PT,
452
+ 'cerebras/Cerebras-GPT-2.7B': ModelType.PT,
453
+ 'cerebras/Cerebras-GPT-111M': ModelType.PT,
454
+ 'cerebras/Cerebras-GPT-6.7B': ModelType.PT,
455
+ 'Yhyu13/oasst-rlhf-2-llama-30b-7k-steps-hf': ModelType.RL,
456
+ 'Yhyu13/llama-30B-hf-openassitant': ModelType.FT,
457
+ 'NousResearch/Nous-Hermes-Llama2-13b': ModelType.IFT,
458
+ 'NousResearch/Nous-Hermes-llama-2-7b': ModelType.IFT,
459
+ 'NousResearch/Redmond-Puffin-13B': ModelType.IFT,
460
+ 'NousResearch/Nous-Hermes-13b': ModelType.IFT,
461
+ 'project-baize/baize-v2-7b': ModelType.IFT,
462
+ 'project-baize/baize-v2-13b': ModelType.IFT,
463
+ 'LLMs/WizardLM-13B-V1.0': ModelType.FT,
464
+ 'LLMs/AlpacaGPT4-7B-elina': ModelType.FT,
465
+ 'wenge-research/yayi-7b': ModelType.FT,
466
+ 'wenge-research/yayi-7b-llama2': ModelType.FT,
467
+ 'wenge-research/yayi-13b-llama2': ModelType.FT,
468
+ 'yhyhy3/open_llama_7b_v2_med_instruct': ModelType.IFT,
469
+ 'llama-anon/instruct-13b': ModelType.IFT,
470
+ 'huggingtweets/jerma985': ModelType.FT,
471
+ 'huggingtweets/gladosystem': ModelType.FT,
472
+ 'huggingtweets/bladeecity-jerma985': ModelType.FT,
473
+ 'huggyllama/llama-13b': ModelType.PT,
474
+ 'huggyllama/llama-65b': ModelType.PT,
475
+ 'FabbriSimo01/Facebook_opt_1.3b_Quantized': ModelType.PT,
476
+ 'upstage/Llama-2-70b-instruct': ModelType.IFT,
477
+ 'upstage/Llama-2-70b-instruct-1024': ModelType.IFT,
478
+ 'upstage/llama-65b-instruct': ModelType.IFT,
479
+ 'upstage/llama-30b-instruct-2048': ModelType.IFT,
480
+ 'upstage/llama-30b-instruct': ModelType.IFT,
481
+ 'WizardLM/WizardLM-13B-1.0': ModelType.IFT,
482
+ 'WizardLM/WizardLM-13B-V1.1': ModelType.IFT,
483
+ 'WizardLM/WizardLM-13B-V1.2': ModelType.IFT,
484
+ 'WizardLM/WizardLM-30B-V1.0': ModelType.IFT,
485
+ 'WizardLM/WizardCoder-15B-V1.0': ModelType.IFT,
486
+ 'gpt2': ModelType.PT,
487
+ 'keyfan/vicuna-chinese-replication-v1.1': ModelType.IFT,
488
+ 'nthngdy/pythia-owt2-70m-100k': ModelType.FT,
489
+ 'nthngdy/pythia-owt2-70m-50k': ModelType.FT,
490
+ 'quantumaikr/KoreanLM-hf': ModelType.FT,
491
+ 'quantumaikr/open_llama_7b_hf': ModelType.FT,
492
+ 'quantumaikr/QuantumLM-70B-hf': ModelType.IFT,
493
+ 'MayaPH/FinOPT-Lincoln': ModelType.FT,
494
+ 'MayaPH/FinOPT-Franklin': ModelType.FT,
495
+ 'MayaPH/GodziLLa-30B': ModelType.IFT,
496
+ 'MayaPH/GodziLLa-30B-plus': ModelType.IFT,
497
+ 'MayaPH/FinOPT-Washington': ModelType.FT,
498
+ 'ogimgio/gpt-neo-125m-neurallinguisticpioneers': ModelType.FT,
499
+ 'layoric/llama-2-13b-code-alpaca': ModelType.FT,
500
+ 'CobraMamba/mamba-gpt-3b': ModelType.FT,
501
+ 'CobraMamba/mamba-gpt-3b-v2': ModelType.FT,
502
+ 'CobraMamba/mamba-gpt-3b-v3': ModelType.FT,
503
+ 'timdettmers/guanaco-33b-merged': ModelType.FT,
504
+ 'elinas/chronos-33b': ModelType.IFT,
505
+ 'heegyu/RedTulu-Uncensored-3B-0719': ModelType.IFT,
506
+ 'heegyu/WizardVicuna-Uncensored-3B-0719': ModelType.IFT,
507
+ 'heegyu/WizardVicuna-3B-0719': ModelType.IFT,
508
+ 'meta-llama/Llama-2-7b-chat-hf': ModelType.RL,
509
+ 'meta-llama/Llama-2-7b-hf': ModelType.PT,
510
+ 'meta-llama/Llama-2-13b-chat-hf': ModelType.RL,
511
+ 'meta-llama/Llama-2-13b-hf': ModelType.PT,
512
+ 'meta-llama/Llama-2-70b-chat-hf': ModelType.RL,
513
+ 'meta-llama/Llama-2-70b-hf': ModelType.PT,
514
+ 'xhyi/PT_GPTNEO350_ATG': ModelType.FT,
515
+ 'h2oai/h2ogpt-gm-oasst1-en-1024-20b': ModelType.FT,
516
+ 'h2oai/h2ogpt-gm-oasst1-en-1024-open-llama-7b-preview-400bt': ModelType.FT,
517
+ 'h2oai/h2ogpt-oig-oasst1-512-6_9b': ModelType.IFT,
518
+ 'h2oai/h2ogpt-oasst1-512-12b': ModelType.IFT,
519
+ 'h2oai/h2ogpt-oig-oasst1-256-6_9b': ModelType.IFT,
520
+ 'h2oai/h2ogpt-gm-oasst1-en-2048-open-llama-7b-preview-300bt': ModelType.FT,
521
+ 'h2oai/h2ogpt-oasst1-512-20b': ModelType.IFT,
522
+ 'h2oai/h2ogpt-gm-oasst1-en-2048-open-llama-7b-preview-300bt-v2': ModelType.FT,
523
+ 'h2oai/h2ogpt-gm-oasst1-en-1024-12b': ModelType.FT,
524
+ 'h2oai/h2ogpt-gm-oasst1-multilang-1024-20b': ModelType.FT,
525
+ 'bofenghuang/vigogne-13b-instruct': ModelType.IFT,
526
+ 'bofenghuang/vigogne-13b-chat': ModelType.FT,
527
+ 'bofenghuang/vigogne-2-7b-instruct': ModelType.IFT,
528
+ 'bofenghuang/vigogne-7b-instruct': ModelType.IFT,
529
+ 'bofenghuang/vigogne-7b-chat': ModelType.FT,
530
+ 'Vmware/open-llama-7b-v2-open-instruct': ModelType.IFT,
531
+ 'VMware/open-llama-0.7T-7B-open-instruct-v1.1': ModelType.IFT,
532
+ 'ewof/koishi-instruct-3b': ModelType.IFT,
533
+ 'gywy/llama2-13b-chinese-v1': ModelType.FT,
534
+ 'GOAT-AI/GOAT-7B-Community': ModelType.FT,
535
+ 'psyche/kollama2-7b': ModelType.FT,
536
+ 'TheTravellingEngineer/llama2-7b-hf-guanaco': ModelType.FT,
537
+ 'beaugogh/pythia-1.4b-deduped-sharegpt': ModelType.FT,
538
+ 'augtoma/qCammel-70-x': ModelType.IFT,
539
+ 'Lajonbot/Llama-2-7b-chat-hf-instruct-pl-lora_unload': ModelType.IFT,
540
+ 'anhnv125/pygmalion-6b-roleplay': ModelType.FT,
541
+ '64bits/LexPodLM-13B': ModelType.FT,
542
+ }
543
+
544
+
545
+ def model_type_from_str(type):
546
+ if "fine-tuned" in type or "🔶" in type:
547
+ return ModelType.FT
548
+ if "pretrained" in type or "🟢" in type:
549
+ return ModelType.PT
550
+ if "RL-tuned" in type or "🟦" in type:
551
+ return ModelType.RL
552
+ if "instruction-tuned" in type or "⭕" in type:
553
+ return ModelType.IFT
554
+ return ModelType.Unknown
555
+
556
+
557
+ def get_model_type(leaderboard_data: List[dict]):
558
+ for model_data in leaderboard_data:
559
+ request_files = os.path.join("eval-queue", model_data["model_name_for_query"] + "_eval_request_*" + ".json")
560
+ request_files = glob.glob(request_files)
561
+
562
+ request_file = ""
563
+ if len(request_files) == 1:
564
+ request_file = request_files[0]
565
+ elif len(request_files) > 1:
566
+ request_files = sorted(request_files, reverse=True)
567
+ for tmp_request_file in request_files:
568
+ with open(tmp_request_file, "r") as f:
569
+ req_content = json.load(f)
570
+ if req_content["status"] == "FINISHED" and req_content["precision"] == model_data["Precision"].split(".")[-1]:
571
+ request_file = tmp_request_file
572
+
573
+ if request_file == "":
574
+ model_data[AutoEvalColumn.model_type.name] = ""
575
+ model_data[AutoEvalColumn.model_type_symbol.name] = ""
576
+ continue
577
+
578
+ try:
579
+ with open(request_file, "r") as f:
580
+ request = json.load(f)
581
+ is_delta = request["weight_type"] != "Original"
582
+ except Exception:
583
+ is_delta = False
584
+
585
+ try:
586
+ with open(request_file, "r") as f:
587
+ request = json.load(f)
588
+ model_type = model_type_from_str(request["model_type"])
589
+ model_data[AutoEvalColumn.model_type.name] = model_type.value.name
590
+ model_data[AutoEvalColumn.model_type_symbol.name] = model_type.value.symbol + ("🔺" if is_delta else "")
591
+ except KeyError:
592
+ if model_data["model_name_for_query"] in TYPE_METADATA:
593
+ model_data[AutoEvalColumn.model_type.name] = TYPE_METADATA[model_data["model_name_for_query"]].value.name
594
+ model_data[AutoEvalColumn.model_type_symbol.name] = TYPE_METADATA[model_data["model_name_for_query"]].value.symbol + ("🔺" if is_delta else "")
595
+ else:
596
+ model_data[AutoEvalColumn.model_type.name] = ModelType.Unknown.value.name
597
+ model_data[AutoEvalColumn.model_type_symbol.name] = ModelType.Unknown.value.symbol
src/init.py ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ from huggingface_hub import Repository
3
+
4
+ H4_TOKEN = os.environ.get("H4_TOKEN", None)
5
+
6
+
7
+ def get_all_requested_models(requested_models_dir):
8
+ depth = 1
9
+ file_names = []
10
+
11
+ for root, dirs, files in os.walk(requested_models_dir):
12
+ current_depth = root.count(os.sep) - requested_models_dir.count(os.sep)
13
+ if current_depth == depth:
14
+ file_names.extend([os.path.join(root, file) for file in files])
15
+
16
+ return set([file_name.lower().split("eval-queue/")[1] for file_name in file_names])
17
+
18
+ def load_all_info_from_hub(QUEUE_REPO, RESULTS_REPO, QUEUE_PATH, RESULTS_PATH):
19
+ eval_queue_repo = None
20
+ eval_results_repo = None
21
+ requested_models = None
22
+
23
+ if H4_TOKEN:
24
+ print("Pulling evaluation requests and results.")
25
+
26
+ eval_queue_repo = Repository(
27
+ local_dir=QUEUE_PATH,
28
+ clone_from=QUEUE_REPO,
29
+ use_auth_token=H4_TOKEN,
30
+ repo_type="dataset",
31
+ )
32
+ eval_queue_repo.git_pull()
33
+
34
+ eval_results_repo = Repository(
35
+ local_dir=RESULTS_PATH,
36
+ clone_from=RESULTS_REPO,
37
+ use_auth_token=H4_TOKEN,
38
+ repo_type="dataset",
39
+ )
40
+ eval_results_repo.git_pull()
41
+
42
+ requested_models = get_all_requested_models("eval-queue")
43
+ else:
44
+ print("No HuggingFace token provided. Skipping evaluation requests and results.")
45
+
46
+ return eval_queue_repo, requested_models, eval_results_repo
47
+
48
+
49
+ #def load_results(model, benchmark, metric):
50
+ # file_path = os.path.join("autoevals", model, f"{model}-eval_{benchmark}.json")
51
+ # if not os.path.exists(file_path):
52
+ # return 0.0, None
53
+
54
+ # with open(file_path) as fp:
55
+ # data = json.load(fp)
56
+ # accs = np.array([v[metric] for k, v in data["results"].items()])
57
+ # mean_acc = np.mean(accs)
58
+ # return mean_acc, data["config"]["model_args"]
src/utils_display.py ADDED
@@ -0,0 +1,99 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from dataclasses import dataclass
2
+
3
+ # These classes are for user facing column names, to avoid having to change them
4
+ # all around the code when a modif is needed
5
+ @dataclass
6
+ class ColumnContent:
7
+ name: str
8
+ type: str
9
+ displayed_by_default: bool
10
+ hidden: bool = False
11
+
12
+ def fields(raw_class):
13
+ return [v for k, v in raw_class.__dict__.items() if k[:2] != "__" and k[-2:] != "__"]
14
+
15
+ @dataclass(frozen=True)
16
+ class AutoEvalColumn: # Auto evals column
17
+ model_type_symbol = ColumnContent("T", "str", True)
18
+ model = ColumnContent("Model", "markdown", True)
19
+ average = ColumnContent("Average ⬆️", "number", True)
20
+ arc = ColumnContent("ARC", "number", True)
21
+ hellaswag = ColumnContent("HellaSwag", "number", True)
22
+ mmlu = ColumnContent("MMLU", "number", True)
23
+ truthfulqa = ColumnContent("TruthfulQA", "number", True)
24
+ model_type = ColumnContent("Type", "str", False)
25
+ precision = ColumnContent("Precision", "str", False) #, True)
26
+ license = ColumnContent("Hub License", "str", False)
27
+ params = ColumnContent("#Params (B)", "number", False)
28
+ likes = ColumnContent("Hub ❤️", "number", False)
29
+ revision = ColumnContent("Model sha", "str", False, False)
30
+ dummy = ColumnContent("model_name_for_query", "str", True) # dummy col to implement search bar (hidden by custom CSS)
31
+
32
+ @dataclass(frozen=True)
33
+ class EloEvalColumn: # Elo evals column
34
+ model = ColumnContent("Model", "markdown", True)
35
+ gpt4 = ColumnContent("GPT-4 (all)", "number", True)
36
+ human_all = ColumnContent("Human (all)", "number", True)
37
+ human_instruct = ColumnContent("Human (instruct)", "number", True)
38
+ human_code_instruct = ColumnContent("Human (code-instruct)", "number", True)
39
+
40
+
41
+ @dataclass(frozen=True)
42
+ class EvalQueueColumn: # Queue column
43
+ model = ColumnContent("model", "markdown", True)
44
+ revision = ColumnContent("revision", "str", True)
45
+ private = ColumnContent("private", "bool", True)
46
+ precision = ColumnContent("precision", "str", True)
47
+ weight_type = ColumnContent("weight_type", "str", "Original")
48
+ status = ColumnContent("status", "str", True)
49
+
50
+ LLAMAS = ["huggingface/llama-7b", "huggingface/llama-13b", "huggingface/llama-30b", "huggingface/llama-65b"]
51
+
52
+
53
+ KOALA_LINK = "https://huggingface.co/TheBloke/koala-13B-HF"
54
+ VICUNA_LINK = "https://huggingface.co/lmsys/vicuna-13b-delta-v1.1"
55
+ OASST_LINK = "https://huggingface.co/OpenAssistant/oasst-sft-4-pythia-12b-epoch-3.5"
56
+ DOLLY_LINK = "https://huggingface.co/databricks/dolly-v2-12b"
57
+ MODEL_PAGE = "https://huggingface.co/models"
58
+ LLAMA_LINK = "https://ai.facebook.com/blog/large-language-model-llama-meta-ai/"
59
+ VICUNA_LINK = "https://huggingface.co/CarperAI/stable-vicuna-13b-delta"
60
+ ALPACA_LINK = "https://crfm.stanford.edu/2023/03/13/alpaca.html"
61
+
62
+
63
+ def model_hyperlink(link, model_name):
64
+ return f'<a target="_blank" href="{link}" style="color: var(--link-text-color); text-decoration: underline;text-decoration-style: dotted;">{model_name}</a>'
65
+
66
+
67
+ def make_clickable_model(model_name):
68
+ link = f"https://huggingface.co/{model_name}"
69
+
70
+ if model_name in LLAMAS:
71
+ link = LLAMA_LINK
72
+ model_name = model_name.split("/")[1]
73
+ elif model_name == "HuggingFaceH4/stable-vicuna-13b-2904":
74
+ link = VICUNA_LINK
75
+ model_name = "stable-vicuna-13b"
76
+ elif model_name == "HuggingFaceH4/llama-7b-ift-alpaca":
77
+ link = ALPACA_LINK
78
+ model_name = "alpaca-13b"
79
+ if model_name == "dolly-12b":
80
+ link = DOLLY_LINK
81
+ elif model_name == "vicuna-13b":
82
+ link = VICUNA_LINK
83
+ elif model_name == "koala-13b":
84
+ link = KOALA_LINK
85
+ elif model_name == "oasst-12b":
86
+ link = OASST_LINK
87
+ #else:
88
+ # link = MODEL_PAGE
89
+
90
+ return model_hyperlink(link, model_name)
91
+
92
+ def styled_error(error):
93
+ return f"<p style='color: red; font-size: 20px; text-align: center;'>{error}</p>"
94
+
95
+ def styled_warning(warn):
96
+ return f"<p style='color: orange; font-size: 20px; text-align: center;'>{warn}</p>"
97
+
98
+ def styled_message(message):
99
+ return f"<p style='color: green; font-size: 20px; text-align: center;'>{message}</p>"