Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
Sean Cho
commited on
Commit
β’
ce5c604
1
Parent(s):
f73765d
update to latest version
Browse files- .gitattributes +0 -1
- .pre-commit-config.yaml +53 -0
- Makefile +13 -0
- README.md +3 -3
- app.py +280 -201
- models_backlinks.py +1 -0
- pyproject.toml +13 -0
- requirements.txt +2 -2
- src/assets/css_html_js.py +32 -7
- src/assets/hardcoded_evals.py +10 -11
- src/assets/text_content.py +3 -59
- src/auto_leaderboard/model_metadata_type.py +0 -597
- src/{auto_leaderboard β display_models}/get_model_metadata.py +83 -7
- src/display_models/model_metadata_flags.py +15 -0
- src/display_models/model_metadata_type.py +553 -0
- src/{auto_leaderboard/load_results.py β display_models/read_results.py} +29 -19
- src/{utils_display.py β display_models/utils.py} +62 -15
- src/init.py +0 -58
- src/load_from_hub.py +151 -0
- src/rate_limiting.py +16 -0
.gitattributes
CHANGED
@@ -25,7 +25,6 @@
|
|
25 |
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
26 |
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
27 |
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
28 |
-
*.tar filter=lfs diff=lfs merge=lfs -text
|
29 |
*.tflite filter=lfs diff=lfs merge=lfs -text
|
30 |
*.tgz filter=lfs diff=lfs merge=lfs -text
|
31 |
*.wasm filter=lfs diff=lfs merge=lfs -text
|
|
|
25 |
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
26 |
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
27 |
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
|
|
28 |
*.tflite filter=lfs diff=lfs merge=lfs -text
|
29 |
*.tgz filter=lfs diff=lfs merge=lfs -text
|
30 |
*.wasm filter=lfs diff=lfs merge=lfs -text
|
.pre-commit-config.yaml
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved.
|
2 |
+
#
|
3 |
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4 |
+
# you may not use this file except in compliance with the License.
|
5 |
+
# You may obtain a copy of the License at
|
6 |
+
#
|
7 |
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8 |
+
#
|
9 |
+
# Unless required by applicable law or agreed to in writing, software
|
10 |
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11 |
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12 |
+
# See the License for the specific language governing permissions and
|
13 |
+
# limitations under the License.
|
14 |
+
|
15 |
+
default_language_version:
|
16 |
+
python: python3
|
17 |
+
|
18 |
+
ci:
|
19 |
+
autofix_prs: true
|
20 |
+
autoupdate_commit_msg: '[pre-commit.ci] pre-commit suggestions'
|
21 |
+
autoupdate_schedule: quarterly
|
22 |
+
|
23 |
+
repos:
|
24 |
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
25 |
+
rev: v4.3.0
|
26 |
+
hooks:
|
27 |
+
- id: check-yaml
|
28 |
+
- id: check-case-conflict
|
29 |
+
- id: detect-private-key
|
30 |
+
- id: check-added-large-files
|
31 |
+
args: ['--maxkb=1000']
|
32 |
+
- id: requirements-txt-fixer
|
33 |
+
- id: end-of-file-fixer
|
34 |
+
- id: trailing-whitespace
|
35 |
+
|
36 |
+
- repo: https://github.com/PyCQA/isort
|
37 |
+
rev: 5.12.0
|
38 |
+
hooks:
|
39 |
+
- id: isort
|
40 |
+
name: Format imports
|
41 |
+
|
42 |
+
- repo: https://github.com/psf/black
|
43 |
+
rev: 22.12.0
|
44 |
+
hooks:
|
45 |
+
- id: black
|
46 |
+
name: Format code
|
47 |
+
additional_dependencies: ['click==8.0.2']
|
48 |
+
|
49 |
+
- repo: https://github.com/charliermarsh/ruff-pre-commit
|
50 |
+
# Ruff version.
|
51 |
+
rev: 'v0.0.267'
|
52 |
+
hooks:
|
53 |
+
- id: ruff
|
Makefile
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.PHONY: style format
|
2 |
+
|
3 |
+
|
4 |
+
style:
|
5 |
+
python -m black --line-length 119 .
|
6 |
+
python -m isort .
|
7 |
+
ruff check --fix .
|
8 |
+
|
9 |
+
|
10 |
+
quality:
|
11 |
+
python -m black --check --line-length 119 .
|
12 |
+
python -m isort --check-only .
|
13 |
+
ruff check .
|
README.md
CHANGED
@@ -1,12 +1,12 @@
|
|
1 |
---
|
2 |
title: Leaderboard Test
|
3 |
emoji: π
|
4 |
-
colorFrom:
|
5 |
-
colorTo:
|
6 |
sdk: gradio
|
7 |
sdk_version: 3.27.0
|
8 |
app_file: app.py
|
9 |
-
pinned:
|
10 |
license: apache-2.0
|
11 |
---
|
12 |
|
|
|
1 |
---
|
2 |
title: Leaderboard Test
|
3 |
emoji: π
|
4 |
+
colorFrom: green
|
5 |
+
colorTo: indigo
|
6 |
sdk: gradio
|
7 |
sdk_version: 3.27.0
|
8 |
app_file: app.py
|
9 |
+
pinned: true
|
10 |
license: apache-2.0
|
11 |
---
|
12 |
|
app.py
CHANGED
@@ -2,23 +2,33 @@ import json
|
|
2 |
import os
|
3 |
from datetime import datetime, timezone
|
4 |
|
5 |
-
|
6 |
import gradio as gr
|
7 |
-
import numpy as np
|
8 |
import pandas as pd
|
9 |
from apscheduler.schedulers.background import BackgroundScheduler
|
10 |
from huggingface_hub import HfApi
|
11 |
-
from transformers import AutoConfig
|
12 |
|
13 |
-
from src.auto_leaderboard.get_model_metadata import apply_metadata
|
14 |
-
from src.assets.text_content import *
|
15 |
-
from src.auto_leaderboard.load_results import get_eval_results_dicts, make_clickable_model
|
16 |
-
from src.assets.hardcoded_evals import gpt4_values, gpt35_values, baseline
|
17 |
from src.assets.css_html_js import custom_css, get_window_url_params
|
18 |
-
from src.
|
19 |
-
|
20 |
-
|
21 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
|
23 |
# clone / pull the lmeh eval data
|
24 |
H4_TOKEN = os.environ.get("H4_TOKEN", None)
|
@@ -37,20 +47,17 @@ EVAL_RESULTS_PATH = "eval-results"
|
|
37 |
EVAL_REQUESTS_PATH_PRIVATE = "eval-queue-private"
|
38 |
EVAL_RESULTS_PATH_PRIVATE = "eval-results-private"
|
39 |
|
40 |
-
api = HfApi()
|
41 |
|
42 |
-
def restart_space():
|
43 |
-
api.restart_space(
|
44 |
-
repo_id="BearSean/leaderboard-test", token=H4_TOKEN
|
45 |
-
)
|
46 |
|
47 |
-
|
|
|
48 |
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
eval_queue_private, eval_results_private = None, None
|
53 |
|
|
|
54 |
COLS = [c.name for c in fields(AutoEvalColumn) if not c.hidden]
|
55 |
TYPES = [c.type for c in fields(AutoEvalColumn) if not c.hidden]
|
56 |
COLS_LITE = [c.name for c in fields(AutoEvalColumn) if c.displayed_by_default and not c.hidden]
|
@@ -63,116 +70,51 @@ if not IS_PUBLIC:
|
|
63 |
EVAL_COLS = [c.name for c in fields(EvalQueueColumn)]
|
64 |
EVAL_TYPES = [c.type for c in fields(EvalQueueColumn)]
|
65 |
|
66 |
-
BENCHMARK_COLS = [
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
def get_leaderboard_df():
|
78 |
-
if eval_results:
|
79 |
-
print("Pulling evaluation results for the leaderboard.")
|
80 |
-
eval_results.git_pull()
|
81 |
-
if eval_results_private:
|
82 |
-
print("Pulling evaluation results for the leaderboard.")
|
83 |
-
eval_results_private.git_pull()
|
84 |
-
|
85 |
-
all_data = get_eval_results_dicts(IS_PUBLIC)
|
86 |
|
87 |
-
|
88 |
-
|
89 |
-
|
|
|
90 |
|
91 |
-
|
92 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
93 |
|
94 |
-
|
95 |
-
|
96 |
-
df = df[COLS].round(decimals=2)
|
97 |
|
98 |
-
|
99 |
-
|
100 |
-
return df
|
101 |
|
|
|
|
|
102 |
|
103 |
-
|
104 |
-
if eval_queue:
|
105 |
-
print("Pulling changes for the evaluation queue.")
|
106 |
-
eval_queue.git_pull()
|
107 |
-
if eval_queue_private:
|
108 |
-
print("Pulling changes for the evaluation queue.")
|
109 |
-
eval_queue_private.git_pull()
|
110 |
|
111 |
-
entries = [
|
112 |
-
entry
|
113 |
-
for entry in os.listdir(EVAL_REQUESTS_PATH)
|
114 |
-
if not entry.startswith(".")
|
115 |
-
]
|
116 |
-
all_evals = []
|
117 |
-
|
118 |
-
for entry in entries:
|
119 |
-
if ".json" in entry:
|
120 |
-
file_path = os.path.join(EVAL_REQUESTS_PATH, entry)
|
121 |
-
with open(file_path) as fp:
|
122 |
-
data = json.load(fp)
|
123 |
-
|
124 |
-
data["# params"] = "unknown"
|
125 |
-
data["model"] = make_clickable_model(data["model"])
|
126 |
-
data["revision"] = data.get("revision", "main")
|
127 |
-
|
128 |
-
all_evals.append(data)
|
129 |
-
elif ".md" not in entry:
|
130 |
-
# this is a folder
|
131 |
-
sub_entries = [
|
132 |
-
e
|
133 |
-
for e in os.listdir(f"{EVAL_REQUESTS_PATH}/{entry}")
|
134 |
-
if not e.startswith(".")
|
135 |
-
]
|
136 |
-
for sub_entry in sub_entries:
|
137 |
-
file_path = os.path.join(EVAL_REQUESTS_PATH, entry, sub_entry)
|
138 |
-
with open(file_path) as fp:
|
139 |
-
data = json.load(fp)
|
140 |
-
|
141 |
-
# data["# params"] = get_n_params(data["model"])
|
142 |
-
data["model"] = make_clickable_model(data["model"])
|
143 |
-
all_evals.append(data)
|
144 |
-
|
145 |
-
pending_list = [e for e in all_evals if e["status"] in ["PENDING", "RERUN"]]
|
146 |
-
running_list = [e for e in all_evals if e["status"] == "RUNNING"]
|
147 |
-
finished_list = [e for e in all_evals if e["status"].startswith("FINISHED")]
|
148 |
-
df_pending = pd.DataFrame.from_records(pending_list, columns=EVAL_COLS)
|
149 |
-
df_running = pd.DataFrame.from_records(running_list, columns=EVAL_COLS)
|
150 |
-
df_finished = pd.DataFrame.from_records(finished_list, columns=EVAL_COLS)
|
151 |
-
return df_finished[EVAL_COLS], df_running[EVAL_COLS], df_pending[EVAL_COLS]
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
original_df = get_leaderboard_df()
|
156 |
leaderboard_df = original_df.copy()
|
157 |
(
|
158 |
finished_eval_queue_df,
|
159 |
running_eval_queue_df,
|
160 |
pending_eval_queue_df,
|
161 |
-
) = get_evaluation_queue_df()
|
162 |
-
|
163 |
-
def is_model_on_hub(model_name, revision) -> bool:
|
164 |
-
try:
|
165 |
-
AutoConfig.from_pretrained(model_name, revision=revision)
|
166 |
-
return True, None
|
167 |
-
|
168 |
-
except ValueError as e:
|
169 |
-
return False, "needs to be launched with `trust_remote_code=True`. For safety reason, we do not allow these models to be automatically submitted to the leaderboard."
|
170 |
-
|
171 |
-
except Exception as e:
|
172 |
-
print(f"Could not get the model config from the hub.: {e}")
|
173 |
-
return False, "was not found on hub!"
|
174 |
|
175 |
|
|
|
176 |
def add_new_eval(
|
177 |
model: str,
|
178 |
base_model: str,
|
@@ -185,6 +127,14 @@ def add_new_eval(
|
|
185 |
precision = precision.split(" ")[0]
|
186 |
current_time = datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ")
|
187 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
188 |
if model_type is None or model_type == "":
|
189 |
return styled_error("Please select a model type.")
|
190 |
|
@@ -196,13 +146,12 @@ def add_new_eval(
|
|
196 |
base_model_on_hub, error = is_model_on_hub(base_model, revision)
|
197 |
if not base_model_on_hub:
|
198 |
return styled_error(f'Base model "{base_model}" {error}')
|
199 |
-
|
200 |
|
201 |
if not weight_type == "Adapter":
|
202 |
model_on_hub, error = is_model_on_hub(model, revision)
|
203 |
if not model_on_hub:
|
204 |
return styled_error(f'Model "{model}" {error}')
|
205 |
-
|
206 |
print("adding new eval")
|
207 |
|
208 |
eval_entry = {
|
@@ -227,8 +176,12 @@ def add_new_eval(
|
|
227 |
os.makedirs(OUT_DIR, exist_ok=True)
|
228 |
out_path = f"{OUT_DIR}/{model_path}_eval_request_{private}_{precision}_{weight_type}.json"
|
229 |
|
|
|
|
|
|
|
|
|
230 |
# Check for duplicate submission
|
231 |
-
if
|
232 |
return styled_warning("This model has been already submitted.")
|
233 |
|
234 |
with open(out_path, "w") as f:
|
@@ -238,7 +191,6 @@ def add_new_eval(
|
|
238 |
path_or_fileobj=out_path,
|
239 |
path_in_repo=out_path.split("eval-queue/")[1],
|
240 |
repo_id=QUEUE_REPO,
|
241 |
-
token=H4_TOKEN,
|
242 |
repo_type="dataset",
|
243 |
commit_message=f"Add {model} to eval queue",
|
244 |
)
|
@@ -246,16 +198,19 @@ def add_new_eval(
|
|
246 |
# remove the local file
|
247 |
os.remove(out_path)
|
248 |
|
249 |
-
return styled_message(
|
|
|
|
|
250 |
|
251 |
|
252 |
-
|
253 |
-
|
|
|
254 |
(
|
255 |
finished_eval_queue_df,
|
256 |
running_eval_queue_df,
|
257 |
pending_eval_queue_df,
|
258 |
-
) = get_evaluation_queue_df()
|
259 |
return (
|
260 |
leaderboard_df,
|
261 |
finished_eval_queue_df,
|
@@ -264,47 +219,68 @@ def refresh():
|
|
264 |
)
|
265 |
|
266 |
|
267 |
-
def
|
268 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
269 |
filtered_df = df[
|
270 |
(df[AutoEvalColumn.dummy.name].str.contains(query, case=False))
|
271 |
| (df[AutoEvalColumn.model_type.name].str.contains(query, case=False))
|
272 |
-
|
273 |
else:
|
274 |
filtered_df = df[(df[AutoEvalColumn.dummy.name].str.contains(query, case=False))]
|
275 |
-
return filtered_df[
|
276 |
|
277 |
|
278 |
-
def select_columns(df, columns):
|
279 |
-
always_here_cols = [
|
280 |
-
|
281 |
-
|
|
|
|
|
|
|
|
|
|
|
282 |
return filtered_df
|
283 |
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
299 |
|
300 |
-
|
301 |
-
isinstance(query_param, dict)
|
302 |
-
and "tab" in query_param
|
303 |
-
and query_param["tab"] == "evaluation"
|
304 |
-
):
|
305 |
-
return gr.Tabs.update(selected=1)
|
306 |
-
else:
|
307 |
-
return gr.Tabs.update(selected=0)
|
308 |
|
309 |
|
310 |
demo = gr.Blocks(css=custom_css)
|
@@ -315,34 +291,83 @@ with demo:
|
|
315 |
with gr.Tabs(elem_classes="tab-buttons") as tabs:
|
316 |
with gr.TabItem("π
LLM Benchmark", elem_id="llm-benchmark-tab-table", id=0):
|
317 |
with gr.Row():
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
325 |
with gr.Column(min_width=320):
|
326 |
search_bar = gr.Textbox(
|
327 |
-
placeholder="π
|
328 |
show_label=False,
|
329 |
elem_id="search-bar",
|
330 |
)
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
343 |
leaderboard_table = gr.components.Dataframe(
|
344 |
-
value=leaderboard_df[
|
345 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
346 |
datatype=TYPES,
|
347 |
max_rows=None,
|
348 |
elem_id="leaderboard-table",
|
@@ -360,11 +385,55 @@ with demo:
|
|
360 |
)
|
361 |
search_bar.submit(
|
362 |
search_table,
|
363 |
-
[
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
364 |
leaderboard_table,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
365 |
)
|
366 |
-
shown_columns.change(select_columns, [hidden_leaderboard_table_for_search, shown_columns], leaderboard_table)
|
367 |
-
filter_columns.change(filter_items, [hidden_leaderboard_table_for_search, leaderboard_table, filter_columns], leaderboard_table)
|
368 |
with gr.TabItem("π About", elem_id="llm-benchmark-tab-table", id=2):
|
369 |
gr.Markdown(LLM_BENCHMARKS_TEXT, elem_classes="markdown-text")
|
370 |
|
@@ -374,7 +443,10 @@ with demo:
|
|
374 |
gr.Markdown(EVALUATION_QUEUE_TEXT, elem_classes="markdown-text")
|
375 |
|
376 |
with gr.Column():
|
377 |
-
with gr.Accordion(
|
|
|
|
|
|
|
378 |
with gr.Row():
|
379 |
finished_eval_table = gr.components.Dataframe(
|
380 |
value=finished_eval_queue_df,
|
@@ -382,7 +454,10 @@ with demo:
|
|
382 |
datatype=EVAL_TYPES,
|
383 |
max_rows=5,
|
384 |
)
|
385 |
-
with gr.Accordion(
|
|
|
|
|
|
|
386 |
with gr.Row():
|
387 |
running_eval_table = gr.components.Dataframe(
|
388 |
value=running_eval_queue_df,
|
@@ -391,7 +466,10 @@ with demo:
|
|
391 |
max_rows=5,
|
392 |
)
|
393 |
|
394 |
-
with gr.Accordion(
|
|
|
|
|
|
|
395 |
with gr.Row():
|
396 |
pending_eval_table = gr.components.Dataframe(
|
397 |
value=pending_eval_queue_df,
|
@@ -405,20 +483,16 @@ with demo:
|
|
405 |
with gr.Row():
|
406 |
with gr.Column():
|
407 |
model_name_textbox = gr.Textbox(label="Model name")
|
408 |
-
revision_name_textbox = gr.Textbox(
|
409 |
-
|
410 |
-
)
|
411 |
-
private = gr.Checkbox(
|
412 |
-
False, label="Private", visible=not IS_PUBLIC
|
413 |
-
)
|
414 |
model_type = gr.Dropdown(
|
415 |
-
choices=[
|
416 |
ModelType.PT.to_str(" : "),
|
417 |
ModelType.FT.to_str(" : "),
|
418 |
ModelType.IFT.to_str(" : "),
|
419 |
-
ModelType.RL.to_str(" : "),
|
420 |
-
],
|
421 |
-
label="Model type",
|
422 |
multiselect=False,
|
423 |
value=None,
|
424 |
interactive=True,
|
@@ -426,22 +500,26 @@ with demo:
|
|
426 |
|
427 |
with gr.Column():
|
428 |
precision = gr.Dropdown(
|
429 |
-
choices=[
|
430 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
431 |
multiselect=False,
|
432 |
value="float16",
|
433 |
interactive=True,
|
434 |
)
|
435 |
weight_type = gr.Dropdown(
|
436 |
choices=["Original", "Delta", "Adapter"],
|
437 |
-
label="Weights type",
|
438 |
multiselect=False,
|
439 |
value="Original",
|
440 |
interactive=True,
|
441 |
)
|
442 |
-
base_model_name_textbox = gr.Textbox(
|
443 |
-
label="Base model (for delta or adapter weights)"
|
444 |
-
)
|
445 |
|
446 |
submit_button = gr.Button("μ μΆνκ³ νκ°λ°κΈ°")
|
447 |
submission_result = gr.Markdown()
|
@@ -454,7 +532,7 @@ with demo:
|
|
454 |
precision,
|
455 |
private,
|
456 |
weight_type,
|
457 |
-
model_type
|
458 |
],
|
459 |
submission_result,
|
460 |
)
|
@@ -470,6 +548,7 @@ with demo:
|
|
470 |
running_eval_table,
|
471 |
pending_eval_table,
|
472 |
],
|
|
|
473 |
)
|
474 |
|
475 |
with gr.Row():
|
|
|
2 |
import os
|
3 |
from datetime import datetime, timezone
|
4 |
|
|
|
5 |
import gradio as gr
|
|
|
6 |
import pandas as pd
|
7 |
from apscheduler.schedulers.background import BackgroundScheduler
|
8 |
from huggingface_hub import HfApi
|
|
|
9 |
|
|
|
|
|
|
|
|
|
10 |
from src.assets.css_html_js import custom_css, get_window_url_params
|
11 |
+
from src.assets.text_content import (
|
12 |
+
CITATION_BUTTON_LABEL,
|
13 |
+
CITATION_BUTTON_TEXT,
|
14 |
+
EVALUATION_QUEUE_TEXT,
|
15 |
+
INTRODUCTION_TEXT,
|
16 |
+
LLM_BENCHMARKS_TEXT,
|
17 |
+
TITLE,
|
18 |
+
)
|
19 |
+
from src.display_models.get_model_metadata import DO_NOT_SUBMIT_MODELS, ModelType
|
20 |
+
from src.display_models.utils import (
|
21 |
+
AutoEvalColumn,
|
22 |
+
EvalQueueColumn,
|
23 |
+
fields,
|
24 |
+
styled_error,
|
25 |
+
styled_message,
|
26 |
+
styled_warning,
|
27 |
+
)
|
28 |
+
from src.load_from_hub import get_evaluation_queue_df, get_leaderboard_df, is_model_on_hub, load_all_info_from_hub
|
29 |
+
from src.rate_limiting import user_submission_permission
|
30 |
+
|
31 |
+
pd.set_option("display.precision", 1)
|
32 |
|
33 |
# clone / pull the lmeh eval data
|
34 |
H4_TOKEN = os.environ.get("H4_TOKEN", None)
|
|
|
47 |
EVAL_REQUESTS_PATH_PRIVATE = "eval-queue-private"
|
48 |
EVAL_RESULTS_PATH_PRIVATE = "eval-results-private"
|
49 |
|
50 |
+
api = HfApi(token=H4_TOKEN)
|
51 |
|
|
|
|
|
|
|
|
|
52 |
|
53 |
+
def restart_space():
|
54 |
+
api.restart_space(repo_id="BearSean/leaderboard-test", token=H4_TOKEN)
|
55 |
|
56 |
+
# Rate limit variables
|
57 |
+
RATE_LIMIT_PERIOD = 7
|
58 |
+
RATE_LIMIT_QUOTA = 5
|
|
|
59 |
|
60 |
+
# Column selection
|
61 |
COLS = [c.name for c in fields(AutoEvalColumn) if not c.hidden]
|
62 |
TYPES = [c.type for c in fields(AutoEvalColumn) if not c.hidden]
|
63 |
COLS_LITE = [c.name for c in fields(AutoEvalColumn) if c.displayed_by_default and not c.hidden]
|
|
|
70 |
EVAL_COLS = [c.name for c in fields(EvalQueueColumn)]
|
71 |
EVAL_TYPES = [c.type for c in fields(EvalQueueColumn)]
|
72 |
|
73 |
+
BENCHMARK_COLS = [
|
74 |
+
c.name
|
75 |
+
for c in [
|
76 |
+
AutoEvalColumn.arc,
|
77 |
+
AutoEvalColumn.hellaswag,
|
78 |
+
AutoEvalColumn.mmlu,
|
79 |
+
AutoEvalColumn.truthfulqa,
|
80 |
+
]
|
81 |
+
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
|
83 |
+
## LOAD INFO FROM HUB
|
84 |
+
eval_queue, requested_models, eval_results, users_to_submission_dates = load_all_info_from_hub(
|
85 |
+
QUEUE_REPO, RESULTS_REPO, EVAL_REQUESTS_PATH, EVAL_RESULTS_PATH
|
86 |
+
)
|
87 |
|
88 |
+
if not IS_PUBLIC:
|
89 |
+
(eval_queue_private, requested_models_private, eval_results_private, _) = load_all_info_from_hub(
|
90 |
+
PRIVATE_QUEUE_REPO,
|
91 |
+
PRIVATE_RESULTS_REPO,
|
92 |
+
EVAL_REQUESTS_PATH_PRIVATE,
|
93 |
+
EVAL_RESULTS_PATH_PRIVATE,
|
94 |
+
)
|
95 |
+
else:
|
96 |
+
eval_queue_private, eval_results_private = None, None
|
97 |
|
98 |
+
original_df = get_leaderboard_df(eval_results, eval_results_private, COLS, BENCHMARK_COLS)
|
99 |
+
models = original_df["model_name_for_query"].tolist() # needed for model backlinks in their to the leaderboard
|
|
|
100 |
|
101 |
+
# Commented out because it causes infinite restart loops in local
|
102 |
+
# to_be_dumped = f"models = {repr(models)}\n"
|
|
|
103 |
|
104 |
+
# with open("models_backlinks.py", "w") as f:
|
105 |
+
# f.write(to_be_dumped)
|
106 |
|
107 |
+
# print(to_be_dumped)
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
109 |
leaderboard_df = original_df.copy()
|
110 |
(
|
111 |
finished_eval_queue_df,
|
112 |
running_eval_queue_df,
|
113 |
pending_eval_queue_df,
|
114 |
+
) = get_evaluation_queue_df(eval_queue, eval_queue_private, EVAL_REQUESTS_PATH, EVAL_COLS)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
115 |
|
116 |
|
117 |
+
## INTERACTION FUNCTIONS
|
118 |
def add_new_eval(
|
119 |
model: str,
|
120 |
base_model: str,
|
|
|
127 |
precision = precision.split(" ")[0]
|
128 |
current_time = datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ")
|
129 |
|
130 |
+
num_models_submitted_in_period = user_submission_permission(model, users_to_submission_dates, RATE_LIMIT_PERIOD)
|
131 |
+
if num_models_submitted_in_period > RATE_LIMIT_QUOTA:
|
132 |
+
error_msg = f"Organisation or user `{model.split('/')[0]}`"
|
133 |
+
error_msg += f"already has {num_models_submitted_in_period} model requests submitted to the leaderboard "
|
134 |
+
error_msg += f"in the last {RATE_LIMIT_PERIOD} days.\n"
|
135 |
+
error_msg += "Please wait a couple of days before resubmitting, so that everybody can enjoy using the leaderboard π€"
|
136 |
+
return styled_error(error_msg)
|
137 |
+
|
138 |
if model_type is None or model_type == "":
|
139 |
return styled_error("Please select a model type.")
|
140 |
|
|
|
146 |
base_model_on_hub, error = is_model_on_hub(base_model, revision)
|
147 |
if not base_model_on_hub:
|
148 |
return styled_error(f'Base model "{base_model}" {error}')
|
|
|
149 |
|
150 |
if not weight_type == "Adapter":
|
151 |
model_on_hub, error = is_model_on_hub(model, revision)
|
152 |
if not model_on_hub:
|
153 |
return styled_error(f'Model "{model}" {error}')
|
154 |
+
|
155 |
print("adding new eval")
|
156 |
|
157 |
eval_entry = {
|
|
|
176 |
os.makedirs(OUT_DIR, exist_ok=True)
|
177 |
out_path = f"{OUT_DIR}/{model_path}_eval_request_{private}_{precision}_{weight_type}.json"
|
178 |
|
179 |
+
# Check if the model has been forbidden:
|
180 |
+
if out_path.split("eval-queue/")[1] in DO_NOT_SUBMIT_MODELS:
|
181 |
+
return styled_warning("Model authors have requested that their model be not submitted on the leaderboard.")
|
182 |
+
|
183 |
# Check for duplicate submission
|
184 |
+
if f"{model}_{revision}_{precision}" in requested_models:
|
185 |
return styled_warning("This model has been already submitted.")
|
186 |
|
187 |
with open(out_path, "w") as f:
|
|
|
191 |
path_or_fileobj=out_path,
|
192 |
path_in_repo=out_path.split("eval-queue/")[1],
|
193 |
repo_id=QUEUE_REPO,
|
|
|
194 |
repo_type="dataset",
|
195 |
commit_message=f"Add {model} to eval queue",
|
196 |
)
|
|
|
198 |
# remove the local file
|
199 |
os.remove(out_path)
|
200 |
|
201 |
+
return styled_message(
|
202 |
+
"Your request has been submitted to the evaluation queue!\nPlease wait for up to an hour for the model to show in the PENDING list."
|
203 |
+
)
|
204 |
|
205 |
|
206 |
+
# Basics
|
207 |
+
def refresh() -> list[pd.DataFrame]:
|
208 |
+
leaderboard_df = get_leaderboard_df(eval_results, eval_results_private, COLS, BENCHMARK_COLS)
|
209 |
(
|
210 |
finished_eval_queue_df,
|
211 |
running_eval_queue_df,
|
212 |
pending_eval_queue_df,
|
213 |
+
) = get_evaluation_queue_df(eval_queue, eval_queue_private, EVAL_REQUESTS_PATH, EVAL_COLS)
|
214 |
return (
|
215 |
leaderboard_df,
|
216 |
finished_eval_queue_df,
|
|
|
219 |
)
|
220 |
|
221 |
|
222 |
+
def change_tab(query_param: str):
|
223 |
+
query_param = query_param.replace("'", '"')
|
224 |
+
query_param = json.loads(query_param)
|
225 |
+
|
226 |
+
if isinstance(query_param, dict) and "tab" in query_param and query_param["tab"] == "evaluation":
|
227 |
+
return gr.Tabs.update(selected=1)
|
228 |
+
else:
|
229 |
+
return gr.Tabs.update(selected=0)
|
230 |
+
|
231 |
+
|
232 |
+
# Searching and filtering
|
233 |
+
def search_table(df: pd.DataFrame, current_columns_df: pd.DataFrame, query: str) -> pd.DataFrame:
|
234 |
+
current_columns = current_columns_df.columns
|
235 |
+
if AutoEvalColumn.model_type.name in current_columns:
|
236 |
filtered_df = df[
|
237 |
(df[AutoEvalColumn.dummy.name].str.contains(query, case=False))
|
238 |
| (df[AutoEvalColumn.model_type.name].str.contains(query, case=False))
|
239 |
+
]
|
240 |
else:
|
241 |
filtered_df = df[(df[AutoEvalColumn.dummy.name].str.contains(query, case=False))]
|
242 |
+
return filtered_df[current_columns]
|
243 |
|
244 |
|
245 |
+
def select_columns(df: pd.DataFrame, columns: list) -> pd.DataFrame:
|
246 |
+
always_here_cols = [
|
247 |
+
AutoEvalColumn.model_type_symbol.name,
|
248 |
+
AutoEvalColumn.model.name,
|
249 |
+
]
|
250 |
+
# We use COLS to maintain sorting
|
251 |
+
filtered_df = df[
|
252 |
+
always_here_cols + [c for c in COLS if c in df.columns and c in columns] + [AutoEvalColumn.dummy.name]
|
253 |
+
]
|
254 |
return filtered_df
|
255 |
|
256 |
+
NUMERIC_INTERVALS = {
|
257 |
+
"< 1.5B": (0, 1.5),
|
258 |
+
"~3B": (1.5, 5),
|
259 |
+
"~7B": (6, 11),
|
260 |
+
"~13B": (12, 15),
|
261 |
+
"~35B": (16, 55),
|
262 |
+
"60B+": (55, 10000),
|
263 |
+
}
|
264 |
+
|
265 |
+
def filter_models(
|
266 |
+
df: pd.DataFrame, current_columns_df: pd.DataFrame, type_query: list, size_query: list, show_deleted: bool
|
267 |
+
) -> pd.DataFrame:
|
268 |
+
current_columns = current_columns_df.columns
|
269 |
+
|
270 |
+
# Show all models
|
271 |
+
if show_deleted:
|
272 |
+
filtered_df = df[current_columns]
|
273 |
+
else: # Show only still on the hub models
|
274 |
+
filtered_df = df[df[AutoEvalColumn.still_on_hub.name] == True][current_columns]
|
275 |
+
|
276 |
+
type_emoji = [t[0] for t in type_query]
|
277 |
+
filtered_df = filtered_df[df[AutoEvalColumn.model_type_symbol.name].isin(type_emoji)]
|
278 |
+
|
279 |
+
numeric_interval = [NUMERIC_INTERVALS[s] for s in size_query]
|
280 |
+
params_column = pd.to_numeric(df[AutoEvalColumn.params.name], errors="coerce")
|
281 |
+
filtered_df = filtered_df[params_column.between(numeric_interval[0][0], numeric_interval[-1][1])]
|
282 |
|
283 |
+
return filtered_df
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
284 |
|
285 |
|
286 |
demo = gr.Blocks(css=custom_css)
|
|
|
291 |
with gr.Tabs(elem_classes="tab-buttons") as tabs:
|
292 |
with gr.TabItem("π
LLM Benchmark", elem_id="llm-benchmark-tab-table", id=0):
|
293 |
with gr.Row():
|
294 |
+
with gr.Column():
|
295 |
+
with gr.Row():
|
296 |
+
shown_columns = gr.CheckboxGroup(
|
297 |
+
choices=[
|
298 |
+
c
|
299 |
+
for c in COLS
|
300 |
+
if c
|
301 |
+
not in [
|
302 |
+
AutoEvalColumn.dummy.name,
|
303 |
+
AutoEvalColumn.model.name,
|
304 |
+
AutoEvalColumn.model_type_symbol.name,
|
305 |
+
AutoEvalColumn.still_on_hub.name,
|
306 |
+
]
|
307 |
+
],
|
308 |
+
value=[
|
309 |
+
c
|
310 |
+
for c in COLS_LITE
|
311 |
+
if c
|
312 |
+
not in [
|
313 |
+
AutoEvalColumn.dummy.name,
|
314 |
+
AutoEvalColumn.model.name,
|
315 |
+
AutoEvalColumn.model_type_symbol.name,
|
316 |
+
AutoEvalColumn.still_on_hub.name,
|
317 |
+
]
|
318 |
+
],
|
319 |
+
label="Select columns to show",
|
320 |
+
elem_id="column-select",
|
321 |
+
interactive=True,
|
322 |
+
)
|
323 |
+
with gr.Row():
|
324 |
+
deleted_models_visibility = gr.Checkbox(
|
325 |
+
value=True, label="Show gated/private/deleted models", interactive=True
|
326 |
+
)
|
327 |
with gr.Column(min_width=320):
|
328 |
search_bar = gr.Textbox(
|
329 |
+
placeholder="π μ°Ύκ³ μ νλ λͺ¨λΈ λͺ
μ μ
λ ₯νμΈμ",
|
330 |
show_label=False,
|
331 |
elem_id="search-bar",
|
332 |
)
|
333 |
+
with gr.Box(elem_id="box-filter"):
|
334 |
+
filter_columns_type = gr.CheckboxGroup(
|
335 |
+
label="Model types",
|
336 |
+
choices=[
|
337 |
+
ModelType.PT.to_str(),
|
338 |
+
ModelType.FT.to_str(),
|
339 |
+
ModelType.IFT.to_str(),
|
340 |
+
ModelType.RL.to_str(),
|
341 |
+
],
|
342 |
+
value=[
|
343 |
+
ModelType.PT.to_str(),
|
344 |
+
ModelType.FT.to_str(),
|
345 |
+
ModelType.IFT.to_str(),
|
346 |
+
ModelType.RL.to_str(),
|
347 |
+
],
|
348 |
+
interactive=True,
|
349 |
+
elem_id="filter-columns-type",
|
350 |
+
)
|
351 |
+
filter_columns_size = gr.CheckboxGroup(
|
352 |
+
label="Model sizes",
|
353 |
+
choices=list(NUMERIC_INTERVALS.keys()),
|
354 |
+
value=list(NUMERIC_INTERVALS.keys()),
|
355 |
+
interactive=True,
|
356 |
+
elem_id="filter-columns-size",
|
357 |
+
)
|
358 |
+
|
359 |
leaderboard_table = gr.components.Dataframe(
|
360 |
+
value=leaderboard_df[
|
361 |
+
[AutoEvalColumn.model_type_symbol.name, AutoEvalColumn.model.name]
|
362 |
+
+ shown_columns.value
|
363 |
+
+ [AutoEvalColumn.dummy.name]
|
364 |
+
],
|
365 |
+
headers=[
|
366 |
+
AutoEvalColumn.model_type_symbol.name,
|
367 |
+
AutoEvalColumn.model.name,
|
368 |
+
]
|
369 |
+
+ shown_columns.value
|
370 |
+
+ [AutoEvalColumn.dummy.name],
|
371 |
datatype=TYPES,
|
372 |
max_rows=None,
|
373 |
elem_id="leaderboard-table",
|
|
|
385 |
)
|
386 |
search_bar.submit(
|
387 |
search_table,
|
388 |
+
[
|
389 |
+
hidden_leaderboard_table_for_search,
|
390 |
+
leaderboard_table,
|
391 |
+
search_bar,
|
392 |
+
],
|
393 |
+
leaderboard_table,
|
394 |
+
)
|
395 |
+
shown_columns.change(
|
396 |
+
select_columns,
|
397 |
+
[hidden_leaderboard_table_for_search, shown_columns],
|
398 |
+
leaderboard_table,
|
399 |
+
queue=False,
|
400 |
+
)
|
401 |
+
filter_columns_type.change(
|
402 |
+
filter_models,
|
403 |
+
[
|
404 |
+
hidden_leaderboard_table_for_search,
|
405 |
+
leaderboard_table,
|
406 |
+
filter_columns_type,
|
407 |
+
filter_columns_size,
|
408 |
+
deleted_models_visibility,
|
409 |
+
],
|
410 |
+
leaderboard_table,
|
411 |
+
queue=False,
|
412 |
+
)
|
413 |
+
filter_columns_size.change(
|
414 |
+
filter_models,
|
415 |
+
[
|
416 |
+
hidden_leaderboard_table_for_search,
|
417 |
+
leaderboard_table,
|
418 |
+
filter_columns_type,
|
419 |
+
filter_columns_size,
|
420 |
+
deleted_models_visibility,
|
421 |
+
],
|
422 |
leaderboard_table,
|
423 |
+
queue=False,
|
424 |
+
)
|
425 |
+
deleted_models_visibility.change(
|
426 |
+
filter_models,
|
427 |
+
[
|
428 |
+
hidden_leaderboard_table_for_search,
|
429 |
+
leaderboard_table,
|
430 |
+
filter_columns_type,
|
431 |
+
filter_columns_size,
|
432 |
+
deleted_models_visibility,
|
433 |
+
],
|
434 |
+
leaderboard_table,
|
435 |
+
queue=False,
|
436 |
)
|
|
|
|
|
437 |
with gr.TabItem("π About", elem_id="llm-benchmark-tab-table", id=2):
|
438 |
gr.Markdown(LLM_BENCHMARKS_TEXT, elem_classes="markdown-text")
|
439 |
|
|
|
443 |
gr.Markdown(EVALUATION_QUEUE_TEXT, elem_classes="markdown-text")
|
444 |
|
445 |
with gr.Column():
|
446 |
+
with gr.Accordion(
|
447 |
+
f"β
νκ° μλ£ ({len(finished_eval_queue_df)})",
|
448 |
+
open=False,
|
449 |
+
):
|
450 |
with gr.Row():
|
451 |
finished_eval_table = gr.components.Dataframe(
|
452 |
value=finished_eval_queue_df,
|
|
|
454 |
datatype=EVAL_TYPES,
|
455 |
max_rows=5,
|
456 |
)
|
457 |
+
with gr.Accordion(
|
458 |
+
f"π νκ° μ§ν λκΈ°μ΄ ({len(running_eval_queue_df)})",
|
459 |
+
open=False,
|
460 |
+
):
|
461 |
with gr.Row():
|
462 |
running_eval_table = gr.components.Dataframe(
|
463 |
value=running_eval_queue_df,
|
|
|
466 |
max_rows=5,
|
467 |
)
|
468 |
|
469 |
+
with gr.Accordion(
|
470 |
+
f"β³ νκ° λκΈ° λκΈ°μ΄ ({len(pending_eval_queue_df)})",
|
471 |
+
open=False,
|
472 |
+
):
|
473 |
with gr.Row():
|
474 |
pending_eval_table = gr.components.Dataframe(
|
475 |
value=pending_eval_queue_df,
|
|
|
483 |
with gr.Row():
|
484 |
with gr.Column():
|
485 |
model_name_textbox = gr.Textbox(label="Model name")
|
486 |
+
revision_name_textbox = gr.Textbox(label="revision", placeholder="main")
|
487 |
+
private = gr.Checkbox(False, label="Private", visible=not IS_PUBLIC)
|
|
|
|
|
|
|
|
|
488 |
model_type = gr.Dropdown(
|
489 |
+
choices=[
|
490 |
ModelType.PT.to_str(" : "),
|
491 |
ModelType.FT.to_str(" : "),
|
492 |
ModelType.IFT.to_str(" : "),
|
493 |
+
ModelType.RL.to_str(" : "),
|
494 |
+
],
|
495 |
+
label="Model type",
|
496 |
multiselect=False,
|
497 |
value=None,
|
498 |
interactive=True,
|
|
|
500 |
|
501 |
with gr.Column():
|
502 |
precision = gr.Dropdown(
|
503 |
+
choices=[
|
504 |
+
"float16",
|
505 |
+
"bfloat16",
|
506 |
+
"8bit (LLM.int8)",
|
507 |
+
"4bit (QLoRA / FP4)",
|
508 |
+
"GPTQ"
|
509 |
+
],
|
510 |
+
label="Precision",
|
511 |
multiselect=False,
|
512 |
value="float16",
|
513 |
interactive=True,
|
514 |
)
|
515 |
weight_type = gr.Dropdown(
|
516 |
choices=["Original", "Delta", "Adapter"],
|
517 |
+
label="Weights type",
|
518 |
multiselect=False,
|
519 |
value="Original",
|
520 |
interactive=True,
|
521 |
)
|
522 |
+
base_model_name_textbox = gr.Textbox(label="Base model (for delta or adapter weights)")
|
|
|
|
|
523 |
|
524 |
submit_button = gr.Button("μ μΆνκ³ νκ°λ°κΈ°")
|
525 |
submission_result = gr.Markdown()
|
|
|
532 |
precision,
|
533 |
private,
|
534 |
weight_type,
|
535 |
+
model_type,
|
536 |
],
|
537 |
submission_result,
|
538 |
)
|
|
|
548 |
running_eval_table,
|
549 |
pending_eval_table,
|
550 |
],
|
551 |
+
api_name='refresh'
|
552 |
)
|
553 |
|
554 |
with gr.Row():
|
models_backlinks.py
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
models = ['upstage/Llama-2-70b-instruct-v2', 'upstage/Llama-2-70b-instruct', 'upstage/llama-65b-instruct', 'upstage/llama-65b-instruct', 'upstage/llama-30b-instruct-2048', 'upstage/llama-30b-instruct', 'baseline']
|
pyproject.toml
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
[tool.ruff]
|
2 |
+
# Enable pycodestyle (`E`) and Pyflakes (`F`) codes by default.
|
3 |
+
select = ["E", "F"]
|
4 |
+
ignore = ["E501"] # line too long (black is taking care of this)
|
5 |
+
line-length = 119
|
6 |
+
fixable = ["A", "B", "C", "D", "E", "F", "G", "I", "N", "Q", "S", "T", "W", "ANN", "ARG", "BLE", "COM", "DJ", "DTZ", "EM", "ERA", "EXE", "FBT", "ICN", "INP", "ISC", "NPY", "PD", "PGH", "PIE", "PL", "PT", "PTH", "PYI", "RET", "RSE", "RUF", "SIM", "SLF", "TCH", "TID", "TRY", "UP", "YTT"]
|
7 |
+
|
8 |
+
[tool.isort]
|
9 |
+
profile = "black"
|
10 |
+
line_length = 119
|
11 |
+
|
12 |
+
[tool.black]
|
13 |
+
line-length = 119
|
requirements.txt
CHANGED
@@ -24,7 +24,7 @@ gradio_client==0.1.3
|
|
24 |
h11==0.14.0
|
25 |
httpcore==0.17.0
|
26 |
httpx==0.24.0
|
27 |
-
huggingface-hub==0.
|
28 |
idna==3.4
|
29 |
Jinja2==3.1.2
|
30 |
jsonschema==4.17.3
|
@@ -59,7 +59,7 @@ sniffio==1.3.0
|
|
59 |
starlette==0.26.1
|
60 |
toolz==0.12.0
|
61 |
tqdm==4.65.0
|
62 |
-
transformers==4.
|
63 |
typing_extensions==4.5.0
|
64 |
tzdata==2023.3
|
65 |
tzlocal==4.3
|
|
|
24 |
h11==0.14.0
|
25 |
httpcore==0.17.0
|
26 |
httpx==0.24.0
|
27 |
+
huggingface-hub==0.16.4
|
28 |
idna==3.4
|
29 |
Jinja2==3.1.2
|
30 |
jsonschema==4.17.3
|
|
|
59 |
starlette==0.26.1
|
60 |
toolz==0.12.0
|
61 |
tqdm==4.65.0
|
62 |
+
transformers==4.32.0
|
63 |
typing_extensions==4.5.0
|
64 |
tzdata==2023.3
|
65 |
tzlocal==4.3
|
src/assets/css_html_js.py
CHANGED
@@ -1,11 +1,4 @@
|
|
1 |
custom_css = """
|
2 |
-
#changelog-text {
|
3 |
-
font-size: 16px !important;
|
4 |
-
}
|
5 |
-
|
6 |
-
#changelog-text h2 {
|
7 |
-
font-size: 18px !important;
|
8 |
-
}
|
9 |
|
10 |
.markdown-text {
|
11 |
font-size: 16px !important;
|
@@ -75,6 +68,38 @@ table th:first-child {
|
|
75 |
#scale-logo .download {
|
76 |
display: none;
|
77 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
"""
|
79 |
|
80 |
get_window_url_params = """
|
|
|
1 |
custom_css = """
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
3 |
.markdown-text {
|
4 |
font-size: 16px !important;
|
|
|
68 |
#scale-logo .download {
|
69 |
display: none;
|
70 |
}
|
71 |
+
#filter_type{
|
72 |
+
border: 0;
|
73 |
+
padding-left: 0;
|
74 |
+
padding-top: 0;
|
75 |
+
}
|
76 |
+
#filter_type label {
|
77 |
+
display: flex;
|
78 |
+
}
|
79 |
+
#filter_type label > span{
|
80 |
+
margin-top: var(--spacing-lg);
|
81 |
+
margin-right: 0.5em;
|
82 |
+
}
|
83 |
+
#filter_type label > .wrap{
|
84 |
+
width: 103px;
|
85 |
+
}
|
86 |
+
#filter_type label > .wrap .wrap-inner{
|
87 |
+
padding: 2px;
|
88 |
+
}
|
89 |
+
#filter_type label > .wrap .wrap-inner input{
|
90 |
+
width: 1px
|
91 |
+
}
|
92 |
+
#filter-columns-type{
|
93 |
+
border:0;
|
94 |
+
padding:0.5;
|
95 |
+
}
|
96 |
+
#filter-columns-size{
|
97 |
+
border:0;
|
98 |
+
padding:0.5;
|
99 |
+
}
|
100 |
+
#box-filter > .form{
|
101 |
+
border: 0
|
102 |
+
}
|
103 |
"""
|
104 |
|
105 |
get_window_url_params = """
|
src/assets/hardcoded_evals.py
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
from src.
|
2 |
|
3 |
gpt4_values = {
|
4 |
AutoEvalColumn.model.name: model_hyperlink("https://arxiv.org/abs/2303.08774", "gpt4"),
|
@@ -6,9 +6,9 @@ gpt4_values = {
|
|
6 |
AutoEvalColumn.precision.name: None,
|
7 |
AutoEvalColumn.average.name: 84.3,
|
8 |
AutoEvalColumn.arc.name: 96.3,
|
9 |
-
AutoEvalColumn.hellaswag.name:
|
10 |
-
AutoEvalColumn.mmlu.name:
|
11 |
-
AutoEvalColumn.truthfulqa.name:
|
12 |
AutoEvalColumn.dummy.name: "GPT-4",
|
13 |
AutoEvalColumn.model_type.name: "",
|
14 |
}
|
@@ -19,9 +19,9 @@ gpt35_values = {
|
|
19 |
AutoEvalColumn.precision.name: None,
|
20 |
AutoEvalColumn.average.name: 71.9,
|
21 |
AutoEvalColumn.arc.name: 85.2,
|
22 |
-
AutoEvalColumn.hellaswag.name:
|
23 |
-
AutoEvalColumn.mmlu.name:
|
24 |
-
AutoEvalColumn.truthfulqa.name:
|
25 |
AutoEvalColumn.dummy.name: "GPT-3.5",
|
26 |
AutoEvalColumn.model_type.name: "",
|
27 |
}
|
@@ -32,10 +32,9 @@ baseline = {
|
|
32 |
AutoEvalColumn.precision.name: None,
|
33 |
AutoEvalColumn.average.name: 25.0,
|
34 |
AutoEvalColumn.arc.name: 25.0,
|
35 |
-
AutoEvalColumn.hellaswag.name:
|
36 |
-
AutoEvalColumn.mmlu.name:
|
37 |
-
AutoEvalColumn.truthfulqa.name:
|
38 |
AutoEvalColumn.dummy.name: "baseline",
|
39 |
AutoEvalColumn.model_type.name: "",
|
40 |
}
|
41 |
-
|
|
|
1 |
+
from src.display_models.utils import AutoEvalColumn, model_hyperlink
|
2 |
|
3 |
gpt4_values = {
|
4 |
AutoEvalColumn.model.name: model_hyperlink("https://arxiv.org/abs/2303.08774", "gpt4"),
|
|
|
6 |
AutoEvalColumn.precision.name: None,
|
7 |
AutoEvalColumn.average.name: 84.3,
|
8 |
AutoEvalColumn.arc.name: 96.3,
|
9 |
+
AutoEvalColumn.hellaswag.name: 95.3,
|
10 |
+
AutoEvalColumn.mmlu.name: 86.4,
|
11 |
+
AutoEvalColumn.truthfulqa.name: 59.0,
|
12 |
AutoEvalColumn.dummy.name: "GPT-4",
|
13 |
AutoEvalColumn.model_type.name: "",
|
14 |
}
|
|
|
19 |
AutoEvalColumn.precision.name: None,
|
20 |
AutoEvalColumn.average.name: 71.9,
|
21 |
AutoEvalColumn.arc.name: 85.2,
|
22 |
+
AutoEvalColumn.hellaswag.name: 85.5,
|
23 |
+
AutoEvalColumn.mmlu.name: 70.0,
|
24 |
+
AutoEvalColumn.truthfulqa.name: 47.0,
|
25 |
AutoEvalColumn.dummy.name: "GPT-3.5",
|
26 |
AutoEvalColumn.model_type.name: "",
|
27 |
}
|
|
|
32 |
AutoEvalColumn.precision.name: None,
|
33 |
AutoEvalColumn.average.name: 25.0,
|
34 |
AutoEvalColumn.arc.name: 25.0,
|
35 |
+
AutoEvalColumn.hellaswag.name: 25.0,
|
36 |
+
AutoEvalColumn.mmlu.name: 25.0,
|
37 |
+
AutoEvalColumn.truthfulqa.name: 25.0,
|
38 |
AutoEvalColumn.dummy.name: "baseline",
|
39 |
AutoEvalColumn.model_type.name: "",
|
40 |
}
|
|
src/assets/text_content.py
CHANGED
@@ -1,60 +1,4 @@
|
|
1 |
-
from
|
2 |
-
|
3 |
-
CHANGELOG_TEXT = f"""
|
4 |
-
## [2023-06-19]
|
5 |
-
- Added model type column
|
6 |
-
- Hid revision and 8bit columns since all models are the same atm
|
7 |
-
|
8 |
-
## [2023-06-16]
|
9 |
-
- Refactored code base
|
10 |
-
- Added new columns: number of parameters, hub likes, license
|
11 |
-
|
12 |
-
## [2023-06-13]
|
13 |
-
- Adjust description for TruthfulQA
|
14 |
-
|
15 |
-
## [2023-06-12]
|
16 |
-
- Add Human & GPT-4 Evaluations
|
17 |
-
|
18 |
-
## [2023-06-05]
|
19 |
-
- Increase concurrent thread count to 40
|
20 |
-
- Search models on ENTER
|
21 |
-
|
22 |
-
## [2023-06-02]
|
23 |
-
- Add a typeahead search bar
|
24 |
-
- Use webhooks to automatically spawn a new Space when someone opens a PR
|
25 |
-
- Start recording `submitted_time` for eval requests
|
26 |
-
- Limit AutoEvalColumn max-width
|
27 |
-
|
28 |
-
## [2023-05-30]
|
29 |
-
- Add a citation button
|
30 |
-
- Simplify Gradio layout
|
31 |
-
|
32 |
-
## [2023-05-29]
|
33 |
-
- Auto-restart every hour for the latest results
|
34 |
-
- Sync with the internal version (minor style changes)
|
35 |
-
|
36 |
-
## [2023-05-24]
|
37 |
-
- Add a baseline that has 25.0 for all values
|
38 |
-
- Add CHANGELOG
|
39 |
-
|
40 |
-
## [2023-05-23]
|
41 |
-
- Fix a CSS issue that made the leaderboard hard to read in dark mode
|
42 |
-
|
43 |
-
## [2023-05-22]
|
44 |
-
- Display a success/error message after submitting evaluation requests
|
45 |
-
- Reject duplicate submission
|
46 |
-
- Do not display results that have incomplete results
|
47 |
-
- Display different queues for jobs that are RUNNING, PENDING, FINISHED status
|
48 |
-
|
49 |
-
## [2023-05-15]
|
50 |
-
- Fix a typo: from "TruthQA" to "QA"
|
51 |
-
|
52 |
-
## [2023-05-10]
|
53 |
-
- Fix a bug that prevented auto-refresh
|
54 |
-
|
55 |
-
## [2023-05-10]
|
56 |
-
- Release the leaderboard to public
|
57 |
-
"""
|
58 |
|
59 |
TITLE = """<h1 align="center" id="space-title">π Open Ko-LLM Leaderboard</h1>"""
|
60 |
|
@@ -70,7 +14,7 @@ INTRODUCTION_TEXT = f"""
|
|
70 |
|
71 |
LLM_BENCHMARKS_TEXT = f"""
|
72 |
# Context
|
73 |
-
λ°μ΄λ LLM λͺ¨λΈλ€μ΄ μλ€ν¬μ΄ 곡κ°λκ³ μμ§λ§ μ΄λ λλΆλΆ μμ΄ μ€μ¬μ, μμ΄ λ¬ΈνκΆμ μ΅μν λͺ¨λΈμ
λλ€. μ ν¬λ νκ΅μ΄ 리λ보λ π
|
74 |
|
75 |
## Icons
|
76 |
{ModelType.PT.to_str(" : ")} model
|
@@ -122,7 +66,7 @@ To get more information about quantization, see:
|
|
122 |
"""
|
123 |
|
124 |
EVALUATION_QUEUE_TEXT = f"""
|
125 |
-
# π
|
126 |
μ΄κ³³μ μΆκ°λ λͺ¨λΈλ€μ 곧 μλμ μΌλ‘ KTμ GPU μμμ νκ°λ μμ μ
λλ€!
|
127 |
|
128 |
## <λͺ¨λΈ μ μΆ μ νμΈνλ©΄ μ’μ κ²λ€>
|
|
|
1 |
+
from src.display_models.model_metadata_type import ModelType
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
3 |
TITLE = """<h1 align="center" id="space-title">π Open Ko-LLM Leaderboard</h1>"""
|
4 |
|
|
|
14 |
|
15 |
LLM_BENCHMARKS_TEXT = f"""
|
16 |
# Context
|
17 |
+
λ°μ΄λ LLM λͺ¨λΈλ€μ΄ μλ€ν¬μ΄ 곡κ°λκ³ μμ§λ§ μ΄λ λλΆλΆ μμ΄ μ€μ¬μ, μμ΄ λ¬ΈνκΆμ μ΅μν λͺ¨λΈμ
λλ€. μ ν¬λ νκ΅μ΄ 리λ보λ π Open Ko-LLMμ μ΄μνμ¬ νκ΅μ΄μ νκ΅ λ¬Ένμ νΉμ±μ λ°μν λͺ¨λΈμ νκ°νκ³ μ ν©λλ€. μ΄λ₯Ό ν΅ν΄ νκ΅μ΄ μ¬μ©μλ€μ΄ νΈλ¦¬νκ² λ¦¬λ보λλ₯Ό μ΄μ©νκ³ μ°Έμ¬νμ¬ νκ΅μ μ°κ΅¬ μμ€ ν₯μμ κΈ°μ¬ν μ μκΈ°λ₯Ό λ°λλλ€.
|
18 |
|
19 |
## Icons
|
20 |
{ModelType.PT.to_str(" : ")} model
|
|
|
66 |
"""
|
67 |
|
68 |
EVALUATION_QUEUE_TEXT = f"""
|
69 |
+
# π Open-Ko LLM 리λ보λμ νκ° νμ
λλ€.
|
70 |
μ΄κ³³μ μΆκ°λ λͺ¨λΈλ€μ 곧 μλμ μΌλ‘ KTμ GPU μμμ νκ°λ μμ μ
λλ€!
|
71 |
|
72 |
## <λͺ¨λΈ μ μΆ μ νμΈνλ©΄ μ’μ κ²λ€>
|
src/auto_leaderboard/model_metadata_type.py
DELETED
@@ -1,597 +0,0 @@
|
|
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/{auto_leaderboard β display_models}/get_model_metadata.py
RENAMED
@@ -1,17 +1,22 @@
|
|
1 |
-
import
|
|
|
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)
|
@@ -33,15 +38,18 @@ def get_model_license(model_info):
|
|
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())
|
@@ -51,6 +59,74 @@ def get_model_size(model_name, model_info):
|
|
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)
|
|
|
|
1 |
+
import glob
|
2 |
+
import json
|
3 |
import os
|
4 |
+
import re
|
5 |
from typing import List
|
6 |
|
|
|
|
|
|
|
|
|
7 |
import huggingface_hub
|
8 |
+
from huggingface_hub import HfApi
|
9 |
+
from tqdm import tqdm
|
10 |
+
|
11 |
+
from src.display_models.model_metadata_flags import DO_NOT_SUBMIT_MODELS, FLAGGED_MODELS
|
12 |
+
from src.display_models.model_metadata_type import MODEL_TYPE_METADATA, ModelType, model_type_from_str
|
13 |
+
from src.display_models.utils import AutoEvalColumn, model_hyperlink
|
14 |
+
|
15 |
api = HfApi(token=os.environ.get("H4_TOKEN", None))
|
16 |
|
17 |
|
18 |
def get_model_infos_from_hub(leaderboard_data: List[dict]):
|
19 |
+
for model_data in tqdm(leaderboard_data):
|
20 |
model_name = model_data["model_name_for_query"]
|
21 |
try:
|
22 |
model_info = api.model_info(model_name)
|
|
|
38 |
except Exception:
|
39 |
return None
|
40 |
|
41 |
+
|
42 |
def get_model_likes(model_info):
|
43 |
return model_info.likes
|
44 |
|
45 |
+
|
46 |
size_pattern = re.compile(r"(\d\.)?\d+(b|m)")
|
47 |
|
48 |
+
|
49 |
def get_model_size(model_name, model_info):
|
50 |
# In billions
|
51 |
try:
|
52 |
+
return round(model_info.safetensors["total"] / 1e9, 3)
|
53 |
except AttributeError:
|
54 |
try:
|
55 |
size_match = re.search(size_pattern, model_name.lower())
|
|
|
59 |
return None
|
60 |
|
61 |
|
62 |
+
def get_model_type(leaderboard_data: List[dict]):
|
63 |
+
for model_data in leaderboard_data:
|
64 |
+
request_files = os.path.join(
|
65 |
+
"eval-queue",
|
66 |
+
model_data["model_name_for_query"] + "_eval_request_*" + ".json",
|
67 |
+
)
|
68 |
+
request_files = glob.glob(request_files)
|
69 |
+
|
70 |
+
# Select correct request file (precision)
|
71 |
+
request_file = ""
|
72 |
+
if len(request_files) == 1:
|
73 |
+
request_file = request_files[0]
|
74 |
+
elif len(request_files) > 1:
|
75 |
+
request_files = sorted(request_files, reverse=True)
|
76 |
+
for tmp_request_file in request_files:
|
77 |
+
with open(tmp_request_file, "r") as f:
|
78 |
+
req_content = json.load(f)
|
79 |
+
if (
|
80 |
+
req_content["status"] == "FINISHED"
|
81 |
+
and req_content["precision"] == model_data["Precision"].split(".")[-1]
|
82 |
+
):
|
83 |
+
request_file = tmp_request_file
|
84 |
+
|
85 |
+
try:
|
86 |
+
with open(request_file, "r") as f:
|
87 |
+
request = json.load(f)
|
88 |
+
model_type = model_type_from_str(request["model_type"])
|
89 |
+
model_data[AutoEvalColumn.model_type.name] = model_type.value.name
|
90 |
+
model_data[AutoEvalColumn.model_type_symbol.name] = model_type.value.symbol # + ("πΊ" if is_delta else "")
|
91 |
+
except Exception:
|
92 |
+
if model_data["model_name_for_query"] in MODEL_TYPE_METADATA:
|
93 |
+
model_data[AutoEvalColumn.model_type.name] = MODEL_TYPE_METADATA[
|
94 |
+
model_data["model_name_for_query"]
|
95 |
+
].value.name
|
96 |
+
model_data[AutoEvalColumn.model_type_symbol.name] = MODEL_TYPE_METADATA[
|
97 |
+
model_data["model_name_for_query"]
|
98 |
+
].value.symbol # + ("πΊ" if is_delta else "")
|
99 |
+
else:
|
100 |
+
model_data[AutoEvalColumn.model_type.name] = ModelType.Unknown.value.name
|
101 |
+
model_data[AutoEvalColumn.model_type_symbol.name] = ModelType.Unknown.value.symbol
|
102 |
+
|
103 |
+
|
104 |
+
def flag_models(leaderboard_data: List[dict]):
|
105 |
+
for model_data in leaderboard_data:
|
106 |
+
if model_data["model_name_for_query"] in FLAGGED_MODELS:
|
107 |
+
issue_num = FLAGGED_MODELS[model_data["model_name_for_query"]].split("/")[-1]
|
108 |
+
issue_link = model_hyperlink(
|
109 |
+
FLAGGED_MODELS[model_data["model_name_for_query"]],
|
110 |
+
f"See discussion #{issue_num}",
|
111 |
+
)
|
112 |
+
model_data[
|
113 |
+
AutoEvalColumn.model.name
|
114 |
+
] = f"{model_data[AutoEvalColumn.model.name]} has been flagged! {issue_link}"
|
115 |
+
|
116 |
+
|
117 |
+
def remove_forbidden_models(leaderboard_data: List[dict]):
|
118 |
+
indices_to_remove = []
|
119 |
+
for ix, model in enumerate(leaderboard_data):
|
120 |
+
if model["model_name_for_query"] in DO_NOT_SUBMIT_MODELS:
|
121 |
+
indices_to_remove.append(ix)
|
122 |
+
|
123 |
+
for ix in reversed(indices_to_remove):
|
124 |
+
leaderboard_data.pop(ix)
|
125 |
+
return leaderboard_data
|
126 |
+
|
127 |
+
|
128 |
def apply_metadata(leaderboard_data: List[dict]):
|
129 |
+
leaderboard_data = remove_forbidden_models(leaderboard_data)
|
130 |
get_model_type(leaderboard_data)
|
131 |
get_model_infos_from_hub(leaderboard_data)
|
132 |
+
flag_models(leaderboard_data)
|
src/display_models/model_metadata_flags.py
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Models which have been flagged by users as being problematic for a reason or another
|
2 |
+
# (Model name to forum discussion link)
|
3 |
+
FLAGGED_MODELS = {
|
4 |
+
"Voicelab/trurl-2-13b": "https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard/discussions/202",
|
5 |
+
"deepnight-research/llama-2-70B-inst": "https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard/discussions/207",
|
6 |
+
"Aspik101/trurl-2-13b-pl-instruct_unload": "https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard/discussions/213",
|
7 |
+
"Fredithefish/ReasonixPajama-3B-HF": "https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard/discussions/236",
|
8 |
+
"TigerResearch/tigerbot-7b-sft-v1": "https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard/discussions/237",
|
9 |
+
"gaodrew/gaodrew-gorgonzola-13b": "https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard/discussions/215",
|
10 |
+
}
|
11 |
+
|
12 |
+
# Models which have been requested by orgs to not be submitted on the leaderboard
|
13 |
+
DO_NOT_SUBMIT_MODELS = [
|
14 |
+
"Voicelab/trurl-2-13b", # trained on MMLU
|
15 |
+
]
|
src/display_models/model_metadata_type.py
ADDED
@@ -0,0 +1,553 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from dataclasses import dataclass
|
2 |
+
from enum import Enum
|
3 |
+
from typing import Dict
|
4 |
+
|
5 |
+
|
6 |
+
@dataclass
|
7 |
+
class ModelInfo:
|
8 |
+
name: str
|
9 |
+
symbol: str # emoji
|
10 |
+
|
11 |
+
|
12 |
+
class ModelType(Enum):
|
13 |
+
PT = ModelInfo(name="pretrained", symbol="π’")
|
14 |
+
FT = ModelInfo(name="fine-tuned", symbol="πΆ")
|
15 |
+
IFT = ModelInfo(name="instruction-tuned", symbol="β")
|
16 |
+
RL = ModelInfo(name="RL-tuned", symbol="π¦")
|
17 |
+
Unknown = ModelInfo(name="Unknown, add type to request file!", symbol="?")
|
18 |
+
|
19 |
+
def to_str(self, separator=" "):
|
20 |
+
return f"{self.value.symbol}{separator}{self.value.name}"
|
21 |
+
|
22 |
+
|
23 |
+
MODEL_TYPE_METADATA: Dict[str, ModelType] = {
|
24 |
+
"tiiuae/falcon-180B": ModelType.PT,
|
25 |
+
"Qwen/Qwen-7B": ModelType.PT,
|
26 |
+
"Qwen/Qwen-7B-Chat": ModelType.RL,
|
27 |
+
"notstoic/PygmalionCoT-7b": ModelType.IFT,
|
28 |
+
"aisquared/dlite-v1-355m": ModelType.IFT,
|
29 |
+
"aisquared/dlite-v1-1_5b": ModelType.IFT,
|
30 |
+
"aisquared/dlite-v1-774m": ModelType.IFT,
|
31 |
+
"aisquared/dlite-v1-124m": ModelType.IFT,
|
32 |
+
"aisquared/chopt-2_7b": ModelType.IFT,
|
33 |
+
"aisquared/dlite-v2-124m": ModelType.IFT,
|
34 |
+
"aisquared/dlite-v2-774m": ModelType.IFT,
|
35 |
+
"aisquared/dlite-v2-1_5b": ModelType.IFT,
|
36 |
+
"aisquared/chopt-1_3b": ModelType.IFT,
|
37 |
+
"aisquared/dlite-v2-355m": ModelType.IFT,
|
38 |
+
"augtoma/qCammel-13": ModelType.IFT,
|
39 |
+
"Aspik101/Llama-2-7b-hf-instruct-pl-lora_unload": ModelType.IFT,
|
40 |
+
"Aspik101/vicuna-7b-v1.3-instruct-pl-lora_unload": ModelType.IFT,
|
41 |
+
"TheBloke/alpaca-lora-65B-HF": ModelType.FT,
|
42 |
+
"TheBloke/tulu-7B-fp16": ModelType.IFT,
|
43 |
+
"TheBloke/guanaco-7B-HF": ModelType.FT,
|
44 |
+
"TheBloke/koala-7B-HF": ModelType.FT,
|
45 |
+
"TheBloke/wizardLM-7B-HF": ModelType.IFT,
|
46 |
+
"TheBloke/airoboros-13B-HF": ModelType.IFT,
|
47 |
+
"TheBloke/koala-13B-HF": ModelType.FT,
|
48 |
+
"TheBloke/Wizard-Vicuna-7B-Uncensored-HF": ModelType.FT,
|
49 |
+
"TheBloke/dromedary-65b-lora-HF": ModelType.IFT,
|
50 |
+
"TheBloke/wizardLM-13B-1.0-fp16": ModelType.IFT,
|
51 |
+
"TheBloke/WizardLM-13B-V1-1-SuperHOT-8K-fp16": ModelType.FT,
|
52 |
+
"TheBloke/Wizard-Vicuna-30B-Uncensored-fp16": ModelType.FT,
|
53 |
+
"TheBloke/wizard-vicuna-13B-HF": ModelType.IFT,
|
54 |
+
"TheBloke/UltraLM-13B-fp16": ModelType.IFT,
|
55 |
+
"TheBloke/OpenAssistant-FT-7-Llama-30B-HF": ModelType.FT,
|
56 |
+
"TheBloke/vicuna-13B-1.1-HF": ModelType.IFT,
|
57 |
+
"TheBloke/guanaco-13B-HF": ModelType.FT,
|
58 |
+
"TheBloke/guanaco-65B-HF": ModelType.FT,
|
59 |
+
"TheBloke/airoboros-7b-gpt4-fp16": ModelType.IFT,
|
60 |
+
"TheBloke/llama-30b-supercot-SuperHOT-8K-fp16": ModelType.IFT,
|
61 |
+
"TheBloke/Llama-2-13B-fp16": ModelType.PT,
|
62 |
+
"TheBloke/llama-2-70b-Guanaco-QLoRA-fp16": ModelType.FT,
|
63 |
+
"TheBloke/landmark-attention-llama7b-fp16": ModelType.IFT,
|
64 |
+
"TheBloke/Planner-7B-fp16": ModelType.IFT,
|
65 |
+
"TheBloke/Wizard-Vicuna-13B-Uncensored-HF": ModelType.FT,
|
66 |
+
"TheBloke/gpt4-alpaca-lora-13B-HF": ModelType.IFT,
|
67 |
+
"TheBloke/gpt4-x-vicuna-13B-HF": ModelType.IFT,
|
68 |
+
"TheBloke/gpt4-alpaca-lora_mlp-65B-HF": ModelType.IFT,
|
69 |
+
"TheBloke/tulu-13B-fp16": ModelType.IFT,
|
70 |
+
"TheBloke/VicUnlocked-alpaca-65B-QLoRA-fp16": ModelType.IFT,
|
71 |
+
"TheBloke/Llama-2-70B-fp16": ModelType.IFT,
|
72 |
+
"TheBloke/WizardLM-30B-fp16": ModelType.IFT,
|
73 |
+
"TheBloke/robin-13B-v2-fp16": ModelType.FT,
|
74 |
+
"TheBloke/robin-33B-v2-fp16": ModelType.FT,
|
75 |
+
"TheBloke/Vicuna-13B-CoT-fp16": ModelType.IFT,
|
76 |
+
"TheBloke/Vicuna-33B-1-3-SuperHOT-8K-fp16": ModelType.IFT,
|
77 |
+
"TheBloke/Wizard-Vicuna-30B-Superhot-8K-fp16": ModelType.FT,
|
78 |
+
"TheBloke/Nous-Hermes-13B-SuperHOT-8K-fp16": ModelType.IFT,
|
79 |
+
"TheBloke/GPlatty-30B-SuperHOT-8K-fp16": ModelType.FT,
|
80 |
+
"TheBloke/CAMEL-33B-Combined-Data-SuperHOT-8K-fp16": ModelType.IFT,
|
81 |
+
"TheBloke/Chinese-Alpaca-33B-SuperHOT-8K-fp16": ModelType.IFT,
|
82 |
+
"jphme/orca_mini_v2_ger_7b": ModelType.IFT,
|
83 |
+
"Ejafa/vicuna_7B_vanilla_1.1": ModelType.FT,
|
84 |
+
"kevinpro/Vicuna-13B-CoT": ModelType.IFT,
|
85 |
+
"AlekseyKorshuk/pygmalion-6b-vicuna-chatml": ModelType.FT,
|
86 |
+
"AlekseyKorshuk/chatml-pyg-v1": ModelType.FT,
|
87 |
+
"concedo/Vicuzard-30B-Uncensored": ModelType.FT,
|
88 |
+
"concedo/OPT-19M-ChatSalad": ModelType.FT,
|
89 |
+
"concedo/Pythia-70M-ChatSalad": ModelType.FT,
|
90 |
+
"digitous/13B-HyperMantis": ModelType.IFT,
|
91 |
+
"digitous/Adventien-GPTJ": ModelType.FT,
|
92 |
+
"digitous/Alpacino13b": ModelType.IFT,
|
93 |
+
"digitous/GPT-R": ModelType.IFT,
|
94 |
+
"digitous/Javelin-R": ModelType.IFT,
|
95 |
+
"digitous/Javalion-GPTJ": ModelType.IFT,
|
96 |
+
"digitous/Javalion-R": ModelType.IFT,
|
97 |
+
"digitous/Skegma-GPTJ": ModelType.FT,
|
98 |
+
"digitous/Alpacino30b": ModelType.IFT,
|
99 |
+
"digitous/Janin-GPTJ": ModelType.FT,
|
100 |
+
"digitous/Janin-R": ModelType.FT,
|
101 |
+
"digitous/Javelin-GPTJ": ModelType.FT,
|
102 |
+
"SaylorTwift/gpt2_test": ModelType.PT,
|
103 |
+
"anton-l/gpt-j-tiny-random": ModelType.FT,
|
104 |
+
"Andron00e/YetAnother_Open-Llama-3B-LoRA-OpenOrca": ModelType.FT,
|
105 |
+
"Lazycuber/pyg-instruct-wizardlm": ModelType.FT,
|
106 |
+
"Lazycuber/Janemalion-6B": ModelType.FT,
|
107 |
+
"IDEA-CCNL/Ziya-LLaMA-13B-Pretrain-v1": ModelType.FT,
|
108 |
+
"IDEA-CCNL/Ziya-LLaMA-13B-v1": ModelType.IFT,
|
109 |
+
"dsvv-cair/alpaca-cleaned-llama-30b-bf16": ModelType.FT,
|
110 |
+
"gpt2-medium": ModelType.PT,
|
111 |
+
"camel-ai/CAMEL-13B-Combined-Data": ModelType.IFT,
|
112 |
+
"camel-ai/CAMEL-13B-Role-Playing-Data": ModelType.FT,
|
113 |
+
"camel-ai/CAMEL-33B-Combined-Data": ModelType.IFT,
|
114 |
+
"PygmalionAI/pygmalion-6b": ModelType.FT,
|
115 |
+
"PygmalionAI/metharme-1.3b": ModelType.IFT,
|
116 |
+
"PygmalionAI/pygmalion-1.3b": ModelType.FT,
|
117 |
+
"PygmalionAI/pygmalion-350m": ModelType.FT,
|
118 |
+
"PygmalionAI/pygmalion-2.7b": ModelType.FT,
|
119 |
+
"medalpaca/medalpaca-7b": ModelType.FT,
|
120 |
+
"lilloukas/Platypus-30B": ModelType.IFT,
|
121 |
+
"lilloukas/GPlatty-30B": ModelType.FT,
|
122 |
+
"mncai/chatdoctor": ModelType.FT,
|
123 |
+
"chaoyi-wu/MedLLaMA_13B": ModelType.FT,
|
124 |
+
"LoupGarou/WizardCoder-Guanaco-15B-V1.0": ModelType.IFT,
|
125 |
+
"LoupGarou/WizardCoder-Guanaco-15B-V1.1": ModelType.FT,
|
126 |
+
"hakurei/instruct-12b": ModelType.IFT,
|
127 |
+
"hakurei/lotus-12B": ModelType.FT,
|
128 |
+
"shibing624/chinese-llama-plus-13b-hf": ModelType.IFT,
|
129 |
+
"shibing624/chinese-alpaca-plus-7b-hf": ModelType.IFT,
|
130 |
+
"shibing624/chinese-alpaca-plus-13b-hf": ModelType.IFT,
|
131 |
+
"mosaicml/mpt-7b-instruct": ModelType.IFT,
|
132 |
+
"mosaicml/mpt-30b-chat": ModelType.IFT,
|
133 |
+
"mosaicml/mpt-7b-storywriter": ModelType.FT,
|
134 |
+
"mosaicml/mpt-30b-instruct": ModelType.IFT,
|
135 |
+
"mosaicml/mpt-7b-chat": ModelType.IFT,
|
136 |
+
"mosaicml/mpt-30b": ModelType.PT,
|
137 |
+
"Corianas/111m": ModelType.IFT,
|
138 |
+
"Corianas/Quokka_1.3b": ModelType.IFT,
|
139 |
+
"Corianas/256_5epoch": ModelType.FT,
|
140 |
+
"Corianas/Quokka_256m": ModelType.IFT,
|
141 |
+
"Corianas/Quokka_590m": ModelType.IFT,
|
142 |
+
"Corianas/gpt-j-6B-Dolly": ModelType.FT,
|
143 |
+
"Corianas/Quokka_2.7b": ModelType.IFT,
|
144 |
+
"cyberagent/open-calm-7b": ModelType.FT,
|
145 |
+
"Aspik101/Nous-Hermes-13b-pl-lora_unload": ModelType.IFT,
|
146 |
+
"THUDM/chatglm2-6b": ModelType.IFT,
|
147 |
+
"MetaIX/GPT4-X-Alpasta-30b": ModelType.IFT,
|
148 |
+
"NYTK/PULI-GPTrio": ModelType.PT,
|
149 |
+
"EleutherAI/pythia-1.3b": ModelType.PT,
|
150 |
+
"EleutherAI/pythia-2.8b-deduped": ModelType.PT,
|
151 |
+
"EleutherAI/gpt-neo-125m": ModelType.PT,
|
152 |
+
"EleutherAI/pythia-160m": ModelType.PT,
|
153 |
+
"EleutherAI/gpt-neo-2.7B": ModelType.PT,
|
154 |
+
"EleutherAI/pythia-1b-deduped": ModelType.PT,
|
155 |
+
"EleutherAI/pythia-6.7b": ModelType.PT,
|
156 |
+
"EleutherAI/pythia-70m-deduped": ModelType.PT,
|
157 |
+
"EleutherAI/gpt-neox-20b": ModelType.PT,
|
158 |
+
"EleutherAI/pythia-1.4b-deduped": ModelType.PT,
|
159 |
+
"EleutherAI/pythia-2.7b": ModelType.PT,
|
160 |
+
"EleutherAI/pythia-6.9b-deduped": ModelType.PT,
|
161 |
+
"EleutherAI/pythia-70m": ModelType.PT,
|
162 |
+
"EleutherAI/gpt-j-6b": ModelType.PT,
|
163 |
+
"EleutherAI/pythia-12b-deduped": ModelType.PT,
|
164 |
+
"EleutherAI/gpt-neo-1.3B": ModelType.PT,
|
165 |
+
"EleutherAI/pythia-410m-deduped": ModelType.PT,
|
166 |
+
"EleutherAI/pythia-160m-deduped": ModelType.PT,
|
167 |
+
"EleutherAI/polyglot-ko-12.8b": ModelType.PT,
|
168 |
+
"EleutherAI/pythia-12b": ModelType.PT,
|
169 |
+
"roneneldan/TinyStories-33M": ModelType.PT,
|
170 |
+
"roneneldan/TinyStories-28M": ModelType.PT,
|
171 |
+
"roneneldan/TinyStories-1M": ModelType.PT,
|
172 |
+
"roneneldan/TinyStories-8M": ModelType.PT,
|
173 |
+
"roneneldan/TinyStories-3M": ModelType.PT,
|
174 |
+
"jerryjalapeno/nart-100k-7b": ModelType.FT,
|
175 |
+
"lmsys/vicuna-13b-v1.3": ModelType.IFT,
|
176 |
+
"lmsys/vicuna-7b-v1.3": ModelType.IFT,
|
177 |
+
"lmsys/vicuna-13b-v1.1": ModelType.IFT,
|
178 |
+
"lmsys/vicuna-13b-delta-v1.1": ModelType.IFT,
|
179 |
+
"lmsys/vicuna-7b-delta-v1.1": ModelType.IFT,
|
180 |
+
"abhiramtirumala/DialoGPT-sarcastic-medium": ModelType.FT,
|
181 |
+
"haonan-li/bactrian-x-llama-13b-merged": ModelType.IFT,
|
182 |
+
"Gryphe/MythoLogic-13b": ModelType.IFT,
|
183 |
+
"Gryphe/MythoBoros-13b": ModelType.IFT,
|
184 |
+
"pillowtalks-ai/delta13b": ModelType.FT,
|
185 |
+
"wannaphong/openthaigpt-0.1.0-beta-full-model_for_open_llm_leaderboard": ModelType.FT,
|
186 |
+
"bigscience/bloom-7b1": ModelType.PT,
|
187 |
+
"bigcode/tiny_starcoder_py": ModelType.PT,
|
188 |
+
"bigcode/starcoderplus": ModelType.FT,
|
189 |
+
"bigcode/gpt_bigcode-santacoder": ModelType.PT,
|
190 |
+
"bigcode/starcoder": ModelType.PT,
|
191 |
+
"Open-Orca/OpenOrca-Preview1-13B": ModelType.IFT,
|
192 |
+
"microsoft/DialoGPT-large": ModelType.FT,
|
193 |
+
"microsoft/DialoGPT-small": ModelType.FT,
|
194 |
+
"microsoft/DialoGPT-medium": ModelType.FT,
|
195 |
+
"microsoft/CodeGPT-small-py": ModelType.FT,
|
196 |
+
"Tincando/fiction_story_generator": ModelType.FT,
|
197 |
+
"Pirr/pythia-13b-deduped-green_devil": ModelType.FT,
|
198 |
+
"Aeala/GPT4-x-AlpacaDente2-30b": ModelType.FT,
|
199 |
+
"Aeala/GPT4-x-AlpacaDente-30b": ModelType.FT,
|
200 |
+
"Aeala/GPT4-x-Alpasta-13b": ModelType.FT,
|
201 |
+
"Aeala/VicUnlocked-alpaca-30b": ModelType.IFT,
|
202 |
+
"Tap-M/Luna-AI-Llama2-Uncensored": ModelType.FT,
|
203 |
+
"illuin/test-custom-llama": ModelType.FT,
|
204 |
+
"dvruette/oasst-llama-13b-2-epochs": ModelType.FT,
|
205 |
+
"dvruette/oasst-gpt-neox-20b-1000-steps": ModelType.FT,
|
206 |
+
"dvruette/llama-13b-pretrained-dropout": ModelType.PT,
|
207 |
+
"dvruette/llama-13b-pretrained": ModelType.PT,
|
208 |
+
"dvruette/llama-13b-pretrained-sft-epoch-1": ModelType.FT,
|
209 |
+
"dvruette/llama-13b-pretrained-sft-do2": ModelType.FT,
|
210 |
+
"dvruette/oasst-gpt-neox-20b-3000-steps": ModelType.FT,
|
211 |
+
"dvruette/oasst-pythia-12b-pretrained-sft": ModelType.FT,
|
212 |
+
"dvruette/oasst-pythia-6.9b-4000-steps": ModelType.FT,
|
213 |
+
"dvruette/gpt-neox-20b-full-precision": ModelType.FT,
|
214 |
+
"dvruette/oasst-llama-13b-1000-steps": ModelType.FT,
|
215 |
+
"openlm-research/open_llama_7b_700bt_preview": ModelType.PT,
|
216 |
+
"openlm-research/open_llama_7b": ModelType.PT,
|
217 |
+
"openlm-research/open_llama_7b_v2": ModelType.PT,
|
218 |
+
"openlm-research/open_llama_3b": ModelType.PT,
|
219 |
+
"openlm-research/open_llama_13b": ModelType.PT,
|
220 |
+
"openlm-research/open_llama_3b_v2": ModelType.PT,
|
221 |
+
"PocketDoc/Dans-PileOfSets-Mk1-llama-13b-merged": ModelType.IFT,
|
222 |
+
"GeorgiaTechResearchInstitute/galpaca-30b": ModelType.IFT,
|
223 |
+
"GeorgiaTechResearchInstitute/starcoder-gpteacher-code-instruct": ModelType.IFT,
|
224 |
+
"databricks/dolly-v2-7b": ModelType.IFT,
|
225 |
+
"databricks/dolly-v2-3b": ModelType.IFT,
|
226 |
+
"databricks/dolly-v2-12b": ModelType.IFT,
|
227 |
+
"Rachneet/gpt2-xl-alpaca": ModelType.FT,
|
228 |
+
"Locutusque/gpt2-conversational-or-qa": ModelType.FT,
|
229 |
+
"psyche/kogpt": ModelType.FT,
|
230 |
+
"NbAiLab/nb-gpt-j-6B-alpaca": ModelType.IFT,
|
231 |
+
"Mikael110/llama-2-7b-guanaco-fp16": ModelType.FT,
|
232 |
+
"Mikael110/llama-2-13b-guanaco-fp16": ModelType.FT,
|
233 |
+
"Fredithefish/CrimsonPajama": ModelType.IFT,
|
234 |
+
"Fredithefish/RedPajama-INCITE-Chat-3B-ShareGPT-11K": ModelType.FT,
|
235 |
+
"Fredithefish/ScarletPajama-3B-HF": ModelType.FT,
|
236 |
+
"Fredithefish/RedPajama-INCITE-Chat-3B-Instruction-Tuning-with-GPT-4": ModelType.IFT,
|
237 |
+
"acrastt/RedPajama-INCITE-Chat-Instruct-3B-V1": ModelType.IFT,
|
238 |
+
"eachadea/vicuna-13b-1.1": ModelType.FT,
|
239 |
+
"eachadea/vicuna-7b-1.1": ModelType.FT,
|
240 |
+
"eachadea/vicuna-13b": ModelType.FT,
|
241 |
+
"openaccess-ai-collective/wizard-mega-13b": ModelType.IFT,
|
242 |
+
"openaccess-ai-collective/manticore-13b": ModelType.IFT,
|
243 |
+
"openaccess-ai-collective/manticore-30b-chat-pyg-alpha": ModelType.IFT,
|
244 |
+
"openaccess-ai-collective/minotaur-13b": ModelType.IFT,
|
245 |
+
"openaccess-ai-collective/minotaur-13b-fixed": ModelType.IFT,
|
246 |
+
"openaccess-ai-collective/hippogriff-30b-chat": ModelType.IFT,
|
247 |
+
"openaccess-ai-collective/manticore-13b-chat-pyg": ModelType.IFT,
|
248 |
+
"pythainlp/wangchanglm-7.5B-sft-enth": ModelType.IFT,
|
249 |
+
"pythainlp/wangchanglm-7.5B-sft-en-sharded": ModelType.IFT,
|
250 |
+
"euclaise/gpt-neox-122m-minipile-digits": ModelType.FT,
|
251 |
+
"stabilityai/StableBeluga1-Delta": ModelType.IFT,
|
252 |
+
"stabilityai/stablelm-tuned-alpha-7b": ModelType.IFT,
|
253 |
+
"stabilityai/StableBeluga2": ModelType.IFT,
|
254 |
+
"stabilityai/StableBeluga-13B": ModelType.IFT,
|
255 |
+
"stabilityai/StableBeluga-7B": ModelType.IFT,
|
256 |
+
"stabilityai/stablelm-base-alpha-7b": ModelType.PT,
|
257 |
+
"stabilityai/stablelm-base-alpha-3b": ModelType.PT,
|
258 |
+
"stabilityai/stablelm-tuned-alpha-3b": ModelType.IFT,
|
259 |
+
"alibidaran/medical_transcription_generator": ModelType.FT,
|
260 |
+
"CalderaAI/30B-Lazarus": ModelType.IFT,
|
261 |
+
"CalderaAI/13B-BlueMethod": ModelType.IFT,
|
262 |
+
"CalderaAI/13B-Ouroboros": ModelType.IFT,
|
263 |
+
"KoboldAI/OPT-13B-Erebus": ModelType.FT,
|
264 |
+
"KoboldAI/GPT-J-6B-Janeway": ModelType.FT,
|
265 |
+
"KoboldAI/GPT-J-6B-Shinen": ModelType.FT,
|
266 |
+
"KoboldAI/fairseq-dense-2.7B": ModelType.PT,
|
267 |
+
"KoboldAI/OPT-6B-nerys-v2": ModelType.FT,
|
268 |
+
"KoboldAI/GPT-NeoX-20B-Skein": ModelType.FT,
|
269 |
+
"KoboldAI/PPO_Pygway-6b-Mix": ModelType.FT,
|
270 |
+
"KoboldAI/fairseq-dense-6.7B": ModelType.PT,
|
271 |
+
"KoboldAI/fairseq-dense-125M": ModelType.PT,
|
272 |
+
"KoboldAI/OPT-13B-Nerybus-Mix": ModelType.FT,
|
273 |
+
"KoboldAI/OPT-2.7B-Erebus": ModelType.FT,
|
274 |
+
"KoboldAI/OPT-350M-Nerys-v2": ModelType.FT,
|
275 |
+
"KoboldAI/OPT-2.7B-Nerys-v2": ModelType.FT,
|
276 |
+
"KoboldAI/OPT-2.7B-Nerybus-Mix": ModelType.FT,
|
277 |
+
"KoboldAI/OPT-13B-Nerys-v2": ModelType.FT,
|
278 |
+
"KoboldAI/GPT-NeoX-20B-Erebus": ModelType.FT,
|
279 |
+
"KoboldAI/OPT-6.7B-Erebus": ModelType.FT,
|
280 |
+
"KoboldAI/fairseq-dense-355M": ModelType.PT,
|
281 |
+
"KoboldAI/OPT-6.7B-Nerybus-Mix": ModelType.FT,
|
282 |
+
"KoboldAI/GPT-J-6B-Adventure": ModelType.FT,
|
283 |
+
"KoboldAI/OPT-350M-Erebus": ModelType.FT,
|
284 |
+
"KoboldAI/GPT-J-6B-Skein": ModelType.FT,
|
285 |
+
"KoboldAI/OPT-30B-Erebus": ModelType.FT,
|
286 |
+
"klosax/pythia-160m-deduped-step92k-193bt": ModelType.PT,
|
287 |
+
"klosax/open_llama_3b_350bt_preview": ModelType.PT,
|
288 |
+
"klosax/openllama-3b-350bt": ModelType.PT,
|
289 |
+
"klosax/pythia-70m-deduped-step44k-92bt": ModelType.PT,
|
290 |
+
"klosax/open_llama_13b_600bt_preview": ModelType.PT,
|
291 |
+
"klosax/open_llama_7b_400bt_preview": ModelType.PT,
|
292 |
+
"kfkas/Llama-2-ko-7b-Chat": ModelType.IFT,
|
293 |
+
"WeOpenML/Alpaca-7B-v1": ModelType.IFT,
|
294 |
+
"WeOpenML/PandaLM-Alpaca-7B-v1": ModelType.IFT,
|
295 |
+
"TFLai/gpt2-turkish-uncased": ModelType.FT,
|
296 |
+
"ehartford/WizardLM-13B-Uncensored": ModelType.IFT,
|
297 |
+
"ehartford/dolphin-llama-13b": ModelType.IFT,
|
298 |
+
"ehartford/Wizard-Vicuna-30B-Uncensored": ModelType.FT,
|
299 |
+
"ehartford/WizardLM-30B-Uncensored": ModelType.IFT,
|
300 |
+
"ehartford/Wizard-Vicuna-13B-Uncensored": ModelType.FT,
|
301 |
+
"ehartford/WizardLM-7B-Uncensored": ModelType.IFT,
|
302 |
+
"ehartford/based-30b": ModelType.FT,
|
303 |
+
"ehartford/Wizard-Vicuna-7B-Uncensored": ModelType.FT,
|
304 |
+
"wahaha1987/llama_7b_sharegpt94k_fastchat": ModelType.FT,
|
305 |
+
"wahaha1987/llama_13b_sharegpt94k_fastchat": ModelType.FT,
|
306 |
+
"OpenAssistant/oasst-sft-1-pythia-12b": ModelType.FT,
|
307 |
+
"OpenAssistant/stablelm-7b-sft-v7-epoch-3": ModelType.IFT,
|
308 |
+
"OpenAssistant/oasst-sft-4-pythia-12b-epoch-3.5": ModelType.FT,
|
309 |
+
"OpenAssistant/pythia-12b-sft-v8-2.5k-steps": ModelType.IFT,
|
310 |
+
"OpenAssistant/pythia-12b-sft-v8-7k-steps": ModelType.IFT,
|
311 |
+
"OpenAssistant/pythia-12b-pre-v8-12.5k-steps": ModelType.IFT,
|
312 |
+
"OpenAssistant/llama2-13b-orca-8k-3319": ModelType.IFT,
|
313 |
+
"junelee/wizard-vicuna-13b": ModelType.FT,
|
314 |
+
"BreadAi/gpt-YA-1-1_160M": ModelType.PT,
|
315 |
+
"BreadAi/MuseCan": ModelType.PT,
|
316 |
+
"BreadAi/MusePy-1-2": ModelType.PT,
|
317 |
+
"BreadAi/DiscordPy": ModelType.PT,
|
318 |
+
"BreadAi/PM_modelV2": ModelType.PT,
|
319 |
+
"BreadAi/gpt-Youtube": ModelType.PT,
|
320 |
+
"BreadAi/StoryPy": ModelType.FT,
|
321 |
+
"julianweng/Llama-2-7b-chat-orcah": ModelType.FT,
|
322 |
+
"AGI-inc/lora_moe_7b_baseline": ModelType.FT,
|
323 |
+
"AGI-inc/lora_moe_7b": ModelType.FT,
|
324 |
+
"togethercomputer/GPT-NeoXT-Chat-Base-20B": ModelType.IFT,
|
325 |
+
"togethercomputer/RedPajama-INCITE-Chat-7B-v0.1": ModelType.IFT,
|
326 |
+
"togethercomputer/RedPajama-INCITE-Instruct-7B-v0.1": ModelType.IFT,
|
327 |
+
"togethercomputer/RedPajama-INCITE-7B-Base": ModelType.PT,
|
328 |
+
"togethercomputer/RedPajama-INCITE-7B-Instruct": ModelType.IFT,
|
329 |
+
"togethercomputer/RedPajama-INCITE-Base-3B-v1": ModelType.PT,
|
330 |
+
"togethercomputer/Pythia-Chat-Base-7B": ModelType.IFT,
|
331 |
+
"togethercomputer/RedPajama-INCITE-Base-7B-v0.1": ModelType.PT,
|
332 |
+
"togethercomputer/GPT-JT-6B-v1": ModelType.IFT,
|
333 |
+
"togethercomputer/GPT-JT-6B-v0": ModelType.IFT,
|
334 |
+
"togethercomputer/RedPajama-INCITE-Chat-3B-v1": ModelType.IFT,
|
335 |
+
"togethercomputer/RedPajama-INCITE-7B-Chat": ModelType.IFT,
|
336 |
+
"togethercomputer/RedPajama-INCITE-Instruct-3B-v1": ModelType.IFT,
|
337 |
+
"Writer/camel-5b-hf": ModelType.IFT,
|
338 |
+
"Writer/palmyra-base": ModelType.PT,
|
339 |
+
"MBZUAI/LaMini-GPT-1.5B": ModelType.IFT,
|
340 |
+
"MBZUAI/lamini-cerebras-111m": ModelType.IFT,
|
341 |
+
"MBZUAI/lamini-neo-1.3b": ModelType.IFT,
|
342 |
+
"MBZUAI/lamini-cerebras-1.3b": ModelType.IFT,
|
343 |
+
"MBZUAI/lamini-cerebras-256m": ModelType.IFT,
|
344 |
+
"MBZUAI/LaMini-GPT-124M": ModelType.IFT,
|
345 |
+
"MBZUAI/lamini-neo-125m": ModelType.IFT,
|
346 |
+
"TehVenom/DiffMerge-DollyGPT-Pygmalion": ModelType.FT,
|
347 |
+
"TehVenom/PPO_Shygmalion-6b": ModelType.FT,
|
348 |
+
"TehVenom/Dolly_Shygmalion-6b-Dev_V8P2": ModelType.FT,
|
349 |
+
"TehVenom/Pygmalion_AlpacaLora-7b": ModelType.FT,
|
350 |
+
"TehVenom/PPO_Pygway-V8p4_Dev-6b": ModelType.FT,
|
351 |
+
"TehVenom/Dolly_Malion-6b": ModelType.FT,
|
352 |
+
"TehVenom/PPO_Shygmalion-V8p4_Dev-6b": ModelType.FT,
|
353 |
+
"TehVenom/ChanMalion": ModelType.FT,
|
354 |
+
"TehVenom/GPT-J-Pyg_PPO-6B": ModelType.IFT,
|
355 |
+
"TehVenom/Pygmalion-13b-Merged": ModelType.FT,
|
356 |
+
"TehVenom/Metharme-13b-Merged": ModelType.IFT,
|
357 |
+
"TehVenom/Dolly_Shygmalion-6b": ModelType.FT,
|
358 |
+
"TehVenom/GPT-J-Pyg_PPO-6B-Dev-V8p4": ModelType.IFT,
|
359 |
+
"georgesung/llama2_7b_chat_uncensored": ModelType.FT,
|
360 |
+
"vicgalle/gpt2-alpaca": ModelType.IFT,
|
361 |
+
"vicgalle/alpaca-7b": ModelType.FT,
|
362 |
+
"vicgalle/gpt2-alpaca-gpt4": ModelType.IFT,
|
363 |
+
"facebook/opt-350m": ModelType.PT,
|
364 |
+
"facebook/opt-125m": ModelType.PT,
|
365 |
+
"facebook/xglm-4.5B": ModelType.PT,
|
366 |
+
"facebook/opt-2.7b": ModelType.PT,
|
367 |
+
"facebook/opt-6.7b": ModelType.PT,
|
368 |
+
"facebook/galactica-30b": ModelType.PT,
|
369 |
+
"facebook/opt-13b": ModelType.PT,
|
370 |
+
"facebook/opt-66b": ModelType.PT,
|
371 |
+
"facebook/xglm-7.5B": ModelType.PT,
|
372 |
+
"facebook/xglm-564M": ModelType.PT,
|
373 |
+
"facebook/opt-30b": ModelType.PT,
|
374 |
+
"golaxy/gogpt-7b": ModelType.FT,
|
375 |
+
"golaxy/gogpt2-7b": ModelType.FT,
|
376 |
+
"golaxy/gogpt-7b-bloom": ModelType.FT,
|
377 |
+
"golaxy/gogpt-3b-bloom": ModelType.FT,
|
378 |
+
"psmathur/orca_mini_v2_7b": ModelType.IFT,
|
379 |
+
"psmathur/orca_mini_7b": ModelType.IFT,
|
380 |
+
"psmathur/orca_mini_3b": ModelType.IFT,
|
381 |
+
"psmathur/orca_mini_v2_13b": ModelType.IFT,
|
382 |
+
"gpt2-xl": ModelType.PT,
|
383 |
+
"lxe/Cerebras-GPT-2.7B-Alpaca-SP": ModelType.FT,
|
384 |
+
"Monero/Manticore-13b-Chat-Pyg-Guanaco": ModelType.FT,
|
385 |
+
"Monero/WizardLM-Uncensored-SuperCOT-StoryTelling-30b": ModelType.IFT,
|
386 |
+
"Monero/WizardLM-13b-OpenAssistant-Uncensored": ModelType.IFT,
|
387 |
+
"Monero/WizardLM-30B-Uncensored-Guanaco-SuperCOT-30b": ModelType.IFT,
|
388 |
+
"jzjiao/opt-1.3b-rlhf": ModelType.FT,
|
389 |
+
"HuggingFaceH4/starchat-beta": ModelType.IFT,
|
390 |
+
"KnutJaegersberg/gpt-2-xl-EvolInstruct": ModelType.IFT,
|
391 |
+
"KnutJaegersberg/megatron-GPT-2-345m-EvolInstruct": ModelType.IFT,
|
392 |
+
"KnutJaegersberg/galactica-orca-wizardlm-1.3b": ModelType.IFT,
|
393 |
+
"openchat/openchat_8192": ModelType.IFT,
|
394 |
+
"openchat/openchat_v2": ModelType.IFT,
|
395 |
+
"openchat/openchat_v2_w": ModelType.IFT,
|
396 |
+
"ausboss/llama-13b-supercot": ModelType.IFT,
|
397 |
+
"ausboss/llama-30b-supercot": ModelType.IFT,
|
398 |
+
"Neko-Institute-of-Science/metharme-7b": ModelType.IFT,
|
399 |
+
"Neko-Institute-of-Science/pygmalion-7b": ModelType.FT,
|
400 |
+
"SebastianSchramm/Cerebras-GPT-111M-instruction": ModelType.IFT,
|
401 |
+
"victor123/WizardLM-13B-1.0": ModelType.IFT,
|
402 |
+
"OpenBuddy/openbuddy-openllama-13b-v7-fp16": ModelType.FT,
|
403 |
+
"OpenBuddy/openbuddy-llama2-13b-v8.1-fp16": ModelType.FT,
|
404 |
+
"OpenBuddyEA/openbuddy-llama-30b-v7.1-bf16": ModelType.FT,
|
405 |
+
"baichuan-inc/Baichuan-7B": ModelType.PT,
|
406 |
+
"tiiuae/falcon-40b-instruct": ModelType.IFT,
|
407 |
+
"tiiuae/falcon-40b": ModelType.PT,
|
408 |
+
"tiiuae/falcon-7b": ModelType.PT,
|
409 |
+
"YeungNLP/firefly-llama-13b": ModelType.FT,
|
410 |
+
"YeungNLP/firefly-llama-13b-v1.2": ModelType.FT,
|
411 |
+
"YeungNLP/firefly-llama2-13b": ModelType.FT,
|
412 |
+
"YeungNLP/firefly-ziya-13b": ModelType.FT,
|
413 |
+
"shaohang/Sparse0.5_OPT-1.3": ModelType.FT,
|
414 |
+
"xzuyn/Alpacino-SuperCOT-13B": ModelType.IFT,
|
415 |
+
"xzuyn/MedicWizard-7B": ModelType.FT,
|
416 |
+
"xDAN-AI/xDAN_13b_l2_lora": ModelType.FT,
|
417 |
+
"beomi/KoAlpaca-Polyglot-5.8B": ModelType.FT,
|
418 |
+
"beomi/llama-2-ko-7b": ModelType.IFT,
|
419 |
+
"Salesforce/codegen-6B-multi": ModelType.PT,
|
420 |
+
"Salesforce/codegen-16B-nl": ModelType.PT,
|
421 |
+
"Salesforce/codegen-6B-nl": ModelType.PT,
|
422 |
+
"ai-forever/rugpt3large_based_on_gpt2": ModelType.FT,
|
423 |
+
"gpt2-large": ModelType.PT,
|
424 |
+
"frank098/orca_mini_3b_juniper": ModelType.FT,
|
425 |
+
"frank098/WizardLM_13B_juniper": ModelType.FT,
|
426 |
+
"FPHam/Free_Sydney_13b_HF": ModelType.FT,
|
427 |
+
"huggingface/llama-13b": ModelType.PT,
|
428 |
+
"huggingface/llama-7b": ModelType.PT,
|
429 |
+
"huggingface/llama-65b": ModelType.PT,
|
430 |
+
"huggingface/llama-30b": ModelType.PT,
|
431 |
+
"Henk717/chronoboros-33B": ModelType.IFT,
|
432 |
+
"jondurbin/airoboros-13b-gpt4-1.4": ModelType.IFT,
|
433 |
+
"jondurbin/airoboros-7b": ModelType.IFT,
|
434 |
+
"jondurbin/airoboros-7b-gpt4": ModelType.IFT,
|
435 |
+
"jondurbin/airoboros-7b-gpt4-1.1": ModelType.IFT,
|
436 |
+
"jondurbin/airoboros-7b-gpt4-1.2": ModelType.IFT,
|
437 |
+
"jondurbin/airoboros-7b-gpt4-1.3": ModelType.IFT,
|
438 |
+
"jondurbin/airoboros-7b-gpt4-1.4": ModelType.IFT,
|
439 |
+
"jondurbin/airoboros-l2-7b-gpt4-1.4.1": ModelType.IFT,
|
440 |
+
"jondurbin/airoboros-l2-13b-gpt4-1.4.1": ModelType.IFT,
|
441 |
+
"jondurbin/airoboros-l2-70b-gpt4-1.4.1": ModelType.IFT,
|
442 |
+
"jondurbin/airoboros-13b": ModelType.IFT,
|
443 |
+
"jondurbin/airoboros-33b-gpt4-1.4": ModelType.IFT,
|
444 |
+
"jondurbin/airoboros-33b-gpt4-1.2": ModelType.IFT,
|
445 |
+
"jondurbin/airoboros-65b-gpt4-1.2": ModelType.IFT,
|
446 |
+
"ariellee/SuperPlatty-30B": ModelType.IFT,
|
447 |
+
"danielhanchen/open_llama_3b_600bt_preview": ModelType.FT,
|
448 |
+
"cerebras/Cerebras-GPT-256M": ModelType.PT,
|
449 |
+
"cerebras/Cerebras-GPT-1.3B": ModelType.PT,
|
450 |
+
"cerebras/Cerebras-GPT-13B": ModelType.PT,
|
451 |
+
"cerebras/Cerebras-GPT-2.7B": ModelType.PT,
|
452 |
+
"cerebras/Cerebras-GPT-111M": ModelType.PT,
|
453 |
+
"cerebras/Cerebras-GPT-6.7B": ModelType.PT,
|
454 |
+
"Yhyu13/oasst-rlhf-2-llama-30b-7k-steps-hf": ModelType.RL,
|
455 |
+
"Yhyu13/llama-30B-hf-openassitant": ModelType.FT,
|
456 |
+
"NousResearch/Nous-Hermes-Llama2-13b": ModelType.IFT,
|
457 |
+
"NousResearch/Nous-Hermes-llama-2-7b": ModelType.IFT,
|
458 |
+
"NousResearch/Redmond-Puffin-13B": ModelType.IFT,
|
459 |
+
"NousResearch/Nous-Hermes-13b": ModelType.IFT,
|
460 |
+
"project-baize/baize-v2-7b": ModelType.IFT,
|
461 |
+
"project-baize/baize-v2-13b": ModelType.IFT,
|
462 |
+
"LLMs/WizardLM-13B-V1.0": ModelType.FT,
|
463 |
+
"LLMs/AlpacaGPT4-7B-elina": ModelType.FT,
|
464 |
+
"wenge-research/yayi-7b": ModelType.FT,
|
465 |
+
"wenge-research/yayi-7b-llama2": ModelType.FT,
|
466 |
+
"wenge-research/yayi-13b-llama2": ModelType.FT,
|
467 |
+
"yhyhy3/open_llama_7b_v2_med_instruct": ModelType.IFT,
|
468 |
+
"llama-anon/instruct-13b": ModelType.IFT,
|
469 |
+
"huggingtweets/jerma985": ModelType.FT,
|
470 |
+
"huggingtweets/gladosystem": ModelType.FT,
|
471 |
+
"huggingtweets/bladeecity-jerma985": ModelType.FT,
|
472 |
+
"huggyllama/llama-13b": ModelType.PT,
|
473 |
+
"huggyllama/llama-65b": ModelType.PT,
|
474 |
+
"FabbriSimo01/Facebook_opt_1.3b_Quantized": ModelType.PT,
|
475 |
+
"upstage/Llama-2-70b-instruct": ModelType.IFT,
|
476 |
+
"upstage/Llama-2-70b-instruct-1024": ModelType.IFT,
|
477 |
+
"upstage/llama-65b-instruct": ModelType.IFT,
|
478 |
+
"upstage/llama-30b-instruct-2048": ModelType.IFT,
|
479 |
+
"upstage/llama-30b-instruct": ModelType.IFT,
|
480 |
+
"WizardLM/WizardLM-13B-1.0": ModelType.IFT,
|
481 |
+
"WizardLM/WizardLM-13B-V1.1": ModelType.IFT,
|
482 |
+
"WizardLM/WizardLM-13B-V1.2": ModelType.IFT,
|
483 |
+
"WizardLM/WizardLM-30B-V1.0": ModelType.IFT,
|
484 |
+
"WizardLM/WizardCoder-15B-V1.0": ModelType.IFT,
|
485 |
+
"gpt2": ModelType.PT,
|
486 |
+
"keyfan/vicuna-chinese-replication-v1.1": ModelType.IFT,
|
487 |
+
"nthngdy/pythia-owt2-70m-100k": ModelType.FT,
|
488 |
+
"nthngdy/pythia-owt2-70m-50k": ModelType.FT,
|
489 |
+
"quantumaikr/KoreanLM-hf": ModelType.FT,
|
490 |
+
"quantumaikr/open_llama_7b_hf": ModelType.FT,
|
491 |
+
"quantumaikr/QuantumLM-70B-hf": ModelType.IFT,
|
492 |
+
"MayaPH/FinOPT-Lincoln": ModelType.FT,
|
493 |
+
"MayaPH/FinOPT-Franklin": ModelType.FT,
|
494 |
+
"MayaPH/GodziLLa-30B": ModelType.IFT,
|
495 |
+
"MayaPH/GodziLLa-30B-plus": ModelType.IFT,
|
496 |
+
"MayaPH/FinOPT-Washington": ModelType.FT,
|
497 |
+
"ogimgio/gpt-neo-125m-neurallinguisticpioneers": ModelType.FT,
|
498 |
+
"layoric/llama-2-13b-code-alpaca": ModelType.FT,
|
499 |
+
"CobraMamba/mamba-gpt-3b": ModelType.FT,
|
500 |
+
"CobraMamba/mamba-gpt-3b-v2": ModelType.FT,
|
501 |
+
"CobraMamba/mamba-gpt-3b-v3": ModelType.FT,
|
502 |
+
"timdettmers/guanaco-33b-merged": ModelType.FT,
|
503 |
+
"elinas/chronos-33b": ModelType.IFT,
|
504 |
+
"heegyu/RedTulu-Uncensored-3B-0719": ModelType.IFT,
|
505 |
+
"heegyu/WizardVicuna-Uncensored-3B-0719": ModelType.IFT,
|
506 |
+
"heegyu/WizardVicuna-3B-0719": ModelType.IFT,
|
507 |
+
"meta-llama/Llama-2-7b-chat-hf": ModelType.RL,
|
508 |
+
"meta-llama/Llama-2-7b-hf": ModelType.PT,
|
509 |
+
"meta-llama/Llama-2-13b-chat-hf": ModelType.RL,
|
510 |
+
"meta-llama/Llama-2-13b-hf": ModelType.PT,
|
511 |
+
"meta-llama/Llama-2-70b-chat-hf": ModelType.RL,
|
512 |
+
"meta-llama/Llama-2-70b-hf": ModelType.PT,
|
513 |
+
"xhyi/PT_GPTNEO350_ATG": ModelType.FT,
|
514 |
+
"h2oai/h2ogpt-gm-oasst1-en-1024-20b": ModelType.FT,
|
515 |
+
"h2oai/h2ogpt-gm-oasst1-en-1024-open-llama-7b-preview-400bt": ModelType.FT,
|
516 |
+
"h2oai/h2ogpt-oig-oasst1-512-6_9b": ModelType.IFT,
|
517 |
+
"h2oai/h2ogpt-oasst1-512-12b": ModelType.IFT,
|
518 |
+
"h2oai/h2ogpt-oig-oasst1-256-6_9b": ModelType.IFT,
|
519 |
+
"h2oai/h2ogpt-gm-oasst1-en-2048-open-llama-7b-preview-300bt": ModelType.FT,
|
520 |
+
"h2oai/h2ogpt-oasst1-512-20b": ModelType.IFT,
|
521 |
+
"h2oai/h2ogpt-gm-oasst1-en-2048-open-llama-7b-preview-300bt-v2": ModelType.FT,
|
522 |
+
"h2oai/h2ogpt-gm-oasst1-en-1024-12b": ModelType.FT,
|
523 |
+
"h2oai/h2ogpt-gm-oasst1-multilang-1024-20b": ModelType.FT,
|
524 |
+
"bofenghuang/vigogne-13b-instruct": ModelType.IFT,
|
525 |
+
"bofenghuang/vigogne-13b-chat": ModelType.FT,
|
526 |
+
"bofenghuang/vigogne-2-7b-instruct": ModelType.IFT,
|
527 |
+
"bofenghuang/vigogne-7b-instruct": ModelType.IFT,
|
528 |
+
"bofenghuang/vigogne-7b-chat": ModelType.FT,
|
529 |
+
"Vmware/open-llama-7b-v2-open-instruct": ModelType.IFT,
|
530 |
+
"VMware/open-llama-0.7T-7B-open-instruct-v1.1": ModelType.IFT,
|
531 |
+
"ewof/koishi-instruct-3b": ModelType.IFT,
|
532 |
+
"gywy/llama2-13b-chinese-v1": ModelType.FT,
|
533 |
+
"GOAT-AI/GOAT-7B-Community": ModelType.FT,
|
534 |
+
"psyche/kollama2-7b": ModelType.FT,
|
535 |
+
"TheTravellingEngineer/llama2-7b-hf-guanaco": ModelType.FT,
|
536 |
+
"beaugogh/pythia-1.4b-deduped-sharegpt": ModelType.FT,
|
537 |
+
"augtoma/qCammel-70-x": ModelType.IFT,
|
538 |
+
"Lajonbot/Llama-2-7b-chat-hf-instruct-pl-lora_unload": ModelType.IFT,
|
539 |
+
"anhnv125/pygmalion-6b-roleplay": ModelType.FT,
|
540 |
+
"64bits/LexPodLM-13B": ModelType.FT,
|
541 |
+
}
|
542 |
+
|
543 |
+
|
544 |
+
def model_type_from_str(type):
|
545 |
+
if "fine-tuned" in type or "πΆ" in type:
|
546 |
+
return ModelType.FT
|
547 |
+
if "pretrained" in type or "π’" in type:
|
548 |
+
return ModelType.PT
|
549 |
+
if "RL-tuned" in type or "π¦" in type:
|
550 |
+
return ModelType.RL
|
551 |
+
if "instruction-tuned" in type or "β" in type:
|
552 |
+
return ModelType.IFT
|
553 |
+
return ModelType.Unknown
|
src/{auto_leaderboard/load_results.py β display_models/read_results.py}
RENAMED
@@ -1,14 +1,13 @@
|
|
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 |
-
|
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 = {
|
@@ -31,13 +30,15 @@ class EvalResult:
|
|
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
|
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
|
@@ -45,6 +46,9 @@ class EvalResult:
|
|
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():
|
@@ -60,10 +64,9 @@ 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, []
|
67 |
|
68 |
try:
|
69 |
config = data["config"]
|
@@ -87,22 +90,29 @@ def parse_eval_result(json_filepath: str) -> Tuple[str, list[dict]]:
|
|
87 |
else:
|
88 |
org = model_split[0]
|
89 |
model = model_split[1]
|
90 |
-
result_key =
|
91 |
|
92 |
eval_results = []
|
93 |
for benchmark, metric in zip(BENCHMARKS, METRICS):
|
94 |
-
accs = np.array([v
|
95 |
-
if accs.size == 0:
|
96 |
continue
|
97 |
mean_acc = np.mean(accs) * 100.0
|
98 |
-
eval_results.append(
|
99 |
-
|
100 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
|
102 |
return result_key, eval_results
|
103 |
|
104 |
|
105 |
-
def get_eval_results(
|
106 |
json_filepaths = []
|
107 |
|
108 |
for root, dir, files in os.walk("eval-results"):
|
@@ -113,11 +123,11 @@ def get_eval_results(is_public) -> List[EvalResult]:
|
|
113 |
# Sort the files by date
|
114 |
# store results by precision maybe?
|
115 |
try:
|
116 |
-
files.sort(key=lambda x:
|
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 |
|
@@ -135,7 +145,7 @@ def get_eval_results(is_public) -> List[EvalResult]:
|
|
135 |
return eval_results
|
136 |
|
137 |
|
138 |
-
def get_eval_results_dicts(
|
139 |
-
eval_results = get_eval_results(
|
140 |
|
141 |
return [e.to_dict() for e in eval_results]
|
|
|
|
|
|
|
|
|
1 |
import json
|
2 |
import os
|
3 |
+
from dataclasses import dataclass
|
4 |
from typing import Dict, List, Tuple
|
|
|
5 |
|
6 |
+
import dateutil
|
7 |
import numpy as np
|
8 |
|
9 |
+
from src.display_models.utils import AutoEvalColumn, make_clickable_model
|
10 |
+
|
11 |
METRICS = ["acc_norm", "acc_norm", "acc", "mc2"]
|
12 |
BENCHMARKS = ["arc:challenge", "hellaswag", "hendrycksTest", "truthfulqa:mc"]
|
13 |
BENCH_TO_NAME = {
|
|
|
30 |
weight_type: str = ""
|
31 |
|
32 |
def to_dict(self):
|
33 |
+
from src.load_from_hub import is_model_on_hub
|
34 |
+
|
35 |
if self.org is not None:
|
36 |
base_model = f"{self.org}/{self.model}"
|
37 |
else:
|
38 |
base_model = f"{self.model}"
|
39 |
data_dict = {}
|
40 |
|
41 |
+
data_dict["eval_name"] = self.eval_name # not a column, just a save name
|
42 |
data_dict["weight_type"] = self.weight_type # not a column, just a save name
|
43 |
data_dict[AutoEvalColumn.precision.name] = self.precision
|
44 |
data_dict[AutoEvalColumn.model_type.name] = self.model_type
|
|
|
46 |
data_dict[AutoEvalColumn.dummy.name] = base_model
|
47 |
data_dict[AutoEvalColumn.revision.name] = self.revision
|
48 |
data_dict[AutoEvalColumn.average.name] = sum([v for k, v in self.results.items()]) / 4.0
|
49 |
+
data_dict[AutoEvalColumn.still_on_hub.name] = (
|
50 |
+
is_model_on_hub(base_model, self.revision)[0] or base_model == "baseline"
|
51 |
+
)
|
52 |
|
53 |
for benchmark in BENCHMARKS:
|
54 |
if benchmark not in self.results.keys():
|
|
|
64 |
with open(json_filepath) as fp:
|
65 |
data = json.load(fp)
|
66 |
|
|
|
67 |
for mmlu_k in ["harness|hendrycksTest-abstract_algebra|5", "hendrycksTest-abstract_algebra"]:
|
68 |
if mmlu_k in data["versions"] and data["versions"][mmlu_k] == 0:
|
69 |
+
return None, [] # we skip models with the wrong version
|
70 |
|
71 |
try:
|
72 |
config = data["config"]
|
|
|
90 |
else:
|
91 |
org = model_split[0]
|
92 |
model = model_split[1]
|
93 |
+
result_key = f"{org}_{model}_{model_sha}_{precision}"
|
94 |
|
95 |
eval_results = []
|
96 |
for benchmark, metric in zip(BENCHMARKS, METRICS):
|
97 |
+
accs = np.array([v.get(metric, None) for k, v in data["results"].items() if benchmark in k])
|
98 |
+
if accs.size == 0 or any([acc is None for acc in accs]):
|
99 |
continue
|
100 |
mean_acc = np.mean(accs) * 100.0
|
101 |
+
eval_results.append(
|
102 |
+
EvalResult(
|
103 |
+
eval_name=result_key,
|
104 |
+
org=org,
|
105 |
+
model=model,
|
106 |
+
revision=model_sha,
|
107 |
+
results={benchmark: mean_acc},
|
108 |
+
precision=precision, # todo model_type=, weight_type=
|
109 |
+
)
|
110 |
+
)
|
111 |
|
112 |
return result_key, eval_results
|
113 |
|
114 |
|
115 |
+
def get_eval_results() -> List[EvalResult]:
|
116 |
json_filepaths = []
|
117 |
|
118 |
for root, dir, files in os.walk("eval-results"):
|
|
|
123 |
# Sort the files by date
|
124 |
# store results by precision maybe?
|
125 |
try:
|
126 |
+
files.sort(key=lambda x: dateutil.parser.parse(x.split("_", 1)[-1][:-5]))
|
127 |
except dateutil.parser._parser.ParserError:
|
128 |
files = [files[-1]]
|
129 |
|
130 |
+
# up_to_date = files[-1]
|
131 |
for file in files:
|
132 |
json_filepaths.append(os.path.join(root, file))
|
133 |
|
|
|
145 |
return eval_results
|
146 |
|
147 |
|
148 |
+
def get_eval_results_dicts() -> List[Dict]:
|
149 |
+
eval_results = get_eval_results()
|
150 |
|
151 |
return [e.to_dict() for e in eval_results]
|
src/{utils_display.py β display_models/utils.py}
RENAMED
@@ -1,19 +1,27 @@
|
|
|
|
1 |
from dataclasses import dataclass
|
2 |
|
3 |
-
|
4 |
-
|
|
|
|
|
|
|
|
|
|
|
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:
|
17 |
model_type_symbol = ColumnContent("T", "str", True)
|
18 |
model = ColumnContent("Model", "markdown", True)
|
19 |
average = ColumnContent("Average β¬οΈ", "number", True)
|
@@ -22,15 +30,19 @@ class AutoEvalColumn: # Auto evals column
|
|
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)
|
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(
|
|
|
|
|
|
|
31 |
|
32 |
@dataclass(frozen=True)
|
33 |
-
class EloEvalColumn:
|
34 |
model = ColumnContent("Model", "markdown", True)
|
35 |
gpt4 = ColumnContent("GPT-4 (all)", "number", True)
|
36 |
human_all = ColumnContent("Human (all)", "number", True)
|
@@ -39,7 +51,7 @@ class EloEvalColumn: # Elo evals column
|
|
39 |
|
40 |
|
41 |
@dataclass(frozen=True)
|
42 |
-
class EvalQueueColumn:
|
43 |
model = ColumnContent("model", "markdown", True)
|
44 |
revision = ColumnContent("revision", "str", True)
|
45 |
private = ColumnContent("private", "bool", True)
|
@@ -47,7 +59,13 @@ class EvalQueueColumn: # Queue column
|
|
47 |
weight_type = ColumnContent("weight_type", "str", "Original")
|
48 |
status = ColumnContent("status", "str", True)
|
49 |
|
50 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
|
52 |
|
53 |
KOALA_LINK = "https://huggingface.co/TheBloke/koala-13B-HF"
|
@@ -84,16 +102,45 @@ def make_clickable_model(model_name):
|
|
84 |
link = KOALA_LINK
|
85 |
elif model_name == "oasst-12b":
|
86 |
link = OASST_LINK
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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>"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import os
|
2 |
from dataclasses import dataclass
|
3 |
|
4 |
+
from huggingface_hub import HfApi
|
5 |
+
|
6 |
+
API = HfApi()
|
7 |
+
|
8 |
+
|
9 |
+
# These classes are for user facing column names, to avoid having to change them
|
10 |
+
# all around the code when a modif is needed
|
11 |
@dataclass
|
12 |
class ColumnContent:
|
13 |
name: str
|
14 |
+
type: str
|
15 |
+
displayed_by_default: bool
|
16 |
hidden: bool = False
|
17 |
|
18 |
+
|
19 |
def fields(raw_class):
|
20 |
return [v for k, v in raw_class.__dict__.items() if k[:2] != "__" and k[-2:] != "__"]
|
21 |
|
22 |
+
|
23 |
@dataclass(frozen=True)
|
24 |
+
class AutoEvalColumn: # Auto evals column
|
25 |
model_type_symbol = ColumnContent("T", "str", True)
|
26 |
model = ColumnContent("Model", "markdown", True)
|
27 |
average = ColumnContent("Average β¬οΈ", "number", True)
|
|
|
30 |
mmlu = ColumnContent("MMLU", "number", True)
|
31 |
truthfulqa = ColumnContent("TruthfulQA", "number", True)
|
32 |
model_type = ColumnContent("Type", "str", False)
|
33 |
+
precision = ColumnContent("Precision", "str", False) # , True)
|
34 |
license = ColumnContent("Hub License", "str", False)
|
35 |
params = ColumnContent("#Params (B)", "number", False)
|
36 |
likes = ColumnContent("Hub β€οΈ", "number", False)
|
37 |
+
still_on_hub = ColumnContent("Available on the hub", "bool", False)
|
38 |
revision = ColumnContent("Model sha", "str", False, False)
|
39 |
+
dummy = ColumnContent(
|
40 |
+
"model_name_for_query", "str", True
|
41 |
+
) # dummy col to implement search bar (hidden by custom CSS)
|
42 |
+
|
43 |
|
44 |
@dataclass(frozen=True)
|
45 |
+
class EloEvalColumn: # Elo evals column
|
46 |
model = ColumnContent("Model", "markdown", True)
|
47 |
gpt4 = ColumnContent("GPT-4 (all)", "number", True)
|
48 |
human_all = ColumnContent("Human (all)", "number", True)
|
|
|
51 |
|
52 |
|
53 |
@dataclass(frozen=True)
|
54 |
+
class EvalQueueColumn: # Queue column
|
55 |
model = ColumnContent("model", "markdown", True)
|
56 |
revision = ColumnContent("revision", "str", True)
|
57 |
private = ColumnContent("private", "bool", True)
|
|
|
59 |
weight_type = ColumnContent("weight_type", "str", "Original")
|
60 |
status = ColumnContent("status", "str", True)
|
61 |
|
62 |
+
|
63 |
+
LLAMAS = [
|
64 |
+
"huggingface/llama-7b",
|
65 |
+
"huggingface/llama-13b",
|
66 |
+
"huggingface/llama-30b",
|
67 |
+
"huggingface/llama-65b",
|
68 |
+
]
|
69 |
|
70 |
|
71 |
KOALA_LINK = "https://huggingface.co/TheBloke/koala-13B-HF"
|
|
|
102 |
link = KOALA_LINK
|
103 |
elif model_name == "oasst-12b":
|
104 |
link = OASST_LINK
|
105 |
+
|
106 |
+
details_model_name = model_name.replace("/", "__")
|
107 |
+
details_link = f"https://huggingface.co/datasets/open-llm-leaderboard/details_{details_model_name}"
|
108 |
+
|
109 |
+
if not bool(os.getenv("DEBUG", "False")):
|
110 |
+
# We only add these checks when not debugging, as they are extremely slow
|
111 |
+
print(f"details_link: {details_link}")
|
112 |
+
try:
|
113 |
+
check_path = list(
|
114 |
+
API.list_files_info(
|
115 |
+
repo_id=f"open-llm-leaderboard/details_{details_model_name}",
|
116 |
+
paths="README.md",
|
117 |
+
repo_type="dataset",
|
118 |
+
)
|
119 |
+
)
|
120 |
+
print(f"check_path: {check_path}")
|
121 |
+
except Exception as err:
|
122 |
+
# No details repo for this model
|
123 |
+
print(f"No details repo for this model: {err}")
|
124 |
+
return model_hyperlink(link, model_name)
|
125 |
+
|
126 |
+
return model_hyperlink(link, model_name) + " " + model_hyperlink(details_link, "π")
|
127 |
+
|
128 |
|
129 |
def styled_error(error):
|
130 |
return f"<p style='color: red; font-size: 20px; text-align: center;'>{error}</p>"
|
131 |
|
132 |
+
|
133 |
def styled_warning(warn):
|
134 |
return f"<p style='color: orange; font-size: 20px; text-align: center;'>{warn}</p>"
|
135 |
|
136 |
+
|
137 |
def styled_message(message):
|
138 |
+
return f"<p style='color: green; font-size: 20px; text-align: center;'>{message}</p>"
|
139 |
+
|
140 |
+
|
141 |
+
def has_no_nan_values(df, columns):
|
142 |
+
return df[columns].notna().all(axis=1)
|
143 |
+
|
144 |
+
|
145 |
+
def has_nan_values(df, columns):
|
146 |
+
return df[columns].isna().any(axis=1)
|
src/init.py
DELETED
@@ -1,58 +0,0 @@
|
|
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/load_from_hub.py
ADDED
@@ -0,0 +1,151 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import json
|
2 |
+
import os
|
3 |
+
|
4 |
+
import pandas as pd
|
5 |
+
from huggingface_hub import Repository
|
6 |
+
from transformers import AutoConfig
|
7 |
+
from collections import defaultdict
|
8 |
+
|
9 |
+
from src.assets.hardcoded_evals import baseline, gpt4_values, gpt35_values
|
10 |
+
from src.display_models.get_model_metadata import apply_metadata
|
11 |
+
from src.display_models.read_results import get_eval_results_dicts, make_clickable_model
|
12 |
+
from src.display_models.utils import AutoEvalColumn, EvalQueueColumn, has_no_nan_values
|
13 |
+
|
14 |
+
IS_PUBLIC = bool(os.environ.get("IS_PUBLIC", True))
|
15 |
+
|
16 |
+
|
17 |
+
def get_all_requested_models(requested_models_dir: str) -> set[str]:
|
18 |
+
depth = 1
|
19 |
+
file_names = []
|
20 |
+
users_to_submission_dates = defaultdict(list)
|
21 |
+
|
22 |
+
for root, _, files in os.walk(requested_models_dir):
|
23 |
+
current_depth = root.count(os.sep) - requested_models_dir.count(os.sep)
|
24 |
+
if current_depth == depth:
|
25 |
+
for file in files:
|
26 |
+
if not file.endswith(".json"): continue
|
27 |
+
with open(os.path.join(root, file), "r") as f:
|
28 |
+
info = json.load(f)
|
29 |
+
file_names.append(f"{info['model']}_{info['revision']}_{info['precision']}")
|
30 |
+
|
31 |
+
# Select organisation
|
32 |
+
if info["model"].count("/") == 0 or "submitted_time" not in info:
|
33 |
+
continue
|
34 |
+
organisation, _ = info["model"].split("/")
|
35 |
+
users_to_submission_dates[organisation].append(info["submitted_time"])
|
36 |
+
|
37 |
+
return set(file_names), users_to_submission_dates
|
38 |
+
|
39 |
+
|
40 |
+
def load_all_info_from_hub(QUEUE_REPO: str, RESULTS_REPO: str, QUEUE_PATH: str, RESULTS_PATH: str) -> list[Repository]:
|
41 |
+
eval_queue_repo = None
|
42 |
+
eval_results_repo = None
|
43 |
+
requested_models = None
|
44 |
+
|
45 |
+
print("Pulling evaluation requests and results.")
|
46 |
+
|
47 |
+
eval_queue_repo = Repository(
|
48 |
+
local_dir=QUEUE_PATH,
|
49 |
+
clone_from=QUEUE_REPO,
|
50 |
+
repo_type="dataset",
|
51 |
+
)
|
52 |
+
eval_queue_repo.git_pull()
|
53 |
+
|
54 |
+
eval_results_repo = Repository(
|
55 |
+
local_dir=RESULTS_PATH,
|
56 |
+
clone_from=RESULTS_REPO,
|
57 |
+
repo_type="dataset",
|
58 |
+
)
|
59 |
+
eval_results_repo.git_pull()
|
60 |
+
|
61 |
+
requested_models, users_to_submission_dates = get_all_requested_models("eval-queue")
|
62 |
+
|
63 |
+
return eval_queue_repo, requested_models, eval_results_repo, users_to_submission_dates
|
64 |
+
|
65 |
+
|
66 |
+
def get_leaderboard_df(
|
67 |
+
eval_results: Repository, eval_results_private: Repository, cols: list, benchmark_cols: list
|
68 |
+
) -> pd.DataFrame:
|
69 |
+
if eval_results:
|
70 |
+
print("Pulling evaluation results for the leaderboard.")
|
71 |
+
eval_results.git_pull()
|
72 |
+
if eval_results_private:
|
73 |
+
print("Pulling evaluation results for the leaderboard.")
|
74 |
+
eval_results_private.git_pull()
|
75 |
+
|
76 |
+
all_data = get_eval_results_dicts()
|
77 |
+
|
78 |
+
if not IS_PUBLIC:
|
79 |
+
all_data.append(gpt4_values)
|
80 |
+
all_data.append(gpt35_values)
|
81 |
+
|
82 |
+
all_data.append(baseline)
|
83 |
+
apply_metadata(all_data) # Populate model type based on known hardcoded values in `metadata.py`
|
84 |
+
|
85 |
+
df = pd.DataFrame.from_records(all_data)
|
86 |
+
df = df.sort_values(by=[AutoEvalColumn.average.name], ascending=False)
|
87 |
+
df = df[cols].round(decimals=2)
|
88 |
+
|
89 |
+
# filter out if any of the benchmarks have not been produced
|
90 |
+
df = df[has_no_nan_values(df, benchmark_cols)]
|
91 |
+
return df
|
92 |
+
|
93 |
+
|
94 |
+
def get_evaluation_queue_df(
|
95 |
+
eval_queue: Repository, eval_queue_private: Repository, save_path: str, cols: list
|
96 |
+
) -> list[pd.DataFrame]:
|
97 |
+
if eval_queue:
|
98 |
+
print("Pulling changes for the evaluation queue.")
|
99 |
+
eval_queue.git_pull()
|
100 |
+
if eval_queue_private:
|
101 |
+
print("Pulling changes for the evaluation queue.")
|
102 |
+
eval_queue_private.git_pull()
|
103 |
+
|
104 |
+
entries = [entry for entry in os.listdir(save_path) if not entry.startswith(".")]
|
105 |
+
all_evals = []
|
106 |
+
|
107 |
+
for entry in entries:
|
108 |
+
if ".json" in entry:
|
109 |
+
file_path = os.path.join(save_path, entry)
|
110 |
+
with open(file_path) as fp:
|
111 |
+
data = json.load(fp)
|
112 |
+
|
113 |
+
data[EvalQueueColumn.model.name] = make_clickable_model(data["model"])
|
114 |
+
data[EvalQueueColumn.revision.name] = data.get("revision", "main")
|
115 |
+
|
116 |
+
all_evals.append(data)
|
117 |
+
elif ".md" not in entry:
|
118 |
+
# this is a folder
|
119 |
+
sub_entries = [e for e in os.listdir(f"{save_path}/{entry}") if not e.startswith(".")]
|
120 |
+
for sub_entry in sub_entries:
|
121 |
+
file_path = os.path.join(save_path, entry, sub_entry)
|
122 |
+
with open(file_path) as fp:
|
123 |
+
data = json.load(fp)
|
124 |
+
|
125 |
+
data[EvalQueueColumn.model.name] = make_clickable_model(data["model"])
|
126 |
+
data[EvalQueueColumn.revision.name] = data.get("revision", "main")
|
127 |
+
all_evals.append(data)
|
128 |
+
|
129 |
+
pending_list = [e for e in all_evals if e["status"] in ["PENDING", "RERUN"]]
|
130 |
+
running_list = [e for e in all_evals if e["status"] == "RUNNING"]
|
131 |
+
finished_list = [e for e in all_evals if e["status"].startswith("FINISHED")]
|
132 |
+
df_pending = pd.DataFrame.from_records(pending_list, columns=cols)
|
133 |
+
df_running = pd.DataFrame.from_records(running_list, columns=cols)
|
134 |
+
df_finished = pd.DataFrame.from_records(finished_list, columns=cols)
|
135 |
+
return df_finished[cols], df_running[cols], df_pending[cols]
|
136 |
+
|
137 |
+
|
138 |
+
def is_model_on_hub(model_name: str, revision: str) -> bool:
|
139 |
+
try:
|
140 |
+
AutoConfig.from_pretrained(model_name, revision=revision, trust_remote_code=False)
|
141 |
+
return True, None
|
142 |
+
|
143 |
+
except ValueError:
|
144 |
+
return (
|
145 |
+
False,
|
146 |
+
"needs to be launched with `trust_remote_code=True`. For safety reason, we do not allow these models to be automatically submitted to the leaderboard.",
|
147 |
+
)
|
148 |
+
|
149 |
+
except Exception as e:
|
150 |
+
print(f"Could not get the model config from the hub.: {e}")
|
151 |
+
return False, "was not found on hub!"
|
src/rate_limiting.py
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
from datetime import datetime, timezone, timedelta
|
3 |
+
|
4 |
+
|
5 |
+
def user_submission_permission(submission_name, users_to_submission_dates, rate_limit_period):
|
6 |
+
org_or_user, _ = submission_name.split("/")
|
7 |
+
if org_or_user not in users_to_submission_dates:
|
8 |
+
return 0
|
9 |
+
submission_dates = sorted(users_to_submission_dates[org_or_user])
|
10 |
+
|
11 |
+
time_limit = (datetime.now(timezone.utc) - timedelta(days=rate_limit_period)).strftime("%Y-%m-%dT%H:%M:%SZ")
|
12 |
+
submissions_after_timelimit = [d for d in submission_dates if d > time_limit]
|
13 |
+
|
14 |
+
return len(submissions_after_timelimit)
|
15 |
+
|
16 |
+
|