Clémentine
		
	commited on
		
		
					Commit 
							
							·
						
						b98f07f
	
1
								Parent(s):
							
							bb46151
								
Cleaned and refactored the code, improved filtering, added selection of deleted models
Browse files- .pre-commit-config.yaml +53 -0
- Makefile +13 -0
- app.py +243 -240
- pyproject.toml +13 -0
- src/assets/css_html_js.py +4 -4
- src/assets/hardcoded_evals.py +10 -11
- src/assets/text_content.py +15 -15
- src/auto_leaderboard/model_metadata_type.py +0 -551
- src/{auto_leaderboard → display_models}/get_model_metadata.py +40 -19
- src/{auto_leaderboard → display_models}/model_metadata_flags.py +2 -2
- src/display_models/model_metadata_type.py +550 -0
- src/{auto_leaderboard/load_results.py → display_models/read_results.py} +24 -14
- src/{utils_display.py → display_models/utils.py} +44 -16
- src/init.py +0 -51
- src/load_from_hub.py +139 -0
    	
        .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 .
         | 
    	
        app.py
    CHANGED
    
    | @@ -2,23 +2,32 @@ 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, DO_NOT_SUBMIT_MODELS
         | 
| 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 +46,14 @@ 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="HuggingFaceH4/open_llm_leaderboard", token=H4_TOKEN
         | 
| 45 | 
            -
                )
         | 
| 46 |  | 
| 47 | 
            -
            eval_queue, requested_models, eval_results = load_all_info_from_hub(QUEUE_REPO, RESULTS_REPO, EVAL_REQUESTS_PATH, EVAL_RESULTS_PATH)
         | 
| 48 | 
            -
             | 
| 49 | 
            -
            if not IS_PUBLIC:
         | 
| 50 | 
            -
                eval_queue_private, requested_models_private, eval_results_private = load_all_info_from_hub(PRIVATE_QUEUE_REPO, PRIVATE_RESULTS_REPO, EVAL_REQUESTS_PATH_PRIVATE, EVAL_RESULTS_PATH_PRIVATE)
         | 
| 51 | 
            -
            else:
         | 
| 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 +66,41 @@ 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()
         | 
| 86 | 
            -
             | 
| 87 | 
            -
                if not IS_PUBLIC:
         | 
| 88 | 
            -
                    all_data.append(gpt4_values)
         | 
| 89 | 
            -
                    all_data.append(gpt35_values)
         | 
| 90 | 
            -
             | 
| 91 | 
            -
                all_data.append(baseline)
         | 
| 92 | 
            -
                apply_metadata(all_data)  # Populate model type based on known hardcoded values in `metadata.py`
         | 
| 93 | 
            -
             | 
| 94 | 
            -
                df = pd.DataFrame.from_records(all_data)
         | 
| 95 | 
            -
                df = df.sort_values(by=[AutoEvalColumn.average.name], ascending=False)
         | 
| 96 | 
            -
                df = df[COLS].round(decimals=2)
         | 
| 97 | 
            -
             | 
| 98 | 
            -
                # filter out if any of the benchmarks have not been produced
         | 
| 99 | 
            -
                df = df[has_no_nan_values(df, BENCHMARK_COLS)]
         | 
| 100 | 
            -
                return df
         | 
| 101 |  | 
|  | |
|  | |
|  | |
|  | |
| 102 |  | 
| 103 | 
            -
             | 
| 104 | 
            -
                 | 
| 105 | 
            -
                     | 
| 106 | 
            -
                     | 
| 107 | 
            -
             | 
| 108 | 
            -
                     | 
| 109 | 
            -
             | 
|  | |
|  | |
| 110 |  | 
| 111 | 
            -
             | 
| 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,
         | 
| @@ -196,13 +124,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 = {
         | 
| @@ -233,7 +160,7 @@ def add_new_eval( | |
| 233 |  | 
| 234 | 
             
                # Check for duplicate submission
         | 
| 235 | 
             
                if out_path.split("eval-queue/")[1].lower() in requested_models:
         | 
| 236 | 
            -
                    return styled_warning("This model has been already submitted.") | 
| 237 |  | 
| 238 | 
             
                with open(out_path, "w") as f:
         | 
| 239 | 
             
                    f.write(json.dumps(eval_entry))
         | 
| @@ -242,7 +169,6 @@ def add_new_eval( | |
| 242 | 
             
                    path_or_fileobj=out_path,
         | 
| 243 | 
             
                    path_in_repo=out_path.split("eval-queue/")[1],
         | 
| 244 | 
             
                    repo_id=QUEUE_REPO,
         | 
| 245 | 
            -
                    token=H4_TOKEN,
         | 
| 246 | 
             
                    repo_type="dataset",
         | 
| 247 | 
             
                    commit_message=f"Add {model} to eval queue",
         | 
| 248 | 
             
                )
         | 
| @@ -250,16 +176,19 @@ def add_new_eval( | |
| 250 | 
             
                # remove the local file
         | 
| 251 | 
             
                os.remove(out_path)
         | 
| 252 |  | 
| 253 | 
            -
                return styled_message( | 
|  | |
|  | |
| 254 |  | 
| 255 |  | 
| 256 | 
            -
             | 
| 257 | 
            -
             | 
|  | |
| 258 | 
             
                (
         | 
| 259 | 
             
                    finished_eval_queue_df,
         | 
| 260 | 
             
                    running_eval_queue_df,
         | 
| 261 | 
             
                    pending_eval_queue_df,
         | 
| 262 | 
            -
                ) = get_evaluation_queue_df()
         | 
| 263 | 
             
                return (
         | 
| 264 | 
             
                    leaderboard_df,
         | 
| 265 | 
             
                    finished_eval_queue_df,
         | 
| @@ -268,74 +197,72 @@ def refresh(): | |
| 268 | 
             
                )
         | 
| 269 |  | 
| 270 |  | 
| 271 | 
            -
            def  | 
| 272 | 
            -
                 | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 273 | 
             
                    filtered_df = df[
         | 
| 274 | 
             
                        (df[AutoEvalColumn.dummy.name].str.contains(query, case=False))
         | 
| 275 | 
             
                        | (df[AutoEvalColumn.model_type.name].str.contains(query, case=False))
         | 
| 276 | 
            -
             | 
| 277 | 
             
                else:
         | 
| 278 | 
             
                    filtered_df = df[(df[AutoEvalColumn.dummy.name].str.contains(query, case=False))]
         | 
| 279 | 
            -
                return filtered_df[ | 
| 280 |  | 
| 281 |  | 
| 282 | 
            -
            def select_columns(df, columns):
         | 
| 283 | 
            -
                always_here_cols = [ | 
| 284 | 
            -
             | 
| 285 | 
            -
             | 
|  | |
|  | |
|  | |
|  | |
|  | |
| 286 | 
             
                return filtered_df
         | 
| 287 |  | 
| 288 | 
            -
            #TODO allow this to filter by values of any columns
         | 
| 289 | 
            -
            def filter_items(df, leaderboard_table, query):
         | 
| 290 | 
            -
                if query == "all":
         | 
| 291 | 
            -
                    return df[leaderboard_table.columns]
         | 
| 292 | 
            -
                else:
         | 
| 293 | 
            -
                    query = query[0] #take only the emoji character
         | 
| 294 | 
            -
                if AutoEvalColumn.model_type_symbol.name in leaderboard_table.columns:
         | 
| 295 | 
            -
                    filtered_df = df[(df[AutoEvalColumn.model_type_symbol.name] == query)]
         | 
| 296 | 
            -
                else:
         | 
| 297 | 
            -
                    return filtered_df[leaderboard_table.columns]
         | 
| 298 | 
            -
                return filtered_df[leaderboard_table.columns]
         | 
| 299 | 
            -
             | 
| 300 | 
            -
            def filter_items_size(df, leaderboard_table, query):
         | 
| 301 | 
            -
                numeric_intervals = {
         | 
| 302 | 
            -
                    "all": None,
         | 
| 303 | 
            -
                    "< 1B": (0, 1),
         | 
| 304 | 
            -
                    "~3B": (1, 5),
         | 
| 305 | 
            -
                    "~7B": (6, 11),
         | 
| 306 | 
            -
                    "~13B": (12, 15),
         | 
| 307 | 
            -
                    "~35B": (16, 55),
         | 
| 308 | 
            -
                    "60B+": (55, 1000)
         | 
| 309 | 
            -
                }
         | 
| 310 |  | 
| 311 | 
            -
             | 
| 312 | 
            -
             | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 313 |  | 
| 314 | 
            -
                 | 
| 315 | 
            -
             | 
| 316 | 
            -
                if AutoEvalColumn.params.name in leaderboard_table.columns:
         | 
| 317 | 
            -
                    params_column = pd.to_numeric(df[AutoEvalColumn.params.name], errors='coerce')
         | 
| 318 | 
            -
                    filtered_df = df[params_column.between(*numeric_interval)]
         | 
| 319 | 
            -
                else:
         | 
| 320 | 
            -
                    return filtered_df[leaderboard_table.columns]
         | 
| 321 | 
            -
                return filtered_df[leaderboard_table.columns]
         | 
| 322 | 
            -
             | 
| 323 | 
            -
            def change_tab(query_param):
         | 
| 324 | 
            -
                query_param = query_param.replace("'", '"')
         | 
| 325 | 
            -
                query_param = json.loads(query_param)
         | 
| 326 | 
            -
             | 
| 327 | 
            -
                if (
         | 
| 328 | 
            -
                    isinstance(query_param, dict)
         | 
| 329 | 
            -
                    and "tab" in query_param
         | 
| 330 | 
            -
                    and query_param["tab"] == "evaluation"
         | 
| 331 | 
            -
                ):
         | 
| 332 | 
            -
                    return gr.Tabs.update(selected=1)
         | 
| 333 | 
            -
                else:
         | 
| 334 | 
            -
                    return gr.Tabs.update(selected=0)
         | 
| 335 | 
            -
             | 
| 336 | 
            -
            def update_filter_type(input_type, shown_columns):
         | 
| 337 | 
            -
                shown_columns.append(AutoEvalColumn.params.name)
         | 
| 338 | 
            -
                return gr.update(visible=(input_type == 'types')), gr.update(visible=(input_type == 'sizes')), shown_columns
         | 
| 339 |  | 
| 340 |  | 
| 341 | 
             
            demo = gr.Blocks(css=custom_css)
         | 
| @@ -346,13 +273,39 @@ with demo: | |
| 346 | 
             
                with gr.Tabs(elem_classes="tab-buttons") as tabs:
         | 
| 347 | 
             
                    with gr.TabItem("🏅 LLM Benchmark", elem_id="llm-benchmark-tab-table", id=0):
         | 
| 348 | 
             
                        with gr.Row():
         | 
| 349 | 
            -
                             | 
| 350 | 
            -
                                 | 
| 351 | 
            -
             | 
| 352 | 
            -
             | 
| 353 | 
            -
             | 
| 354 | 
            -
             | 
| 355 | 
            -
             | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 356 | 
             
                            with gr.Column(min_width=320):
         | 
| 357 | 
             
                                search_bar = gr.Textbox(
         | 
| 358 | 
             
                                    placeholder="🔍 Search for your model and press ENTER...",
         | 
| @@ -360,46 +313,47 @@ with demo: | |
| 360 | 
             
                                    elem_id="search-bar",
         | 
| 361 | 
             
                                )
         | 
| 362 | 
             
                                with gr.Box(elem_id="box-filter"):
         | 
| 363 | 
            -
                                     | 
| 364 | 
            -
                                            label="⏚ Filter model",
         | 
| 365 | 
            -
                                            choices=["types", "sizes"], value="types",
         | 
| 366 | 
            -
                                            interactive=True,
         | 
| 367 | 
            -
                                            elem_id="filter_type"
         | 
| 368 | 
            -
                                    )
         | 
| 369 | 
            -
                                    filter_columns = gr.Radio(
         | 
| 370 | 
             
                                        label="⏚ Filter model types",
         | 
| 371 | 
            -
                                         | 
| 372 | 
            -
             | 
| 373 | 
            -
                                            "all", 
         | 
| 374 | 
             
                                            ModelType.PT.to_str(),
         | 
| 375 | 
             
                                            ModelType.FT.to_str(),
         | 
| 376 | 
             
                                            ModelType.IFT.to_str(),
         | 
| 377 | 
            -
                                            ModelType.RL.to_str(), | 
| 378 | 
             
                                        ],
         | 
| 379 | 
             
                                        value="all",
         | 
| 380 | 
            -
                                         | 
|  | |
| 381 | 
             
                                    )
         | 
| 382 | 
             
                                    filter_columns_size = gr.Radio(
         | 
| 383 | 
             
                                        label="⏚ Filter model sizes",
         | 
| 384 | 
            -
                                         | 
| 385 | 
            -
                                        choices = [
         | 
| 386 | 
             
                                            "all",
         | 
| 387 | 
             
                                            "< 1B",
         | 
| 388 | 
             
                                            "~3B",
         | 
| 389 | 
             
                                            "~7B",
         | 
| 390 | 
             
                                            "~13B",
         | 
| 391 | 
             
                                            "~35B",
         | 
| 392 | 
            -
                                            "60B+"
         | 
| 393 | 
             
                                        ],
         | 
| 394 | 
             
                                        value="all",
         | 
| 395 | 
            -
                                        visible=False,
         | 
| 396 | 
             
                                        interactive=True,
         | 
| 397 | 
            -
                                        elem_id="filter-columns-size"
         | 
| 398 | 
             
                                    )
         | 
| 399 | 
            -
             | 
| 400 | 
             
                        leaderboard_table = gr.components.Dataframe(
         | 
| 401 | 
            -
                            value=leaderboard_df[ | 
| 402 | 
            -
             | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 403 | 
             
                            datatype=TYPES,
         | 
| 404 | 
             
                            max_rows=None,
         | 
| 405 | 
             
                            elem_id="leaderboard-table",
         | 
| @@ -417,14 +371,55 @@ with demo: | |
| 417 | 
             
                        )
         | 
| 418 | 
             
                        search_bar.submit(
         | 
| 419 | 
             
                            search_table,
         | 
| 420 | 
            -
                            [ | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 421 | 
             
                            leaderboard_table,
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 422 | 
             
                        )
         | 
| 423 | 
            -
                        
         | 
| 424 | 
            -
                        filter_type.change(update_filter_type,inputs=[filter_type, shown_columns],outputs=[filter_columns, filter_columns_size, shown_columns],queue=False).then(select_columns, [hidden_leaderboard_table_for_search, shown_columns], leaderboard_table, queue=False)
         | 
| 425 | 
            -
                        shown_columns.change(select_columns, [hidden_leaderboard_table_for_search, shown_columns], leaderboard_table, queue=False)
         | 
| 426 | 
            -
                        filter_columns.change(filter_items, [hidden_leaderboard_table_for_search, leaderboard_table, filter_columns], leaderboard_table, queue=False)
         | 
| 427 | 
            -
                        filter_columns_size.change(filter_items_size, [hidden_leaderboard_table_for_search, leaderboard_table, filter_columns_size], leaderboard_table, queue=False)
         | 
| 428 | 
             
                    with gr.TabItem("📝 About", elem_id="llm-benchmark-tab-table", id=2):
         | 
| 429 | 
             
                        gr.Markdown(LLM_BENCHMARKS_TEXT, elem_classes="markdown-text")
         | 
| 430 |  | 
| @@ -434,7 +429,10 @@ with demo: | |
| 434 | 
             
                                gr.Markdown(EVALUATION_QUEUE_TEXT, elem_classes="markdown-text")
         | 
| 435 |  | 
| 436 | 
             
                            with gr.Column():
         | 
| 437 | 
            -
                                with gr.Accordion( | 
|  | |
|  | |
|  | |
| 438 | 
             
                                    with gr.Row():
         | 
| 439 | 
             
                                        finished_eval_table = gr.components.Dataframe(
         | 
| 440 | 
             
                                            value=finished_eval_queue_df,
         | 
| @@ -442,7 +440,10 @@ with demo: | |
| 442 | 
             
                                            datatype=EVAL_TYPES,
         | 
| 443 | 
             
                                            max_rows=5,
         | 
| 444 | 
             
                                        )
         | 
| 445 | 
            -
                                with gr.Accordion( | 
|  | |
|  | |
|  | |
| 446 | 
             
                                    with gr.Row():
         | 
| 447 | 
             
                                        running_eval_table = gr.components.Dataframe(
         | 
| 448 | 
             
                                            value=running_eval_queue_df,
         | 
| @@ -451,7 +452,10 @@ with demo: | |
| 451 | 
             
                                            max_rows=5,
         | 
| 452 | 
             
                                        )
         | 
| 453 |  | 
| 454 | 
            -
                                with gr.Accordion( | 
|  | |
|  | |
|  | |
| 455 | 
             
                                    with gr.Row():
         | 
| 456 | 
             
                                        pending_eval_table = gr.components.Dataframe(
         | 
| 457 | 
             
                                            value=pending_eval_queue_df,
         | 
| @@ -465,20 +469,16 @@ with demo: | |
| 465 | 
             
                        with gr.Row():
         | 
| 466 | 
             
                            with gr.Column():
         | 
| 467 | 
             
                                model_name_textbox = gr.Textbox(label="Model name")
         | 
| 468 | 
            -
                                revision_name_textbox = gr.Textbox(
         | 
| 469 | 
            -
             | 
| 470 | 
            -
                                )
         | 
| 471 | 
            -
                                private = gr.Checkbox(
         | 
| 472 | 
            -
                                    False, label="Private", visible=not IS_PUBLIC
         | 
| 473 | 
            -
                                )
         | 
| 474 | 
             
                                model_type = gr.Dropdown(
         | 
| 475 | 
            -
                                    choices=[ | 
| 476 | 
             
                                        ModelType.PT.to_str(" : "),
         | 
| 477 | 
             
                                        ModelType.FT.to_str(" : "),
         | 
| 478 | 
             
                                        ModelType.IFT.to_str(" : "),
         | 
| 479 | 
            -
                                        ModelType.RL.to_str(" : "), | 
| 480 | 
            -
                                    ], | 
| 481 | 
            -
                                    label="Model type", | 
| 482 | 
             
                                    multiselect=False,
         | 
| 483 | 
             
                                    value=None,
         | 
| 484 | 
             
                                    interactive=True,
         | 
| @@ -486,22 +486,25 @@ with demo: | |
| 486 |  | 
| 487 | 
             
                            with gr.Column():
         | 
| 488 | 
             
                                precision = gr.Dropdown(
         | 
| 489 | 
            -
                                    choices=[ | 
| 490 | 
            -
             | 
|  | |
|  | |
|  | |
|  | |
|  | |
| 491 | 
             
                                    multiselect=False,
         | 
| 492 | 
             
                                    value="float16",
         | 
| 493 | 
             
                                    interactive=True,
         | 
| 494 | 
             
                                )
         | 
| 495 | 
             
                                weight_type = gr.Dropdown(
         | 
| 496 | 
             
                                    choices=["Original", "Delta", "Adapter"],
         | 
| 497 | 
            -
                                    label="Weights type", | 
| 498 | 
             
                                    multiselect=False,
         | 
| 499 | 
             
                                    value="Original",
         | 
| 500 | 
             
                                    interactive=True,
         | 
| 501 | 
             
                                )
         | 
| 502 | 
            -
                                base_model_name_textbox = gr.Textbox(
         | 
| 503 | 
            -
                                    label="Base model (for delta or adapter weights)"
         | 
| 504 | 
            -
                                )
         | 
| 505 |  | 
| 506 | 
             
                        submit_button = gr.Button("Submit Eval")
         | 
| 507 | 
             
                        submission_result = gr.Markdown()
         | 
| @@ -514,7 +517,7 @@ with demo: | |
| 514 | 
             
                                precision,
         | 
| 515 | 
             
                                private,
         | 
| 516 | 
             
                                weight_type,
         | 
| 517 | 
            -
                                model_type
         | 
| 518 | 
             
                            ],
         | 
| 519 | 
             
                            submission_result,
         | 
| 520 | 
             
                        )
         | 
| @@ -551,4 +554,4 @@ with demo: | |
| 551 | 
             
            scheduler = BackgroundScheduler()
         | 
| 552 | 
             
            scheduler.add_job(restart_space, "interval", seconds=3600)
         | 
| 553 | 
             
            scheduler.start()
         | 
| 554 | 
            -
            demo.queue(concurrency_count=40).launch()
         | 
|  | |
| 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 | 
            +
             | 
| 30 | 
            +
            pd.set_option("display.precision", 1)
         | 
| 31 |  | 
| 32 | 
             
            # clone / pull the lmeh eval data
         | 
| 33 | 
             
            H4_TOKEN = os.environ.get("H4_TOKEN", None)
         | 
|  | |
| 46 | 
             
            EVAL_REQUESTS_PATH_PRIVATE = "eval-queue-private"
         | 
| 47 | 
             
            EVAL_RESULTS_PATH_PRIVATE = "eval-results-private"
         | 
| 48 |  | 
| 49 | 
            +
            api = HfApi(token=H4_TOKEN)
         | 
| 50 | 
            +
             | 
| 51 |  | 
| 52 | 
             
            def restart_space():
         | 
| 53 | 
            +
                api.restart_space(repo_id="HuggingFaceH4/open_llm_leaderboard", token=H4_TOKEN)
         | 
|  | |
|  | |
| 54 |  | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 55 |  | 
| 56 | 
            +
            # Column selection
         | 
| 57 | 
             
            COLS = [c.name for c in fields(AutoEvalColumn) if not c.hidden]
         | 
| 58 | 
             
            TYPES = [c.type for c in fields(AutoEvalColumn) if not c.hidden]
         | 
| 59 | 
             
            COLS_LITE = [c.name for c in fields(AutoEvalColumn) if c.displayed_by_default and not c.hidden]
         | 
|  | |
| 66 | 
             
            EVAL_COLS = [c.name for c in fields(EvalQueueColumn)]
         | 
| 67 | 
             
            EVAL_TYPES = [c.type for c in fields(EvalQueueColumn)]
         | 
| 68 |  | 
| 69 | 
            +
            BENCHMARK_COLS = [
         | 
| 70 | 
            +
                c.name
         | 
| 71 | 
            +
                for c in [
         | 
| 72 | 
            +
                    AutoEvalColumn.arc,
         | 
| 73 | 
            +
                    AutoEvalColumn.hellaswag,
         | 
| 74 | 
            +
                    AutoEvalColumn.mmlu,
         | 
| 75 | 
            +
                    AutoEvalColumn.truthfulqa,
         | 
| 76 | 
            +
                ]
         | 
| 77 | 
            +
            ]
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 78 |  | 
| 79 | 
            +
            ## LOAD INFO FROM HUB
         | 
| 80 | 
            +
            eval_queue, requested_models, eval_results = load_all_info_from_hub(
         | 
| 81 | 
            +
                QUEUE_REPO, RESULTS_REPO, EVAL_REQUESTS_PATH, EVAL_RESULTS_PATH
         | 
| 82 | 
            +
            )
         | 
| 83 |  | 
| 84 | 
            +
            if not IS_PUBLIC:
         | 
| 85 | 
            +
                (eval_queue_private, requested_models_private, eval_results_private,) = load_all_info_from_hub(
         | 
| 86 | 
            +
                    PRIVATE_QUEUE_REPO,
         | 
| 87 | 
            +
                    PRIVATE_RESULTS_REPO,
         | 
| 88 | 
            +
                    EVAL_REQUESTS_PATH_PRIVATE,
         | 
| 89 | 
            +
                    EVAL_RESULTS_PATH_PRIVATE,
         | 
| 90 | 
            +
                )
         | 
| 91 | 
            +
            else:
         | 
| 92 | 
            +
                eval_queue_private, eval_results_private = None, None
         | 
| 93 |  | 
| 94 | 
            +
            original_df = get_leaderboard_df(eval_results, eval_results_private, COLS, BENCHMARK_COLS)
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 95 | 
             
            leaderboard_df = original_df.copy()
         | 
| 96 | 
             
            (
         | 
| 97 | 
             
                finished_eval_queue_df,
         | 
| 98 | 
             
                running_eval_queue_df,
         | 
| 99 | 
             
                pending_eval_queue_df,
         | 
| 100 | 
            +
            ) = get_evaluation_queue_df(eval_queue, eval_queue_private, EVAL_REQUESTS_PATH, EVAL_COLS)
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 101 |  | 
| 102 |  | 
| 103 | 
            +
            ## INTERACTION FUNCTIONS
         | 
| 104 | 
             
            def add_new_eval(
         | 
| 105 | 
             
                model: str,
         | 
| 106 | 
             
                base_model: str,
         | 
|  | |
| 124 | 
             
                    base_model_on_hub, error = is_model_on_hub(base_model, revision)
         | 
| 125 | 
             
                    if not base_model_on_hub:
         | 
| 126 | 
             
                        return styled_error(f'Base model "{base_model}" {error}')
         | 
|  | |
| 127 |  | 
| 128 | 
             
                if not weight_type == "Adapter":
         | 
| 129 | 
             
                    model_on_hub, error = is_model_on_hub(model, revision)
         | 
| 130 | 
             
                    if not model_on_hub:
         | 
| 131 | 
             
                        return styled_error(f'Model "{model}" {error}')
         | 
| 132 | 
            +
             | 
| 133 | 
             
                print("adding new eval")
         | 
| 134 |  | 
| 135 | 
             
                eval_entry = {
         | 
|  | |
| 160 |  | 
| 161 | 
             
                # Check for duplicate submission
         | 
| 162 | 
             
                if out_path.split("eval-queue/")[1].lower() in requested_models:
         | 
| 163 | 
            +
                    return styled_warning("This model has been already submitted.")
         | 
| 164 |  | 
| 165 | 
             
                with open(out_path, "w") as f:
         | 
| 166 | 
             
                    f.write(json.dumps(eval_entry))
         | 
|  | |
| 169 | 
             
                    path_or_fileobj=out_path,
         | 
| 170 | 
             
                    path_in_repo=out_path.split("eval-queue/")[1],
         | 
| 171 | 
             
                    repo_id=QUEUE_REPO,
         | 
|  | |
| 172 | 
             
                    repo_type="dataset",
         | 
| 173 | 
             
                    commit_message=f"Add {model} to eval queue",
         | 
| 174 | 
             
                )
         | 
|  | |
| 176 | 
             
                # remove the local file
         | 
| 177 | 
             
                os.remove(out_path)
         | 
| 178 |  | 
| 179 | 
            +
                return styled_message(
         | 
| 180 | 
            +
                    "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."
         | 
| 181 | 
            +
                )
         | 
| 182 |  | 
| 183 |  | 
| 184 | 
            +
            # Basics
         | 
| 185 | 
            +
            def refresh() -> list[pd.DataFrame]:
         | 
| 186 | 
            +
                leaderboard_df = get_leaderboard_df(eval_results, eval_results_private, COLS, BENCHMARK_COLS)
         | 
| 187 | 
             
                (
         | 
| 188 | 
             
                    finished_eval_queue_df,
         | 
| 189 | 
             
                    running_eval_queue_df,
         | 
| 190 | 
             
                    pending_eval_queue_df,
         | 
| 191 | 
            +
                ) = get_evaluation_queue_df(eval_queue, eval_queue_private, EVAL_REQUESTS_PATH, COLS)
         | 
| 192 | 
             
                return (
         | 
| 193 | 
             
                    leaderboard_df,
         | 
| 194 | 
             
                    finished_eval_queue_df,
         | 
|  | |
| 197 | 
             
                )
         | 
| 198 |  | 
| 199 |  | 
| 200 | 
            +
            def change_tab(query_param: str):
         | 
| 201 | 
            +
                query_param = query_param.replace("'", '"')
         | 
| 202 | 
            +
                query_param = json.loads(query_param)
         | 
| 203 | 
            +
             | 
| 204 | 
            +
                if isinstance(query_param, dict) and "tab" in query_param and query_param["tab"] == "evaluation":
         | 
| 205 | 
            +
                    return gr.Tabs.update(selected=1)
         | 
| 206 | 
            +
                else:
         | 
| 207 | 
            +
                    return gr.Tabs.update(selected=0)
         | 
| 208 | 
            +
             | 
| 209 | 
            +
             | 
| 210 | 
            +
            # Searching and filtering
         | 
| 211 | 
            +
            def search_table(df: pd.DataFrame, current_columns_df: pd.DataFrame, query: str) -> pd.DataFrame:
         | 
| 212 | 
            +
                current_columns = current_columns_df.columns
         | 
| 213 | 
            +
                if AutoEvalColumn.model_type.name in current_columns:
         | 
| 214 | 
             
                    filtered_df = df[
         | 
| 215 | 
             
                        (df[AutoEvalColumn.dummy.name].str.contains(query, case=False))
         | 
| 216 | 
             
                        | (df[AutoEvalColumn.model_type.name].str.contains(query, case=False))
         | 
| 217 | 
            +
                    ]
         | 
| 218 | 
             
                else:
         | 
| 219 | 
             
                    filtered_df = df[(df[AutoEvalColumn.dummy.name].str.contains(query, case=False))]
         | 
| 220 | 
            +
                return filtered_df[current_columns]
         | 
| 221 |  | 
| 222 |  | 
| 223 | 
            +
            def select_columns(df: pd.DataFrame, columns: list) -> pd.DataFrame:
         | 
| 224 | 
            +
                always_here_cols = [
         | 
| 225 | 
            +
                    AutoEvalColumn.model_type_symbol.name,
         | 
| 226 | 
            +
                    AutoEvalColumn.model.name,
         | 
| 227 | 
            +
                ]
         | 
| 228 | 
            +
                # We use COLS to maintain sorting
         | 
| 229 | 
            +
                filtered_df = df[
         | 
| 230 | 
            +
                    always_here_cols + [c for c in COLS if c in df.columns and c in columns] + [AutoEvalColumn.dummy.name]
         | 
| 231 | 
            +
                ]
         | 
| 232 | 
             
                return filtered_df
         | 
| 233 |  | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 234 |  | 
| 235 | 
            +
            def filter_models(
         | 
| 236 | 
            +
                df: pd.DataFrame, current_columns_df: pd.DataFrame, type_query: str, size_query: str, show_deleted: bool
         | 
| 237 | 
            +
            ) -> pd.DataFrame:
         | 
| 238 | 
            +
                current_columns = current_columns_df.columns
         | 
| 239 | 
            +
             | 
| 240 | 
            +
                # Show all models
         | 
| 241 | 
            +
                if show_deleted:
         | 
| 242 | 
            +
                    filtered_df = df[current_columns]
         | 
| 243 | 
            +
                else:  # Show only still on the hub models
         | 
| 244 | 
            +
                    filtered_df = df[df[AutoEvalColumn.still_on_hub.name] is True][current_columns]
         | 
| 245 | 
            +
             | 
| 246 | 
            +
                if type_query != "all":
         | 
| 247 | 
            +
                    type_emoji = type_query[0]
         | 
| 248 | 
            +
                    filtered_df = filtered_df[df[AutoEvalColumn.model_type_symbol.name] == type_emoji]
         | 
| 249 | 
            +
             | 
| 250 | 
            +
                if size_query != "all":
         | 
| 251 | 
            +
                    numeric_intervals = {
         | 
| 252 | 
            +
                        "all": (0, 10000),
         | 
| 253 | 
            +
                        "< 1B": (0, 1),
         | 
| 254 | 
            +
                        "~3B": (1, 5),
         | 
| 255 | 
            +
                        "~7B": (6, 11),
         | 
| 256 | 
            +
                        "~13B": (12, 15),
         | 
| 257 | 
            +
                        "~35B": (16, 55),
         | 
| 258 | 
            +
                        "60B+": (55, 10000),
         | 
| 259 | 
            +
                    }
         | 
| 260 | 
            +
                    numeric_interval = numeric_intervals[size_query]
         | 
| 261 | 
            +
                    params_column = pd.to_numeric(df[AutoEvalColumn.params.name], errors="coerce")
         | 
| 262 | 
            +
             | 
| 263 | 
            +
                    filtered_df = filtered_df[params_column.between(*numeric_interval)]
         | 
| 264 |  | 
| 265 | 
            +
                return filtered_df
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 266 |  | 
| 267 |  | 
| 268 | 
             
            demo = gr.Blocks(css=custom_css)
         | 
|  | |
| 273 | 
             
                with gr.Tabs(elem_classes="tab-buttons") as tabs:
         | 
| 274 | 
             
                    with gr.TabItem("🏅 LLM Benchmark", elem_id="llm-benchmark-tab-table", id=0):
         | 
| 275 | 
             
                        with gr.Row():
         | 
| 276 | 
            +
                            with gr.Column():
         | 
| 277 | 
            +
                                with gr.Row():
         | 
| 278 | 
            +
                                    shown_columns = gr.CheckboxGroup(
         | 
| 279 | 
            +
                                        choices=[
         | 
| 280 | 
            +
                                            c
         | 
| 281 | 
            +
                                            for c in COLS
         | 
| 282 | 
            +
                                            if c
         | 
| 283 | 
            +
                                            not in [
         | 
| 284 | 
            +
                                                AutoEvalColumn.dummy.name,
         | 
| 285 | 
            +
                                                AutoEvalColumn.model.name,
         | 
| 286 | 
            +
                                                AutoEvalColumn.model_type_symbol.name,
         | 
| 287 | 
            +
                                                AutoEvalColumn.still_on_hub.name,
         | 
| 288 | 
            +
                                            ]
         | 
| 289 | 
            +
                                        ],
         | 
| 290 | 
            +
                                        value=[
         | 
| 291 | 
            +
                                            c
         | 
| 292 | 
            +
                                            for c in COLS_LITE
         | 
| 293 | 
            +
                                            if c
         | 
| 294 | 
            +
                                            not in [
         | 
| 295 | 
            +
                                                AutoEvalColumn.dummy.name,
         | 
| 296 | 
            +
                                                AutoEvalColumn.model.name,
         | 
| 297 | 
            +
                                                AutoEvalColumn.model_type_symbol.name,
         | 
| 298 | 
            +
                                                AutoEvalColumn.still_on_hub.name,
         | 
| 299 | 
            +
                                            ]
         | 
| 300 | 
            +
                                        ],
         | 
| 301 | 
            +
                                        label="Select columns to show",
         | 
| 302 | 
            +
                                        elem_id="column-select",
         | 
| 303 | 
            +
                                        interactive=True,
         | 
| 304 | 
            +
                                    )
         | 
| 305 | 
            +
                                with gr.Row():
         | 
| 306 | 
            +
                                    deleted_models_visibility = gr.Checkbox(
         | 
| 307 | 
            +
                                        value=True, label="Show models removed from the hub", interactive=True
         | 
| 308 | 
            +
                                    )
         | 
| 309 | 
             
                            with gr.Column(min_width=320):
         | 
| 310 | 
             
                                search_bar = gr.Textbox(
         | 
| 311 | 
             
                                    placeholder="🔍 Search for your model and press ENTER...",
         | 
|  | |
| 313 | 
             
                                    elem_id="search-bar",
         | 
| 314 | 
             
                                )
         | 
| 315 | 
             
                                with gr.Box(elem_id="box-filter"):
         | 
| 316 | 
            +
                                    filter_columns_type = gr.Radio(
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 317 | 
             
                                        label="⏚ Filter model types",
         | 
| 318 | 
            +
                                        choices=[
         | 
| 319 | 
            +
                                            "all",
         | 
|  | |
| 320 | 
             
                                            ModelType.PT.to_str(),
         | 
| 321 | 
             
                                            ModelType.FT.to_str(),
         | 
| 322 | 
             
                                            ModelType.IFT.to_str(),
         | 
| 323 | 
            +
                                            ModelType.RL.to_str(),
         | 
| 324 | 
             
                                        ],
         | 
| 325 | 
             
                                        value="all",
         | 
| 326 | 
            +
                                        interactive=True,
         | 
| 327 | 
            +
                                        elem_id="filter-columns-type",
         | 
| 328 | 
             
                                    )
         | 
| 329 | 
             
                                    filter_columns_size = gr.Radio(
         | 
| 330 | 
             
                                        label="⏚ Filter model sizes",
         | 
| 331 | 
            +
                                        choices=[
         | 
|  | |
| 332 | 
             
                                            "all",
         | 
| 333 | 
             
                                            "< 1B",
         | 
| 334 | 
             
                                            "~3B",
         | 
| 335 | 
             
                                            "~7B",
         | 
| 336 | 
             
                                            "~13B",
         | 
| 337 | 
             
                                            "~35B",
         | 
| 338 | 
            +
                                            "60B+",
         | 
| 339 | 
             
                                        ],
         | 
| 340 | 
             
                                        value="all",
         | 
|  | |
| 341 | 
             
                                        interactive=True,
         | 
| 342 | 
            +
                                        elem_id="filter-columns-size",
         | 
| 343 | 
             
                                    )
         | 
| 344 | 
            +
             | 
| 345 | 
             
                        leaderboard_table = gr.components.Dataframe(
         | 
| 346 | 
            +
                            value=leaderboard_df[
         | 
| 347 | 
            +
                                [AutoEvalColumn.model_type_symbol.name, AutoEvalColumn.model.name]
         | 
| 348 | 
            +
                                + shown_columns.value
         | 
| 349 | 
            +
                                + [AutoEvalColumn.dummy.name]
         | 
| 350 | 
            +
                            ],
         | 
| 351 | 
            +
                            headers=[
         | 
| 352 | 
            +
                                AutoEvalColumn.model_type_symbol.name,
         | 
| 353 | 
            +
                                AutoEvalColumn.model.name,
         | 
| 354 | 
            +
                            ]
         | 
| 355 | 
            +
                            + shown_columns.value
         | 
| 356 | 
            +
                            + [AutoEvalColumn.dummy.name],
         | 
| 357 | 
             
                            datatype=TYPES,
         | 
| 358 | 
             
                            max_rows=None,
         | 
| 359 | 
             
                            elem_id="leaderboard-table",
         | 
|  | |
| 371 | 
             
                        )
         | 
| 372 | 
             
                        search_bar.submit(
         | 
| 373 | 
             
                            search_table,
         | 
| 374 | 
            +
                            [
         | 
| 375 | 
            +
                                hidden_leaderboard_table_for_search,
         | 
| 376 | 
            +
                                leaderboard_table,
         | 
| 377 | 
            +
                                search_bar,
         | 
| 378 | 
            +
                            ],
         | 
| 379 | 
            +
                            leaderboard_table,
         | 
| 380 | 
            +
                        )
         | 
| 381 | 
            +
                        shown_columns.change(
         | 
| 382 | 
            +
                            select_columns,
         | 
| 383 | 
            +
                            [hidden_leaderboard_table_for_search, shown_columns],
         | 
| 384 | 
             
                            leaderboard_table,
         | 
| 385 | 
            +
                            queue=False,
         | 
| 386 | 
            +
                        )
         | 
| 387 | 
            +
                        filter_columns_type.change(
         | 
| 388 | 
            +
                            filter_models,
         | 
| 389 | 
            +
                            [
         | 
| 390 | 
            +
                                hidden_leaderboard_table_for_search,
         | 
| 391 | 
            +
                                leaderboard_table,
         | 
| 392 | 
            +
                                filter_columns_type,
         | 
| 393 | 
            +
                                filter_columns_size,
         | 
| 394 | 
            +
                                deleted_models_visibility,
         | 
| 395 | 
            +
                            ],
         | 
| 396 | 
            +
                            leaderboard_table,
         | 
| 397 | 
            +
                            queue=False,
         | 
| 398 | 
            +
                        )
         | 
| 399 | 
            +
                        filter_columns_size.change(
         | 
| 400 | 
            +
                            filter_models,
         | 
| 401 | 
            +
                            [
         | 
| 402 | 
            +
                                hidden_leaderboard_table_for_search,
         | 
| 403 | 
            +
                                leaderboard_table,
         | 
| 404 | 
            +
                                filter_columns_type,
         | 
| 405 | 
            +
                                filter_columns_size,
         | 
| 406 | 
            +
                                deleted_models_visibility,
         | 
| 407 | 
            +
                            ],
         | 
| 408 | 
            +
                            leaderboard_table,
         | 
| 409 | 
            +
                            queue=False,
         | 
| 410 | 
            +
                        )
         | 
| 411 | 
            +
                        deleted_models_visibility.change(
         | 
| 412 | 
            +
                            filter_models,
         | 
| 413 | 
            +
                            [
         | 
| 414 | 
            +
                                hidden_leaderboard_table_for_search,
         | 
| 415 | 
            +
                                leaderboard_table,
         | 
| 416 | 
            +
                                filter_columns_type,
         | 
| 417 | 
            +
                                filter_columns_size,
         | 
| 418 | 
            +
                                deleted_models_visibility,
         | 
| 419 | 
            +
                            ],
         | 
| 420 | 
            +
                            leaderboard_table,
         | 
| 421 | 
            +
                            queue=False,
         | 
| 422 | 
             
                        )
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
| 423 | 
             
                    with gr.TabItem("📝 About", elem_id="llm-benchmark-tab-table", id=2):
         | 
| 424 | 
             
                        gr.Markdown(LLM_BENCHMARKS_TEXT, elem_classes="markdown-text")
         | 
| 425 |  | 
|  | |
| 429 | 
             
                                gr.Markdown(EVALUATION_QUEUE_TEXT, elem_classes="markdown-text")
         | 
| 430 |  | 
| 431 | 
             
                            with gr.Column():
         | 
| 432 | 
            +
                                with gr.Accordion(
         | 
| 433 | 
            +
                                    f"✅ Finished Evaluations ({len(finished_eval_queue_df)})",
         | 
| 434 | 
            +
                                    open=False,
         | 
| 435 | 
            +
                                ):
         | 
| 436 | 
             
                                    with gr.Row():
         | 
| 437 | 
             
                                        finished_eval_table = gr.components.Dataframe(
         | 
| 438 | 
             
                                            value=finished_eval_queue_df,
         | 
|  | |
| 440 | 
             
                                            datatype=EVAL_TYPES,
         | 
| 441 | 
             
                                            max_rows=5,
         | 
| 442 | 
             
                                        )
         | 
| 443 | 
            +
                                with gr.Accordion(
         | 
| 444 | 
            +
                                    f"🔄 Running Evaluation Queue ({len(running_eval_queue_df)})",
         | 
| 445 | 
            +
                                    open=False,
         | 
| 446 | 
            +
                                ):
         | 
| 447 | 
             
                                    with gr.Row():
         | 
| 448 | 
             
                                        running_eval_table = gr.components.Dataframe(
         | 
| 449 | 
             
                                            value=running_eval_queue_df,
         | 
|  | |
| 452 | 
             
                                            max_rows=5,
         | 
| 453 | 
             
                                        )
         | 
| 454 |  | 
| 455 | 
            +
                                with gr.Accordion(
         | 
| 456 | 
            +
                                    f"⏳ Pending Evaluation Queue ({len(pending_eval_queue_df)})",
         | 
| 457 | 
            +
                                    open=False,
         | 
| 458 | 
            +
                                ):
         | 
| 459 | 
             
                                    with gr.Row():
         | 
| 460 | 
             
                                        pending_eval_table = gr.components.Dataframe(
         | 
| 461 | 
             
                                            value=pending_eval_queue_df,
         | 
|  | |
| 469 | 
             
                        with gr.Row():
         | 
| 470 | 
             
                            with gr.Column():
         | 
| 471 | 
             
                                model_name_textbox = gr.Textbox(label="Model name")
         | 
| 472 | 
            +
                                revision_name_textbox = gr.Textbox(label="revision", placeholder="main")
         | 
| 473 | 
            +
                                private = gr.Checkbox(False, label="Private", visible=not IS_PUBLIC)
         | 
|  | |
|  | |
|  | |
|  | |
| 474 | 
             
                                model_type = gr.Dropdown(
         | 
| 475 | 
            +
                                    choices=[
         | 
| 476 | 
             
                                        ModelType.PT.to_str(" : "),
         | 
| 477 | 
             
                                        ModelType.FT.to_str(" : "),
         | 
| 478 | 
             
                                        ModelType.IFT.to_str(" : "),
         | 
| 479 | 
            +
                                        ModelType.RL.to_str(" : "),
         | 
| 480 | 
            +
                                    ],
         | 
| 481 | 
            +
                                    label="Model type",
         | 
| 482 | 
             
                                    multiselect=False,
         | 
| 483 | 
             
                                    value=None,
         | 
| 484 | 
             
                                    interactive=True,
         | 
|  | |
| 486 |  | 
| 487 | 
             
                            with gr.Column():
         | 
| 488 | 
             
                                precision = gr.Dropdown(
         | 
| 489 | 
            +
                                    choices=[
         | 
| 490 | 
            +
                                        "float16",
         | 
| 491 | 
            +
                                        "bfloat16",
         | 
| 492 | 
            +
                                        "8bit (LLM.int8)",
         | 
| 493 | 
            +
                                        "4bit (QLoRA / FP4)",
         | 
| 494 | 
            +
                                    ],
         | 
| 495 | 
            +
                                    label="Precision",
         | 
| 496 | 
             
                                    multiselect=False,
         | 
| 497 | 
             
                                    value="float16",
         | 
| 498 | 
             
                                    interactive=True,
         | 
| 499 | 
             
                                )
         | 
| 500 | 
             
                                weight_type = gr.Dropdown(
         | 
| 501 | 
             
                                    choices=["Original", "Delta", "Adapter"],
         | 
| 502 | 
            +
                                    label="Weights type",
         | 
| 503 | 
             
                                    multiselect=False,
         | 
| 504 | 
             
                                    value="Original",
         | 
| 505 | 
             
                                    interactive=True,
         | 
| 506 | 
             
                                )
         | 
| 507 | 
            +
                                base_model_name_textbox = gr.Textbox(label="Base model (for delta or adapter weights)")
         | 
|  | |
|  | |
| 508 |  | 
| 509 | 
             
                        submit_button = gr.Button("Submit Eval")
         | 
| 510 | 
             
                        submission_result = gr.Markdown()
         | 
|  | |
| 517 | 
             
                                precision,
         | 
| 518 | 
             
                                private,
         | 
| 519 | 
             
                                weight_type,
         | 
| 520 | 
            +
                                model_type,
         | 
| 521 | 
             
                            ],
         | 
| 522 | 
             
                            submission_result,
         | 
| 523 | 
             
                        )
         | 
|  | |
| 554 | 
             
            scheduler = BackgroundScheduler()
         | 
| 555 | 
             
            scheduler.add_job(restart_space, "interval", seconds=3600)
         | 
| 556 | 
             
            scheduler.start()
         | 
| 557 | 
            +
            demo.queue(concurrency_count=40).launch()
         | 
    	
        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
         | 
    	
        src/assets/css_html_js.py
    CHANGED
    
    | @@ -89,13 +89,13 @@ table th:first-child { | |
| 89 | 
             
            #filter_type label > .wrap .wrap-inner input{
         | 
| 90 | 
             
                width: 1px
         | 
| 91 | 
             
            }
         | 
| 92 | 
            -
            #filter-columns{
         | 
| 93 | 
             
                border:0;
         | 
| 94 | 
            -
                padding:0;
         | 
| 95 | 
             
            }
         | 
| 96 | 
             
            #filter-columns-size{
         | 
| 97 | 
             
                border:0;
         | 
| 98 | 
            -
                padding:0;
         | 
| 99 | 
             
            }
         | 
| 100 | 
             
            #box-filter > .form{
         | 
| 101 | 
             
                border: 0
         | 
| @@ -108,4 +108,4 @@ get_window_url_params = """ | |
| 108 | 
             
                    url_params = Object.fromEntries(params);
         | 
| 109 | 
             
                    return url_params;
         | 
| 110 | 
             
                }
         | 
| 111 | 
            -
                """
         | 
|  | |
| 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
         | 
|  | |
| 108 | 
             
                    url_params = Object.fromEntries(params);
         | 
| 109 | 
             
                    return url_params;
         | 
| 110 | 
             
                }
         | 
| 111 | 
            +
                """
         | 
    	
        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,17 +1,17 @@ | |
| 1 | 
            -
            from  | 
| 2 |  | 
| 3 | 
             
            TITLE = """<h1 align="center" id="space-title">🤗 Open LLM Leaderboard</h1>"""
         | 
| 4 |  | 
| 5 | 
            -
            INTRODUCTION_TEXT =  | 
| 6 | 
             
            📐 The 🤗 Open LLM Leaderboard aims to track, rank and evaluate open LLMs and chatbots.
         | 
| 7 |  | 
| 8 | 
            -
            🤗 Submit a model for automated evaluation on the 🤗 GPU cluster on the "Submit" page! | 
| 9 | 
             
            The leaderboard's backend runs the great [Eleuther AI Language Model Evaluation Harness](https://github.com/EleutherAI/lm-evaluation-harness) - read more details in the "About" page!
         | 
| 10 | 
             
            """
         | 
| 11 |  | 
| 12 | 
             
            LLM_BENCHMARKS_TEXT = f"""
         | 
| 13 | 
             
            # Context
         | 
| 14 | 
            -
            With the plethora of large language models (LLMs) and chatbots being released week upon week, often with grandiose claims of their performance, it can be hard to filter out the genuine progress that is being made by the open-source community and which model is the current state of the art. | 
| 15 |  | 
| 16 | 
             
            ## Icons
         | 
| 17 | 
             
            {ModelType.PT.to_str(" : ")} model
         | 
| @@ -25,14 +25,14 @@ If there is no icon, we have not uploaded the information on the model yet, feel | |
| 25 |  | 
| 26 | 
             
            ## How it works
         | 
| 27 |  | 
| 28 | 
            -
            📈 We evaluate models on 4 key benchmarks using the <a href="https://github.com/EleutherAI/lm-evaluation-harness" target="_blank">  Eleuther AI Language Model Evaluation Harness </a>, a unified framework to test generative language models on a large number of different evaluation tasks. | 
| 29 |  | 
| 30 | 
             
            - <a href="https://arxiv.org/abs/1803.05457" target="_blank">  AI2 Reasoning Challenge </a> (25-shot) - a set of grade-school science questions.
         | 
| 31 | 
             
            - <a href="https://arxiv.org/abs/1905.07830" target="_blank">  HellaSwag </a> (10-shot) - a test of commonsense inference, which is easy for humans (~95%) but challenging for SOTA models.
         | 
| 32 | 
             
            - <a href="https://arxiv.org/abs/2009.03300" target="_blank">  MMLU </a>  (5-shot) - a test to measure a text model's multitask accuracy. The test covers 57 tasks including elementary mathematics, US history, computer science, law, and more.
         | 
| 33 | 
             
            - <a href="https://arxiv.org/abs/2109.07958" target="_blank">  TruthfulQA </a> (0-shot) - a test to measure a model’s propensity to reproduce falsehoods commonly found online. Note: TruthfulQA in the Harness is actually a minima a 6-shots task, as it is prepended by 6 examples systematically, even when launched using 0 for the number of few-shot examples.
         | 
| 34 |  | 
| 35 | 
            -
            For all these evaluations, a higher score is a better score. | 
| 36 | 
             
            We chose these benchmarks as they test a variety of reasoning and general knowledge across a wide variety of fields in 0-shot and few-shot settings.
         | 
| 37 |  | 
| 38 | 
             
            ## Details and logs
         | 
| @@ -46,7 +46,7 @@ To reproduce our results, here is the commands you can run, using [this version] | |
| 46 | 
             
            `python main.py --model=hf-causal --model_args="pretrained=<your_model>,use_accelerate=True,revision=<your_model_revision>"`
         | 
| 47 | 
             
            ` --tasks=<task_list> --num_fewshot=<n_few_shot> --batch_size=2 --output_path=<output_path>`
         | 
| 48 |  | 
| 49 | 
            -
            The total batch size we get for models which fit on one A100 node is 16 (8 GPUs * 2). If you don't use parallelism, adapt your batch size to fit. | 
| 50 | 
             
            *You can expect results to vary slightly for different batch sizes because of padding.*
         | 
| 51 |  | 
| 52 | 
             
            The tasks and few shots parameters are:
         | 
| @@ -65,7 +65,7 @@ If you still have questions, you can check our FAQ [here](https://huggingface.co | |
| 65 | 
             
            We also gather cool resources from the community, other teams, and other labs [here](https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard/discussions/174)!
         | 
| 66 | 
             
            """
         | 
| 67 |  | 
| 68 | 
            -
            EVALUATION_QUEUE_TEXT =  | 
| 69 | 
             
            # Evaluation Queue for the 🤗 Open LLM Leaderboard
         | 
| 70 |  | 
| 71 | 
             
            Models added here will be automatically evaluated on the 🤗 cluster.
         | 
| @@ -79,7 +79,7 @@ config = AutoConfig.from_pretrained("your model name", revision=revision) | |
| 79 | 
             
            model = AutoModel.from_pretrained("your model name", revision=revision)
         | 
| 80 | 
             
            tokenizer = AutoTokenizer.from_pretrained("your model name", revision=revision)
         | 
| 81 | 
             
            ```
         | 
| 82 | 
            -
            If this step fails, follow the error messages to debug your model before submitting it. It's likely your model has been improperly uploaded. | 
| 83 |  | 
| 84 | 
             
            Note: make sure your model is public!
         | 
| 85 | 
             
            Note: if your model needs `use_remote_code=True`, we do not support this option yet but we are working on adding it, stay posted!
         | 
| @@ -94,8 +94,8 @@ This is a leaderboard for Open LLMs, and we'd love for as many people as possibl | |
| 94 | 
             
            When we add extra information about models to the leaderboard, it will be automatically taken from the model card
         | 
| 95 |  | 
| 96 | 
             
            ## In case of model failure
         | 
| 97 | 
            -
            If your model is displayed in the `FAILED` category, its execution stopped. | 
| 98 | 
            -
            Make sure you have followed the above steps first. | 
| 99 | 
             
            If everything is done, check you can launch the EleutherAIHarness on your model locally, using the above command without modifications (you can add `--limit` to limit the number of examples per task).
         | 
| 100 | 
             
            """
         | 
| 101 |  | 
| @@ -135,7 +135,7 @@ CITATION_BUTTON_TEXT = r""" | |
| 135 | 
             
              url          = {https://doi.org/10.5281/zenodo.5371628}
         | 
| 136 | 
             
            }
         | 
| 137 | 
             
            @misc{clark2018think,
         | 
| 138 | 
            -
                  title={Think you have Solved Question Answering? Try ARC, the AI2 Reasoning Challenge}, | 
| 139 | 
             
                  author={Peter Clark and Isaac Cowhey and Oren Etzioni and Tushar Khot and Ashish Sabharwal and Carissa Schoenick and Oyvind Tafjord},
         | 
| 140 | 
             
                  year={2018},
         | 
| 141 | 
             
                  eprint={1803.05457},
         | 
| @@ -143,7 +143,7 @@ CITATION_BUTTON_TEXT = r""" | |
| 143 | 
             
                  primaryClass={cs.AI}
         | 
| 144 | 
             
            }
         | 
| 145 | 
             
            @misc{zellers2019hellaswag,
         | 
| 146 | 
            -
                  title={HellaSwag: Can a Machine Really Finish Your Sentence?}, | 
| 147 | 
             
                  author={Rowan Zellers and Ari Holtzman and Yonatan Bisk and Ali Farhadi and Yejin Choi},
         | 
| 148 | 
             
                  year={2019},
         | 
| 149 | 
             
                  eprint={1905.07830},
         | 
| @@ -151,7 +151,7 @@ CITATION_BUTTON_TEXT = r""" | |
| 151 | 
             
                  primaryClass={cs.CL}
         | 
| 152 | 
             
            }
         | 
| 153 | 
             
            @misc{hendrycks2021measuring,
         | 
| 154 | 
            -
                  title={Measuring Massive Multitask Language Understanding}, | 
| 155 | 
             
                  author={Dan Hendrycks and Collin Burns and Steven Basart and Andy Zou and Mantas Mazeika and Dawn Song and Jacob Steinhardt},
         | 
| 156 | 
             
                  year={2021},
         | 
| 157 | 
             
                  eprint={2009.03300},
         | 
| @@ -159,7 +159,7 @@ CITATION_BUTTON_TEXT = r""" | |
| 159 | 
             
                  primaryClass={cs.CY}
         | 
| 160 | 
             
            }
         | 
| 161 | 
             
            @misc{lin2022truthfulqa,
         | 
| 162 | 
            -
                  title={TruthfulQA: Measuring How Models Mimic Human Falsehoods}, | 
| 163 | 
             
                  author={Stephanie Lin and Jacob Hilton and Owain Evans},
         | 
| 164 | 
             
                  year={2022},
         | 
| 165 | 
             
                  eprint={2109.07958},
         | 
|  | |
| 1 | 
            +
            from src.display_models.model_metadata_type import ModelType
         | 
| 2 |  | 
| 3 | 
             
            TITLE = """<h1 align="center" id="space-title">🤗 Open LLM Leaderboard</h1>"""
         | 
| 4 |  | 
| 5 | 
            +
            INTRODUCTION_TEXT = """
         | 
| 6 | 
             
            📐 The 🤗 Open LLM Leaderboard aims to track, rank and evaluate open LLMs and chatbots.
         | 
| 7 |  | 
| 8 | 
            +
            🤗 Submit a model for automated evaluation on the 🤗 GPU cluster on the "Submit" page!
         | 
| 9 | 
             
            The leaderboard's backend runs the great [Eleuther AI Language Model Evaluation Harness](https://github.com/EleutherAI/lm-evaluation-harness) - read more details in the "About" page!
         | 
| 10 | 
             
            """
         | 
| 11 |  | 
| 12 | 
             
            LLM_BENCHMARKS_TEXT = f"""
         | 
| 13 | 
             
            # Context
         | 
| 14 | 
            +
            With the plethora of large language models (LLMs) and chatbots being released week upon week, often with grandiose claims of their performance, it can be hard to filter out the genuine progress that is being made by the open-source community and which model is the current state of the art.
         | 
| 15 |  | 
| 16 | 
             
            ## Icons
         | 
| 17 | 
             
            {ModelType.PT.to_str(" : ")} model
         | 
|  | |
| 25 |  | 
| 26 | 
             
            ## How it works
         | 
| 27 |  | 
| 28 | 
            +
            📈 We evaluate models on 4 key benchmarks using the <a href="https://github.com/EleutherAI/lm-evaluation-harness" target="_blank">  Eleuther AI Language Model Evaluation Harness </a>, a unified framework to test generative language models on a large number of different evaluation tasks.
         | 
| 29 |  | 
| 30 | 
             
            - <a href="https://arxiv.org/abs/1803.05457" target="_blank">  AI2 Reasoning Challenge </a> (25-shot) - a set of grade-school science questions.
         | 
| 31 | 
             
            - <a href="https://arxiv.org/abs/1905.07830" target="_blank">  HellaSwag </a> (10-shot) - a test of commonsense inference, which is easy for humans (~95%) but challenging for SOTA models.
         | 
| 32 | 
             
            - <a href="https://arxiv.org/abs/2009.03300" target="_blank">  MMLU </a>  (5-shot) - a test to measure a text model's multitask accuracy. The test covers 57 tasks including elementary mathematics, US history, computer science, law, and more.
         | 
| 33 | 
             
            - <a href="https://arxiv.org/abs/2109.07958" target="_blank">  TruthfulQA </a> (0-shot) - a test to measure a model’s propensity to reproduce falsehoods commonly found online. Note: TruthfulQA in the Harness is actually a minima a 6-shots task, as it is prepended by 6 examples systematically, even when launched using 0 for the number of few-shot examples.
         | 
| 34 |  | 
| 35 | 
            +
            For all these evaluations, a higher score is a better score.
         | 
| 36 | 
             
            We chose these benchmarks as they test a variety of reasoning and general knowledge across a wide variety of fields in 0-shot and few-shot settings.
         | 
| 37 |  | 
| 38 | 
             
            ## Details and logs
         | 
|  | |
| 46 | 
             
            `python main.py --model=hf-causal --model_args="pretrained=<your_model>,use_accelerate=True,revision=<your_model_revision>"`
         | 
| 47 | 
             
            ` --tasks=<task_list> --num_fewshot=<n_few_shot> --batch_size=2 --output_path=<output_path>`
         | 
| 48 |  | 
| 49 | 
            +
            The total batch size we get for models which fit on one A100 node is 16 (8 GPUs * 2). If you don't use parallelism, adapt your batch size to fit.
         | 
| 50 | 
             
            *You can expect results to vary slightly for different batch sizes because of padding.*
         | 
| 51 |  | 
| 52 | 
             
            The tasks and few shots parameters are:
         | 
|  | |
| 65 | 
             
            We also gather cool resources from the community, other teams, and other labs [here](https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard/discussions/174)!
         | 
| 66 | 
             
            """
         | 
| 67 |  | 
| 68 | 
            +
            EVALUATION_QUEUE_TEXT = """
         | 
| 69 | 
             
            # Evaluation Queue for the 🤗 Open LLM Leaderboard
         | 
| 70 |  | 
| 71 | 
             
            Models added here will be automatically evaluated on the 🤗 cluster.
         | 
|  | |
| 79 | 
             
            model = AutoModel.from_pretrained("your model name", revision=revision)
         | 
| 80 | 
             
            tokenizer = AutoTokenizer.from_pretrained("your model name", revision=revision)
         | 
| 81 | 
             
            ```
         | 
| 82 | 
            +
            If this step fails, follow the error messages to debug your model before submitting it. It's likely your model has been improperly uploaded.
         | 
| 83 |  | 
| 84 | 
             
            Note: make sure your model is public!
         | 
| 85 | 
             
            Note: if your model needs `use_remote_code=True`, we do not support this option yet but we are working on adding it, stay posted!
         | 
|  | |
| 94 | 
             
            When we add extra information about models to the leaderboard, it will be automatically taken from the model card
         | 
| 95 |  | 
| 96 | 
             
            ## In case of model failure
         | 
| 97 | 
            +
            If your model is displayed in the `FAILED` category, its execution stopped.
         | 
| 98 | 
            +
            Make sure you have followed the above steps first.
         | 
| 99 | 
             
            If everything is done, check you can launch the EleutherAIHarness on your model locally, using the above command without modifications (you can add `--limit` to limit the number of examples per task).
         | 
| 100 | 
             
            """
         | 
| 101 |  | 
|  | |
| 135 | 
             
              url          = {https://doi.org/10.5281/zenodo.5371628}
         | 
| 136 | 
             
            }
         | 
| 137 | 
             
            @misc{clark2018think,
         | 
| 138 | 
            +
                  title={Think you have Solved Question Answering? Try ARC, the AI2 Reasoning Challenge},
         | 
| 139 | 
             
                  author={Peter Clark and Isaac Cowhey and Oren Etzioni and Tushar Khot and Ashish Sabharwal and Carissa Schoenick and Oyvind Tafjord},
         | 
| 140 | 
             
                  year={2018},
         | 
| 141 | 
             
                  eprint={1803.05457},
         | 
|  | |
| 143 | 
             
                  primaryClass={cs.AI}
         | 
| 144 | 
             
            }
         | 
| 145 | 
             
            @misc{zellers2019hellaswag,
         | 
| 146 | 
            +
                  title={HellaSwag: Can a Machine Really Finish Your Sentence?},
         | 
| 147 | 
             
                  author={Rowan Zellers and Ari Holtzman and Yonatan Bisk and Ali Farhadi and Yejin Choi},
         | 
| 148 | 
             
                  year={2019},
         | 
| 149 | 
             
                  eprint={1905.07830},
         | 
|  | |
| 151 | 
             
                  primaryClass={cs.CL}
         | 
| 152 | 
             
            }
         | 
| 153 | 
             
            @misc{hendrycks2021measuring,
         | 
| 154 | 
            +
                  title={Measuring Massive Multitask Language Understanding},
         | 
| 155 | 
             
                  author={Dan Hendrycks and Collin Burns and Steven Basart and Andy Zou and Mantas Mazeika and Dawn Song and Jacob Steinhardt},
         | 
| 156 | 
             
                  year={2021},
         | 
| 157 | 
             
                  eprint={2009.03300},
         | 
|  | |
| 159 | 
             
                  primaryClass={cs.CY}
         | 
| 160 | 
             
            }
         | 
| 161 | 
             
            @misc{lin2022truthfulqa,
         | 
| 162 | 
            +
                  title={TruthfulQA: Measuring How Models Mimic Human Falsehoods},
         | 
| 163 | 
             
                  author={Stephanie Lin and Jacob Hilton and Owain Evans},
         | 
| 164 | 
             
                  year={2022},
         | 
| 165 | 
             
                  eprint={2109.07958},
         | 
    	
        src/auto_leaderboard/model_metadata_type.py
    DELETED
    
    | @@ -1,551 +0,0 @@ | |
| 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 | 
            -
                'notstoic/PygmalionCoT-7b': ModelType.IFT,
         | 
| 25 | 
            -
                'aisquared/dlite-v1-355m': ModelType.IFT,
         | 
| 26 | 
            -
                'aisquared/dlite-v1-1_5b': ModelType.IFT,
         | 
| 27 | 
            -
                'aisquared/dlite-v1-774m': ModelType.IFT,
         | 
| 28 | 
            -
                'aisquared/dlite-v1-124m': ModelType.IFT,
         | 
| 29 | 
            -
                'aisquared/chopt-2_7b': ModelType.IFT,
         | 
| 30 | 
            -
                'aisquared/dlite-v2-124m': ModelType.IFT,
         | 
| 31 | 
            -
                'aisquared/dlite-v2-774m': ModelType.IFT,
         | 
| 32 | 
            -
                'aisquared/dlite-v2-1_5b': ModelType.IFT,
         | 
| 33 | 
            -
                'aisquared/chopt-1_3b': ModelType.IFT,
         | 
| 34 | 
            -
                'aisquared/dlite-v2-355m': ModelType.IFT,
         | 
| 35 | 
            -
                'augtoma/qCammel-13': ModelType.IFT,
         | 
| 36 | 
            -
                'Aspik101/Llama-2-7b-hf-instruct-pl-lora_unload': ModelType.IFT,
         | 
| 37 | 
            -
                'Aspik101/vicuna-7b-v1.3-instruct-pl-lora_unload': ModelType.IFT,
         | 
| 38 | 
            -
                'TheBloke/alpaca-lora-65B-HF': ModelType.FT,
         | 
| 39 | 
            -
                'TheBloke/tulu-7B-fp16': ModelType.IFT,
         | 
| 40 | 
            -
                'TheBloke/guanaco-7B-HF': ModelType.FT,
         | 
| 41 | 
            -
                'TheBloke/koala-7B-HF': ModelType.FT,
         | 
| 42 | 
            -
                'TheBloke/wizardLM-7B-HF': ModelType.IFT,
         | 
| 43 | 
            -
                'TheBloke/airoboros-13B-HF': ModelType.IFT,
         | 
| 44 | 
            -
                'TheBloke/koala-13B-HF': ModelType.FT,
         | 
| 45 | 
            -
                'TheBloke/Wizard-Vicuna-7B-Uncensored-HF': ModelType.FT,
         | 
| 46 | 
            -
                'TheBloke/dromedary-65b-lora-HF': ModelType.IFT,
         | 
| 47 | 
            -
                'TheBloke/wizardLM-13B-1.0-fp16': ModelType.IFT,
         | 
| 48 | 
            -
                'TheBloke/WizardLM-13B-V1-1-SuperHOT-8K-fp16': ModelType.FT,
         | 
| 49 | 
            -
                'TheBloke/Wizard-Vicuna-30B-Uncensored-fp16': ModelType.FT,
         | 
| 50 | 
            -
                'TheBloke/wizard-vicuna-13B-HF': ModelType.IFT,
         | 
| 51 | 
            -
                'TheBloke/UltraLM-13B-fp16': ModelType.IFT,
         | 
| 52 | 
            -
                'TheBloke/OpenAssistant-FT-7-Llama-30B-HF': ModelType.FT,
         | 
| 53 | 
            -
                'TheBloke/vicuna-13B-1.1-HF': ModelType.IFT,
         | 
| 54 | 
            -
                'TheBloke/guanaco-13B-HF': ModelType.FT,
         | 
| 55 | 
            -
                'TheBloke/guanaco-65B-HF': ModelType.FT,
         | 
| 56 | 
            -
                'TheBloke/airoboros-7b-gpt4-fp16': ModelType.IFT,
         | 
| 57 | 
            -
                'TheBloke/llama-30b-supercot-SuperHOT-8K-fp16': ModelType.IFT,
         | 
| 58 | 
            -
                'TheBloke/Llama-2-13B-fp16': ModelType.PT,
         | 
| 59 | 
            -
                'TheBloke/llama-2-70b-Guanaco-QLoRA-fp16': ModelType.FT,
         | 
| 60 | 
            -
                'TheBloke/landmark-attention-llama7b-fp16': ModelType.IFT,
         | 
| 61 | 
            -
                'TheBloke/Planner-7B-fp16': ModelType.IFT,
         | 
| 62 | 
            -
                'TheBloke/Wizard-Vicuna-13B-Uncensored-HF': ModelType.FT,
         | 
| 63 | 
            -
                'TheBloke/gpt4-alpaca-lora-13B-HF': ModelType.IFT,
         | 
| 64 | 
            -
                'TheBloke/gpt4-x-vicuna-13B-HF': ModelType.IFT,
         | 
| 65 | 
            -
                'TheBloke/gpt4-alpaca-lora_mlp-65B-HF': ModelType.IFT,
         | 
| 66 | 
            -
                'TheBloke/tulu-13B-fp16': ModelType.IFT,
         | 
| 67 | 
            -
                'TheBloke/VicUnlocked-alpaca-65B-QLoRA-fp16': ModelType.IFT,
         | 
| 68 | 
            -
                'TheBloke/Llama-2-70B-fp16': ModelType.IFT,
         | 
| 69 | 
            -
                'TheBloke/WizardLM-30B-fp16': ModelType.IFT,
         | 
| 70 | 
            -
                'TheBloke/robin-13B-v2-fp16': ModelType.FT,
         | 
| 71 | 
            -
                'TheBloke/robin-33B-v2-fp16': ModelType.FT,
         | 
| 72 | 
            -
                'TheBloke/Vicuna-13B-CoT-fp16': ModelType.IFT,
         | 
| 73 | 
            -
                'TheBloke/Vicuna-33B-1-3-SuperHOT-8K-fp16': ModelType.IFT,
         | 
| 74 | 
            -
                'TheBloke/Wizard-Vicuna-30B-Superhot-8K-fp16': ModelType.FT,
         | 
| 75 | 
            -
                'TheBloke/Nous-Hermes-13B-SuperHOT-8K-fp16': ModelType.IFT,
         | 
| 76 | 
            -
                'TheBloke/GPlatty-30B-SuperHOT-8K-fp16': ModelType.FT,
         | 
| 77 | 
            -
                'TheBloke/CAMEL-33B-Combined-Data-SuperHOT-8K-fp16': ModelType.IFT,
         | 
| 78 | 
            -
                'TheBloke/Chinese-Alpaca-33B-SuperHOT-8K-fp16': ModelType.IFT,
         | 
| 79 | 
            -
                'jphme/orca_mini_v2_ger_7b': ModelType.IFT,
         | 
| 80 | 
            -
                'Ejafa/vicuna_7B_vanilla_1.1': ModelType.FT,
         | 
| 81 | 
            -
                'kevinpro/Vicuna-13B-CoT': ModelType.IFT,
         | 
| 82 | 
            -
                'AlekseyKorshuk/pygmalion-6b-vicuna-chatml': ModelType.FT,
         | 
| 83 | 
            -
                'AlekseyKorshuk/chatml-pyg-v1': ModelType.FT,
         | 
| 84 | 
            -
                'concedo/Vicuzard-30B-Uncensored': ModelType.FT,
         | 
| 85 | 
            -
                'concedo/OPT-19M-ChatSalad': ModelType.FT,
         | 
| 86 | 
            -
                'concedo/Pythia-70M-ChatSalad': ModelType.FT,
         | 
| 87 | 
            -
                'digitous/13B-HyperMantis': ModelType.IFT,
         | 
| 88 | 
            -
                'digitous/Adventien-GPTJ': ModelType.FT,
         | 
| 89 | 
            -
                'digitous/Alpacino13b': ModelType.IFT,
         | 
| 90 | 
            -
                'digitous/GPT-R': ModelType.IFT,
         | 
| 91 | 
            -
                'digitous/Javelin-R': ModelType.IFT,
         | 
| 92 | 
            -
                'digitous/Javalion-GPTJ': ModelType.IFT,
         | 
| 93 | 
            -
                'digitous/Javalion-R': ModelType.IFT,
         | 
| 94 | 
            -
                'digitous/Skegma-GPTJ': ModelType.FT,
         | 
| 95 | 
            -
                'digitous/Alpacino30b': ModelType.IFT,
         | 
| 96 | 
            -
                'digitous/Janin-GPTJ': ModelType.FT,
         | 
| 97 | 
            -
                'digitous/Janin-R': ModelType.FT,
         | 
| 98 | 
            -
                'digitous/Javelin-GPTJ': ModelType.FT,
         | 
| 99 | 
            -
                'SaylorTwift/gpt2_test': ModelType.PT,
         | 
| 100 | 
            -
                'anton-l/gpt-j-tiny-random': ModelType.FT,
         | 
| 101 | 
            -
                'Andron00e/YetAnother_Open-Llama-3B-LoRA-OpenOrca': ModelType.FT,
         | 
| 102 | 
            -
                'Lazycuber/pyg-instruct-wizardlm': ModelType.FT,
         | 
| 103 | 
            -
                'Lazycuber/Janemalion-6B': ModelType.FT,
         | 
| 104 | 
            -
                'IDEA-CCNL/Ziya-LLaMA-13B-Pretrain-v1': ModelType.FT,
         | 
| 105 | 
            -
                'IDEA-CCNL/Ziya-LLaMA-13B-v1': ModelType.IFT,
         | 
| 106 | 
            -
                'dsvv-cair/alpaca-cleaned-llama-30b-bf16': ModelType.FT,
         | 
| 107 | 
            -
                'gpt2-medium': ModelType.PT,
         | 
| 108 | 
            -
                'camel-ai/CAMEL-13B-Combined-Data': ModelType.IFT,
         | 
| 109 | 
            -
                'camel-ai/CAMEL-13B-Role-Playing-Data': ModelType.FT,
         | 
| 110 | 
            -
                'camel-ai/CAMEL-33B-Combined-Data': ModelType.IFT,
         | 
| 111 | 
            -
                'PygmalionAI/pygmalion-6b': ModelType.FT,
         | 
| 112 | 
            -
                'PygmalionAI/metharme-1.3b': ModelType.IFT,
         | 
| 113 | 
            -
                'PygmalionAI/pygmalion-1.3b': ModelType.FT,
         | 
| 114 | 
            -
                'PygmalionAI/pygmalion-350m': ModelType.FT,
         | 
| 115 | 
            -
                'PygmalionAI/pygmalion-2.7b': ModelType.FT,
         | 
| 116 | 
            -
                'medalpaca/medalpaca-7b': ModelType.FT,
         | 
| 117 | 
            -
                'lilloukas/Platypus-30B': ModelType.IFT,
         | 
| 118 | 
            -
                'lilloukas/GPlatty-30B': ModelType.FT,
         | 
| 119 | 
            -
                'mncai/chatdoctor': ModelType.FT,
         | 
| 120 | 
            -
                'chaoyi-wu/MedLLaMA_13B': ModelType.FT,
         | 
| 121 | 
            -
                'LoupGarou/WizardCoder-Guanaco-15B-V1.0': ModelType.IFT,
         | 
| 122 | 
            -
                'LoupGarou/WizardCoder-Guanaco-15B-V1.1': ModelType.FT,
         | 
| 123 | 
            -
                'hakurei/instruct-12b': ModelType.IFT,
         | 
| 124 | 
            -
                'hakurei/lotus-12B': ModelType.FT,
         | 
| 125 | 
            -
                'shibing624/chinese-llama-plus-13b-hf': ModelType.IFT,
         | 
| 126 | 
            -
                'shibing624/chinese-alpaca-plus-7b-hf': ModelType.IFT,
         | 
| 127 | 
            -
                'shibing624/chinese-alpaca-plus-13b-hf': ModelType.IFT,
         | 
| 128 | 
            -
                'mosaicml/mpt-7b-instruct': ModelType.IFT,
         | 
| 129 | 
            -
                'mosaicml/mpt-30b-chat': ModelType.IFT,
         | 
| 130 | 
            -
                'mosaicml/mpt-7b-storywriter': ModelType.FT,
         | 
| 131 | 
            -
                'mosaicml/mpt-30b-instruct': ModelType.IFT,
         | 
| 132 | 
            -
                'mosaicml/mpt-7b-chat': ModelType.IFT,
         | 
| 133 | 
            -
                'mosaicml/mpt-30b': ModelType.PT,
         | 
| 134 | 
            -
                'Corianas/111m': ModelType.IFT,
         | 
| 135 | 
            -
                'Corianas/Quokka_1.3b': ModelType.IFT,
         | 
| 136 | 
            -
                'Corianas/256_5epoch': ModelType.FT,
         | 
| 137 | 
            -
                'Corianas/Quokka_256m': ModelType.IFT,
         | 
| 138 | 
            -
                'Corianas/Quokka_590m': ModelType.IFT,
         | 
| 139 | 
            -
                'Corianas/gpt-j-6B-Dolly': ModelType.FT,
         | 
| 140 | 
            -
                'Corianas/Quokka_2.7b': ModelType.IFT,
         | 
| 141 | 
            -
                'cyberagent/open-calm-7b': ModelType.FT,
         | 
| 142 | 
            -
                'Aspik101/Nous-Hermes-13b-pl-lora_unload': ModelType.IFT,
         | 
| 143 | 
            -
                'THUDM/chatglm2-6b': ModelType.IFT,
         | 
| 144 | 
            -
                'MetaIX/GPT4-X-Alpasta-30b': ModelType.IFT,
         | 
| 145 | 
            -
                'NYTK/PULI-GPTrio': ModelType.PT,
         | 
| 146 | 
            -
                'EleutherAI/pythia-1.3b': ModelType.PT,
         | 
| 147 | 
            -
                'EleutherAI/pythia-2.8b-deduped': ModelType.PT,
         | 
| 148 | 
            -
                'EleutherAI/gpt-neo-125m': ModelType.PT,
         | 
| 149 | 
            -
                'EleutherAI/pythia-160m': ModelType.PT,
         | 
| 150 | 
            -
                'EleutherAI/gpt-neo-2.7B': ModelType.PT,
         | 
| 151 | 
            -
                'EleutherAI/pythia-1b-deduped': ModelType.PT,
         | 
| 152 | 
            -
                'EleutherAI/pythia-6.7b': ModelType.PT,
         | 
| 153 | 
            -
                'EleutherAI/pythia-70m-deduped': ModelType.PT,
         | 
| 154 | 
            -
                'EleutherAI/gpt-neox-20b': ModelType.PT,
         | 
| 155 | 
            -
                'EleutherAI/pythia-1.4b-deduped': ModelType.PT,
         | 
| 156 | 
            -
                'EleutherAI/pythia-2.7b': ModelType.PT,
         | 
| 157 | 
            -
                'EleutherAI/pythia-6.9b-deduped': ModelType.PT,
         | 
| 158 | 
            -
                'EleutherAI/pythia-70m': ModelType.PT,
         | 
| 159 | 
            -
                'EleutherAI/gpt-j-6b': ModelType.PT,
         | 
| 160 | 
            -
                'EleutherAI/pythia-12b-deduped': ModelType.PT,
         | 
| 161 | 
            -
                'EleutherAI/gpt-neo-1.3B': ModelType.PT,
         | 
| 162 | 
            -
                'EleutherAI/pythia-410m-deduped': ModelType.PT,
         | 
| 163 | 
            -
                'EleutherAI/pythia-160m-deduped': ModelType.PT,
         | 
| 164 | 
            -
                'EleutherAI/polyglot-ko-12.8b': ModelType.PT,
         | 
| 165 | 
            -
                'EleutherAI/pythia-12b': ModelType.PT,
         | 
| 166 | 
            -
                'roneneldan/TinyStories-33M': ModelType.PT,
         | 
| 167 | 
            -
                'roneneldan/TinyStories-28M': ModelType.PT,
         | 
| 168 | 
            -
                'roneneldan/TinyStories-1M': ModelType.PT,
         | 
| 169 | 
            -
                'roneneldan/TinyStories-8M': ModelType.PT,
         | 
| 170 | 
            -
                'roneneldan/TinyStories-3M': ModelType.PT,
         | 
| 171 | 
            -
                'jerryjalapeno/nart-100k-7b': ModelType.FT,
         | 
| 172 | 
            -
                'lmsys/vicuna-13b-v1.3': ModelType.IFT,
         | 
| 173 | 
            -
                'lmsys/vicuna-7b-v1.3': ModelType.IFT,
         | 
| 174 | 
            -
                'lmsys/vicuna-13b-v1.1': ModelType.IFT,
         | 
| 175 | 
            -
                'lmsys/vicuna-13b-delta-v1.1': ModelType.IFT,
         | 
| 176 | 
            -
                'lmsys/vicuna-7b-delta-v1.1': ModelType.IFT,
         | 
| 177 | 
            -
                'abhiramtirumala/DialoGPT-sarcastic-medium': ModelType.FT,
         | 
| 178 | 
            -
                'haonan-li/bactrian-x-llama-13b-merged': ModelType.IFT,
         | 
| 179 | 
            -
                'Gryphe/MythoLogic-13b': ModelType.IFT,
         | 
| 180 | 
            -
                'Gryphe/MythoBoros-13b': ModelType.IFT,
         | 
| 181 | 
            -
                'pillowtalks-ai/delta13b': ModelType.FT,
         | 
| 182 | 
            -
                'wannaphong/openthaigpt-0.1.0-beta-full-model_for_open_llm_leaderboard': ModelType.FT,
         | 
| 183 | 
            -
                'bigscience/bloom-7b1': ModelType.PT,
         | 
| 184 | 
            -
                'bigcode/tiny_starcoder_py': ModelType.PT,
         | 
| 185 | 
            -
                'bigcode/starcoderplus': ModelType.FT,
         | 
| 186 | 
            -
                'bigcode/gpt_bigcode-santacoder': ModelType.PT,
         | 
| 187 | 
            -
                'bigcode/starcoder': ModelType.PT,
         | 
| 188 | 
            -
                'Open-Orca/OpenOrca-Preview1-13B': ModelType.IFT,
         | 
| 189 | 
            -
                'microsoft/DialoGPT-large': ModelType.FT,
         | 
| 190 | 
            -
                'microsoft/DialoGPT-small': ModelType.FT,
         | 
| 191 | 
            -
                'microsoft/DialoGPT-medium': ModelType.FT,
         | 
| 192 | 
            -
                'microsoft/CodeGPT-small-py': ModelType.FT,
         | 
| 193 | 
            -
                'Tincando/fiction_story_generator': ModelType.FT,
         | 
| 194 | 
            -
                'Pirr/pythia-13b-deduped-green_devil': ModelType.FT,
         | 
| 195 | 
            -
                'Aeala/GPT4-x-AlpacaDente2-30b': ModelType.FT,
         | 
| 196 | 
            -
                'Aeala/GPT4-x-AlpacaDente-30b': ModelType.FT,
         | 
| 197 | 
            -
                'Aeala/GPT4-x-Alpasta-13b': ModelType.FT,
         | 
| 198 | 
            -
                'Aeala/VicUnlocked-alpaca-30b': ModelType.IFT,
         | 
| 199 | 
            -
                'Tap-M/Luna-AI-Llama2-Uncensored': ModelType.FT,
         | 
| 200 | 
            -
                'illuin/test-custom-llama': ModelType.FT,
         | 
| 201 | 
            -
                'dvruette/oasst-llama-13b-2-epochs': ModelType.FT,
         | 
| 202 | 
            -
                'dvruette/oasst-gpt-neox-20b-1000-steps': ModelType.FT,
         | 
| 203 | 
            -
                'dvruette/llama-13b-pretrained-dropout': ModelType.PT,
         | 
| 204 | 
            -
                'dvruette/llama-13b-pretrained': ModelType.PT,
         | 
| 205 | 
            -
                'dvruette/llama-13b-pretrained-sft-epoch-1': ModelType.FT,
         | 
| 206 | 
            -
                'dvruette/llama-13b-pretrained-sft-do2': ModelType.FT,
         | 
| 207 | 
            -
                'dvruette/oasst-gpt-neox-20b-3000-steps': ModelType.FT,
         | 
| 208 | 
            -
                'dvruette/oasst-pythia-12b-pretrained-sft': ModelType.FT,
         | 
| 209 | 
            -
                'dvruette/oasst-pythia-6.9b-4000-steps': ModelType.FT,
         | 
| 210 | 
            -
                'dvruette/gpt-neox-20b-full-precision': ModelType.FT,
         | 
| 211 | 
            -
                'dvruette/oasst-llama-13b-1000-steps': ModelType.FT,
         | 
| 212 | 
            -
                'openlm-research/open_llama_7b_700bt_preview': ModelType.PT,
         | 
| 213 | 
            -
                'openlm-research/open_llama_7b': ModelType.PT,
         | 
| 214 | 
            -
                'openlm-research/open_llama_7b_v2': ModelType.PT,
         | 
| 215 | 
            -
                'openlm-research/open_llama_3b': ModelType.PT,
         | 
| 216 | 
            -
                'openlm-research/open_llama_13b': ModelType.PT,
         | 
| 217 | 
            -
                'openlm-research/open_llama_3b_v2': ModelType.PT,
         | 
| 218 | 
            -
                'PocketDoc/Dans-PileOfSets-Mk1-llama-13b-merged': ModelType.IFT,
         | 
| 219 | 
            -
                'GeorgiaTechResearchInstitute/galpaca-30b': ModelType.IFT,
         | 
| 220 | 
            -
                'GeorgiaTechResearchInstitute/starcoder-gpteacher-code-instruct': ModelType.IFT,
         | 
| 221 | 
            -
                'databricks/dolly-v2-7b': ModelType.IFT,
         | 
| 222 | 
            -
                'databricks/dolly-v2-3b': ModelType.IFT,
         | 
| 223 | 
            -
                'databricks/dolly-v2-12b': ModelType.IFT,
         | 
| 224 | 
            -
                'Rachneet/gpt2-xl-alpaca': ModelType.FT,
         | 
| 225 | 
            -
                'Locutusque/gpt2-conversational-or-qa': ModelType.FT,
         | 
| 226 | 
            -
                'psyche/kogpt': ModelType.FT,
         | 
| 227 | 
            -
                'NbAiLab/nb-gpt-j-6B-alpaca': ModelType.IFT,
         | 
| 228 | 
            -
                'Mikael110/llama-2-7b-guanaco-fp16': ModelType.FT,
         | 
| 229 | 
            -
                'Mikael110/llama-2-13b-guanaco-fp16': ModelType.FT,
         | 
| 230 | 
            -
                'Fredithefish/CrimsonPajama': ModelType.IFT,
         | 
| 231 | 
            -
                'Fredithefish/RedPajama-INCITE-Chat-3B-ShareGPT-11K': ModelType.FT,
         | 
| 232 | 
            -
                'Fredithefish/ScarletPajama-3B-HF': ModelType.FT,
         | 
| 233 | 
            -
                'Fredithefish/RedPajama-INCITE-Chat-3B-Instruction-Tuning-with-GPT-4': ModelType.IFT,
         | 
| 234 | 
            -
                'acrastt/RedPajama-INCITE-Chat-Instruct-3B-V1': ModelType.IFT,
         | 
| 235 | 
            -
                'eachadea/vicuna-13b-1.1': ModelType.FT,
         | 
| 236 | 
            -
                'eachadea/vicuna-7b-1.1': ModelType.FT,
         | 
| 237 | 
            -
                'eachadea/vicuna-13b': ModelType.FT,
         | 
| 238 | 
            -
                'openaccess-ai-collective/wizard-mega-13b': ModelType.IFT,
         | 
| 239 | 
            -
                'openaccess-ai-collective/manticore-13b': ModelType.IFT,
         | 
| 240 | 
            -
                'openaccess-ai-collective/manticore-30b-chat-pyg-alpha': ModelType.IFT,
         | 
| 241 | 
            -
                'openaccess-ai-collective/minotaur-13b': ModelType.IFT,
         | 
| 242 | 
            -
                'openaccess-ai-collective/minotaur-13b-fixed': ModelType.IFT,
         | 
| 243 | 
            -
                'openaccess-ai-collective/hippogriff-30b-chat': ModelType.IFT,
         | 
| 244 | 
            -
                'openaccess-ai-collective/manticore-13b-chat-pyg': ModelType.IFT,
         | 
| 245 | 
            -
                'pythainlp/wangchanglm-7.5B-sft-enth': ModelType.IFT,
         | 
| 246 | 
            -
                'pythainlp/wangchanglm-7.5B-sft-en-sharded': ModelType.IFT,
         | 
| 247 | 
            -
                'euclaise/gpt-neox-122m-minipile-digits': ModelType.FT,
         | 
| 248 | 
            -
                'stabilityai/StableBeluga1-Delta': ModelType.IFT,
         | 
| 249 | 
            -
                'stabilityai/stablelm-tuned-alpha-7b': ModelType.IFT,
         | 
| 250 | 
            -
                'stabilityai/StableBeluga2': ModelType.IFT,
         | 
| 251 | 
            -
                'stabilityai/StableBeluga-13B': ModelType.IFT,
         | 
| 252 | 
            -
                'stabilityai/StableBeluga-7B': ModelType.IFT,
         | 
| 253 | 
            -
                'stabilityai/stablelm-base-alpha-7b': ModelType.PT,
         | 
| 254 | 
            -
                'stabilityai/stablelm-base-alpha-3b': ModelType.PT,
         | 
| 255 | 
            -
                'stabilityai/stablelm-tuned-alpha-3b': ModelType.IFT,
         | 
| 256 | 
            -
                'alibidaran/medical_transcription_generator': ModelType.FT,
         | 
| 257 | 
            -
                'CalderaAI/30B-Lazarus': ModelType.IFT,
         | 
| 258 | 
            -
                'CalderaAI/13B-BlueMethod': ModelType.IFT,
         | 
| 259 | 
            -
                'CalderaAI/13B-Ouroboros': ModelType.IFT,
         | 
| 260 | 
            -
                'KoboldAI/OPT-13B-Erebus': ModelType.FT,
         | 
| 261 | 
            -
                'KoboldAI/GPT-J-6B-Janeway': ModelType.FT,
         | 
| 262 | 
            -
                'KoboldAI/GPT-J-6B-Shinen': ModelType.FT,
         | 
| 263 | 
            -
                'KoboldAI/fairseq-dense-2.7B': ModelType.PT,
         | 
| 264 | 
            -
                'KoboldAI/OPT-6B-nerys-v2': ModelType.FT,
         | 
| 265 | 
            -
                'KoboldAI/GPT-NeoX-20B-Skein': ModelType.FT,
         | 
| 266 | 
            -
                'KoboldAI/PPO_Pygway-6b-Mix': ModelType.FT,
         | 
| 267 | 
            -
                'KoboldAI/fairseq-dense-6.7B': ModelType.PT,
         | 
| 268 | 
            -
                'KoboldAI/fairseq-dense-125M': ModelType.PT,
         | 
| 269 | 
            -
                'KoboldAI/OPT-13B-Nerybus-Mix': ModelType.FT,
         | 
| 270 | 
            -
                'KoboldAI/OPT-2.7B-Erebus': ModelType.FT,
         | 
| 271 | 
            -
                'KoboldAI/OPT-350M-Nerys-v2': ModelType.FT,
         | 
| 272 | 
            -
                'KoboldAI/OPT-2.7B-Nerys-v2': ModelType.FT,
         | 
| 273 | 
            -
                'KoboldAI/OPT-2.7B-Nerybus-Mix': ModelType.FT,
         | 
| 274 | 
            -
                'KoboldAI/OPT-13B-Nerys-v2': ModelType.FT,
         | 
| 275 | 
            -
                'KoboldAI/GPT-NeoX-20B-Erebus': ModelType.FT,
         | 
| 276 | 
            -
                'KoboldAI/OPT-6.7B-Erebus': ModelType.FT,
         | 
| 277 | 
            -
                'KoboldAI/fairseq-dense-355M': ModelType.PT,
         | 
| 278 | 
            -
                'KoboldAI/OPT-6.7B-Nerybus-Mix': ModelType.FT,
         | 
| 279 | 
            -
                'KoboldAI/GPT-J-6B-Adventure': ModelType.FT,
         | 
| 280 | 
            -
                'KoboldAI/OPT-350M-Erebus': ModelType.FT,
         | 
| 281 | 
            -
                'KoboldAI/GPT-J-6B-Skein': ModelType.FT,
         | 
| 282 | 
            -
                'KoboldAI/OPT-30B-Erebus': ModelType.FT,
         | 
| 283 | 
            -
                'klosax/pythia-160m-deduped-step92k-193bt': ModelType.PT,
         | 
| 284 | 
            -
                'klosax/open_llama_3b_350bt_preview': ModelType.PT,
         | 
| 285 | 
            -
                'klosax/openllama-3b-350bt': ModelType.PT,
         | 
| 286 | 
            -
                'klosax/pythia-70m-deduped-step44k-92bt': ModelType.PT,
         | 
| 287 | 
            -
                'klosax/open_llama_13b_600bt_preview': ModelType.PT,
         | 
| 288 | 
            -
                'klosax/open_llama_7b_400bt_preview': ModelType.PT,
         | 
| 289 | 
            -
                'kfkas/Llama-2-ko-7b-Chat': ModelType.IFT,
         | 
| 290 | 
            -
                'WeOpenML/Alpaca-7B-v1': ModelType.IFT,
         | 
| 291 | 
            -
                'WeOpenML/PandaLM-Alpaca-7B-v1': ModelType.IFT,
         | 
| 292 | 
            -
                'TFLai/gpt2-turkish-uncased': ModelType.FT,
         | 
| 293 | 
            -
                'ehartford/WizardLM-13B-Uncensored': ModelType.IFT,
         | 
| 294 | 
            -
                'ehartford/dolphin-llama-13b': ModelType.IFT,
         | 
| 295 | 
            -
                'ehartford/Wizard-Vicuna-30B-Uncensored': ModelType.FT,
         | 
| 296 | 
            -
                'ehartford/WizardLM-30B-Uncensored': ModelType.IFT,
         | 
| 297 | 
            -
                'ehartford/Wizard-Vicuna-13B-Uncensored': ModelType.FT,
         | 
| 298 | 
            -
                'ehartford/WizardLM-7B-Uncensored': ModelType.IFT,
         | 
| 299 | 
            -
                'ehartford/based-30b': ModelType.FT,
         | 
| 300 | 
            -
                'ehartford/Wizard-Vicuna-7B-Uncensored': ModelType.FT,
         | 
| 301 | 
            -
                'wahaha1987/llama_7b_sharegpt94k_fastchat': ModelType.FT,
         | 
| 302 | 
            -
                'wahaha1987/llama_13b_sharegpt94k_fastchat': ModelType.FT,
         | 
| 303 | 
            -
                'OpenAssistant/oasst-sft-1-pythia-12b': ModelType.FT,
         | 
| 304 | 
            -
                'OpenAssistant/stablelm-7b-sft-v7-epoch-3': ModelType.IFT,
         | 
| 305 | 
            -
                'OpenAssistant/oasst-sft-4-pythia-12b-epoch-3.5': ModelType.FT,
         | 
| 306 | 
            -
                'OpenAssistant/pythia-12b-sft-v8-2.5k-steps': ModelType.IFT,
         | 
| 307 | 
            -
                'OpenAssistant/pythia-12b-sft-v8-7k-steps': ModelType.IFT,
         | 
| 308 | 
            -
                'OpenAssistant/pythia-12b-pre-v8-12.5k-steps': ModelType.IFT,
         | 
| 309 | 
            -
                'OpenAssistant/llama2-13b-orca-8k-3319': ModelType.IFT,
         | 
| 310 | 
            -
                'junelee/wizard-vicuna-13b': ModelType.FT,
         | 
| 311 | 
            -
                'BreadAi/gpt-YA-1-1_160M': ModelType.PT,
         | 
| 312 | 
            -
                'BreadAi/MuseCan': ModelType.PT,
         | 
| 313 | 
            -
                'BreadAi/MusePy-1-2': ModelType.PT,
         | 
| 314 | 
            -
                'BreadAi/DiscordPy': ModelType.PT,
         | 
| 315 | 
            -
                'BreadAi/PM_modelV2': ModelType.PT,
         | 
| 316 | 
            -
                'BreadAi/gpt-Youtube': ModelType.PT,
         | 
| 317 | 
            -
                'BreadAi/StoryPy': ModelType.FT,
         | 
| 318 | 
            -
                'julianweng/Llama-2-7b-chat-orcah': ModelType.FT,
         | 
| 319 | 
            -
                'AGI-inc/lora_moe_7b_baseline': ModelType.FT,
         | 
| 320 | 
            -
                'AGI-inc/lora_moe_7b': ModelType.FT,
         | 
| 321 | 
            -
                'togethercomputer/GPT-NeoXT-Chat-Base-20B': ModelType.IFT,
         | 
| 322 | 
            -
                'togethercomputer/RedPajama-INCITE-Chat-7B-v0.1': ModelType.IFT,
         | 
| 323 | 
            -
                'togethercomputer/RedPajama-INCITE-Instruct-7B-v0.1': ModelType.IFT,
         | 
| 324 | 
            -
                'togethercomputer/RedPajama-INCITE-7B-Base': ModelType.PT,
         | 
| 325 | 
            -
                'togethercomputer/RedPajama-INCITE-7B-Instruct': ModelType.IFT,
         | 
| 326 | 
            -
                'togethercomputer/RedPajama-INCITE-Base-3B-v1': ModelType.PT,
         | 
| 327 | 
            -
                'togethercomputer/Pythia-Chat-Base-7B': ModelType.IFT,
         | 
| 328 | 
            -
                'togethercomputer/RedPajama-INCITE-Base-7B-v0.1': ModelType.PT,
         | 
| 329 | 
            -
                'togethercomputer/GPT-JT-6B-v1': ModelType.IFT,
         | 
| 330 | 
            -
                'togethercomputer/GPT-JT-6B-v0': ModelType.IFT,
         | 
| 331 | 
            -
                'togethercomputer/RedPajama-INCITE-Chat-3B-v1': ModelType.IFT,
         | 
| 332 | 
            -
                'togethercomputer/RedPajama-INCITE-7B-Chat': ModelType.IFT,
         | 
| 333 | 
            -
                'togethercomputer/RedPajama-INCITE-Instruct-3B-v1': ModelType.IFT,
         | 
| 334 | 
            -
                'Writer/camel-5b-hf': ModelType.IFT,
         | 
| 335 | 
            -
                'Writer/palmyra-base': ModelType.PT,
         | 
| 336 | 
            -
                'MBZUAI/LaMini-GPT-1.5B': ModelType.IFT,
         | 
| 337 | 
            -
                'MBZUAI/lamini-cerebras-111m': ModelType.IFT,
         | 
| 338 | 
            -
                'MBZUAI/lamini-neo-1.3b': ModelType.IFT,
         | 
| 339 | 
            -
                'MBZUAI/lamini-cerebras-1.3b': ModelType.IFT,
         | 
| 340 | 
            -
                'MBZUAI/lamini-cerebras-256m': ModelType.IFT,
         | 
| 341 | 
            -
                'MBZUAI/LaMini-GPT-124M': ModelType.IFT,
         | 
| 342 | 
            -
                'MBZUAI/lamini-neo-125m': ModelType.IFT,
         | 
| 343 | 
            -
                'TehVenom/DiffMerge-DollyGPT-Pygmalion': ModelType.FT,
         | 
| 344 | 
            -
                'TehVenom/PPO_Shygmalion-6b': ModelType.FT,
         | 
| 345 | 
            -
                'TehVenom/Dolly_Shygmalion-6b-Dev_V8P2': ModelType.FT,
         | 
| 346 | 
            -
                'TehVenom/Pygmalion_AlpacaLora-7b': ModelType.FT,
         | 
| 347 | 
            -
                'TehVenom/PPO_Pygway-V8p4_Dev-6b': ModelType.FT,
         | 
| 348 | 
            -
                'TehVenom/Dolly_Malion-6b': ModelType.FT,
         | 
| 349 | 
            -
                'TehVenom/PPO_Shygmalion-V8p4_Dev-6b': ModelType.FT,
         | 
| 350 | 
            -
                'TehVenom/ChanMalion': ModelType.FT,
         | 
| 351 | 
            -
                'TehVenom/GPT-J-Pyg_PPO-6B': ModelType.IFT,
         | 
| 352 | 
            -
                'TehVenom/Pygmalion-13b-Merged': ModelType.FT,
         | 
| 353 | 
            -
                'TehVenom/Metharme-13b-Merged': ModelType.IFT,
         | 
| 354 | 
            -
                'TehVenom/Dolly_Shygmalion-6b': ModelType.FT,
         | 
| 355 | 
            -
                'TehVenom/GPT-J-Pyg_PPO-6B-Dev-V8p4': ModelType.IFT,
         | 
| 356 | 
            -
                'georgesung/llama2_7b_chat_uncensored': ModelType.FT,
         | 
| 357 | 
            -
                'vicgalle/gpt2-alpaca': ModelType.IFT,
         | 
| 358 | 
            -
                'vicgalle/alpaca-7b': ModelType.FT,
         | 
| 359 | 
            -
                'vicgalle/gpt2-alpaca-gpt4': ModelType.IFT,
         | 
| 360 | 
            -
                'facebook/opt-350m': ModelType.PT,
         | 
| 361 | 
            -
                'facebook/opt-125m': ModelType.PT,
         | 
| 362 | 
            -
                'facebook/xglm-4.5B': ModelType.PT,
         | 
| 363 | 
            -
                'facebook/opt-2.7b': ModelType.PT,
         | 
| 364 | 
            -
                'facebook/opt-6.7b': ModelType.PT,
         | 
| 365 | 
            -
                'facebook/galactica-30b': ModelType.PT,
         | 
| 366 | 
            -
                'facebook/opt-13b': ModelType.PT,
         | 
| 367 | 
            -
                'facebook/opt-66b': ModelType.PT,
         | 
| 368 | 
            -
                'facebook/xglm-7.5B': ModelType.PT,
         | 
| 369 | 
            -
                'facebook/xglm-564M': ModelType.PT,
         | 
| 370 | 
            -
                'facebook/opt-30b': ModelType.PT,
         | 
| 371 | 
            -
                'golaxy/gogpt-7b': ModelType.FT,
         | 
| 372 | 
            -
                'golaxy/gogpt2-7b': ModelType.FT,
         | 
| 373 | 
            -
                'golaxy/gogpt-7b-bloom': ModelType.FT,
         | 
| 374 | 
            -
                'golaxy/gogpt-3b-bloom': ModelType.FT,
         | 
| 375 | 
            -
                'psmathur/orca_mini_v2_7b': ModelType.IFT,
         | 
| 376 | 
            -
                'psmathur/orca_mini_7b': ModelType.IFT,
         | 
| 377 | 
            -
                'psmathur/orca_mini_3b': ModelType.IFT,
         | 
| 378 | 
            -
                'psmathur/orca_mini_v2_13b': ModelType.IFT,
         | 
| 379 | 
            -
                'gpt2-xl': ModelType.PT,
         | 
| 380 | 
            -
                'lxe/Cerebras-GPT-2.7B-Alpaca-SP': ModelType.FT,
         | 
| 381 | 
            -
                'Monero/Manticore-13b-Chat-Pyg-Guanaco': ModelType.FT,
         | 
| 382 | 
            -
                'Monero/WizardLM-Uncensored-SuperCOT-StoryTelling-30b': ModelType.IFT,
         | 
| 383 | 
            -
                'Monero/WizardLM-13b-OpenAssistant-Uncensored': ModelType.IFT,
         | 
| 384 | 
            -
                'Monero/WizardLM-30B-Uncensored-Guanaco-SuperCOT-30b': ModelType.IFT,
         | 
| 385 | 
            -
                'jzjiao/opt-1.3b-rlhf': ModelType.FT,
         | 
| 386 | 
            -
                'HuggingFaceH4/starchat-beta': ModelType.IFT,
         | 
| 387 | 
            -
                'KnutJaegersberg/gpt-2-xl-EvolInstruct': ModelType.IFT,
         | 
| 388 | 
            -
                'KnutJaegersberg/megatron-GPT-2-345m-EvolInstruct': ModelType.IFT,
         | 
| 389 | 
            -
                'KnutJaegersberg/galactica-orca-wizardlm-1.3b': ModelType.IFT,
         | 
| 390 | 
            -
                'openchat/openchat_8192': ModelType.IFT,
         | 
| 391 | 
            -
                'openchat/openchat_v2': ModelType.IFT,
         | 
| 392 | 
            -
                'openchat/openchat_v2_w': ModelType.IFT,
         | 
| 393 | 
            -
                'ausboss/llama-13b-supercot': ModelType.IFT,
         | 
| 394 | 
            -
                'ausboss/llama-30b-supercot': ModelType.IFT,
         | 
| 395 | 
            -
                'Neko-Institute-of-Science/metharme-7b': ModelType.IFT,
         | 
| 396 | 
            -
                'Neko-Institute-of-Science/pygmalion-7b': ModelType.FT,
         | 
| 397 | 
            -
                'SebastianSchramm/Cerebras-GPT-111M-instruction': ModelType.IFT,
         | 
| 398 | 
            -
                'victor123/WizardLM-13B-1.0': ModelType.IFT,
         | 
| 399 | 
            -
                'OpenBuddy/openbuddy-openllama-13b-v7-fp16': ModelType.FT,
         | 
| 400 | 
            -
                'OpenBuddy/openbuddy-llama2-13b-v8.1-fp16': ModelType.FT,
         | 
| 401 | 
            -
                'OpenBuddyEA/openbuddy-llama-30b-v7.1-bf16': ModelType.FT,
         | 
| 402 | 
            -
                'baichuan-inc/Baichuan-7B': ModelType.PT,
         | 
| 403 | 
            -
                'tiiuae/falcon-40b-instruct': ModelType.IFT,
         | 
| 404 | 
            -
                'tiiuae/falcon-40b': ModelType.PT,
         | 
| 405 | 
            -
                'tiiuae/falcon-7b': ModelType.PT,
         | 
| 406 | 
            -
                'YeungNLP/firefly-llama-13b': ModelType.FT,
         | 
| 407 | 
            -
                'YeungNLP/firefly-llama-13b-v1.2': ModelType.FT,
         | 
| 408 | 
            -
                'YeungNLP/firefly-llama2-13b': ModelType.FT,
         | 
| 409 | 
            -
                'YeungNLP/firefly-ziya-13b': ModelType.FT,
         | 
| 410 | 
            -
                'shaohang/Sparse0.5_OPT-1.3': ModelType.FT,
         | 
| 411 | 
            -
                'xzuyn/Alpacino-SuperCOT-13B': ModelType.IFT,
         | 
| 412 | 
            -
                'xzuyn/MedicWizard-7B': ModelType.FT,
         | 
| 413 | 
            -
                'xDAN-AI/xDAN_13b_l2_lora': ModelType.FT,
         | 
| 414 | 
            -
                'beomi/KoAlpaca-Polyglot-5.8B': ModelType.FT,
         | 
| 415 | 
            -
                'beomi/llama-2-ko-7b': ModelType.IFT,
         | 
| 416 | 
            -
                'Salesforce/codegen-6B-multi': ModelType.PT,
         | 
| 417 | 
            -
                'Salesforce/codegen-16B-nl': ModelType.PT,
         | 
| 418 | 
            -
                'Salesforce/codegen-6B-nl': ModelType.PT,
         | 
| 419 | 
            -
                'ai-forever/rugpt3large_based_on_gpt2': ModelType.FT,
         | 
| 420 | 
            -
                'gpt2-large': ModelType.PT,
         | 
| 421 | 
            -
                'frank098/orca_mini_3b_juniper': ModelType.FT,
         | 
| 422 | 
            -
                'frank098/WizardLM_13B_juniper': ModelType.FT,
         | 
| 423 | 
            -
                'FPHam/Free_Sydney_13b_HF': ModelType.FT,
         | 
| 424 | 
            -
                'huggingface/llama-13b': ModelType.PT,
         | 
| 425 | 
            -
                'huggingface/llama-7b': ModelType.PT,
         | 
| 426 | 
            -
                'huggingface/llama-65b': ModelType.PT,
         | 
| 427 | 
            -
                'huggingface/llama-30b': ModelType.PT,
         | 
| 428 | 
            -
                'Henk717/chronoboros-33B': ModelType.IFT,
         | 
| 429 | 
            -
                'jondurbin/airoboros-13b-gpt4-1.4': ModelType.IFT,
         | 
| 430 | 
            -
                'jondurbin/airoboros-7b': ModelType.IFT,
         | 
| 431 | 
            -
                'jondurbin/airoboros-7b-gpt4': ModelType.IFT,
         | 
| 432 | 
            -
                'jondurbin/airoboros-7b-gpt4-1.1': ModelType.IFT,
         | 
| 433 | 
            -
                'jondurbin/airoboros-7b-gpt4-1.2': ModelType.IFT,
         | 
| 434 | 
            -
                'jondurbin/airoboros-7b-gpt4-1.3': ModelType.IFT,
         | 
| 435 | 
            -
                'jondurbin/airoboros-7b-gpt4-1.4': ModelType.IFT,
         | 
| 436 | 
            -
                'jondurbin/airoboros-l2-7b-gpt4-1.4.1': ModelType.IFT,
         | 
| 437 | 
            -
                'jondurbin/airoboros-l2-13b-gpt4-1.4.1': ModelType.IFT,
         | 
| 438 | 
            -
                'jondurbin/airoboros-l2-70b-gpt4-1.4.1': ModelType.IFT,
         | 
| 439 | 
            -
                'jondurbin/airoboros-13b': ModelType.IFT,
         | 
| 440 | 
            -
                'jondurbin/airoboros-33b-gpt4-1.4': ModelType.IFT,
         | 
| 441 | 
            -
                'jondurbin/airoboros-33b-gpt4-1.2': ModelType.IFT,
         | 
| 442 | 
            -
                'jondurbin/airoboros-65b-gpt4-1.2': ModelType.IFT,
         | 
| 443 | 
            -
                'ariellee/SuperPlatty-30B': ModelType.IFT,
         | 
| 444 | 
            -
                'danielhanchen/open_llama_3b_600bt_preview': ModelType.FT,
         | 
| 445 | 
            -
                'cerebras/Cerebras-GPT-256M': ModelType.PT,
         | 
| 446 | 
            -
                'cerebras/Cerebras-GPT-1.3B': ModelType.PT,
         | 
| 447 | 
            -
                'cerebras/Cerebras-GPT-13B': ModelType.PT,
         | 
| 448 | 
            -
                'cerebras/Cerebras-GPT-2.7B': ModelType.PT,
         | 
| 449 | 
            -
                'cerebras/Cerebras-GPT-111M': ModelType.PT,
         | 
| 450 | 
            -
                'cerebras/Cerebras-GPT-6.7B': ModelType.PT,
         | 
| 451 | 
            -
                'Yhyu13/oasst-rlhf-2-llama-30b-7k-steps-hf': ModelType.RL,
         | 
| 452 | 
            -
                'Yhyu13/llama-30B-hf-openassitant': ModelType.FT,
         | 
| 453 | 
            -
                'NousResearch/Nous-Hermes-Llama2-13b': ModelType.IFT,
         | 
| 454 | 
            -
                'NousResearch/Nous-Hermes-llama-2-7b': ModelType.IFT,
         | 
| 455 | 
            -
                'NousResearch/Redmond-Puffin-13B': ModelType.IFT,
         | 
| 456 | 
            -
                'NousResearch/Nous-Hermes-13b': ModelType.IFT,
         | 
| 457 | 
            -
                'project-baize/baize-v2-7b': ModelType.IFT,
         | 
| 458 | 
            -
                'project-baize/baize-v2-13b': ModelType.IFT,
         | 
| 459 | 
            -
                'LLMs/WizardLM-13B-V1.0': ModelType.FT,
         | 
| 460 | 
            -
                'LLMs/AlpacaGPT4-7B-elina': ModelType.FT,
         | 
| 461 | 
            -
                'wenge-research/yayi-7b': ModelType.FT,
         | 
| 462 | 
            -
                'wenge-research/yayi-7b-llama2': ModelType.FT,
         | 
| 463 | 
            -
                'wenge-research/yayi-13b-llama2': ModelType.FT,
         | 
| 464 | 
            -
                'yhyhy3/open_llama_7b_v2_med_instruct': ModelType.IFT,
         | 
| 465 | 
            -
                'llama-anon/instruct-13b': ModelType.IFT,
         | 
| 466 | 
            -
                'huggingtweets/jerma985': ModelType.FT,
         | 
| 467 | 
            -
                'huggingtweets/gladosystem': ModelType.FT,
         | 
| 468 | 
            -
                'huggingtweets/bladeecity-jerma985': ModelType.FT,
         | 
| 469 | 
            -
                'huggyllama/llama-13b': ModelType.PT,
         | 
| 470 | 
            -
                'huggyllama/llama-65b': ModelType.PT,
         | 
| 471 | 
            -
                'FabbriSimo01/Facebook_opt_1.3b_Quantized': ModelType.PT,
         | 
| 472 | 
            -
                'upstage/Llama-2-70b-instruct': ModelType.IFT,
         | 
| 473 | 
            -
                'upstage/Llama-2-70b-instruct-1024': ModelType.IFT,
         | 
| 474 | 
            -
                'upstage/llama-65b-instruct': ModelType.IFT,
         | 
| 475 | 
            -
                'upstage/llama-30b-instruct-2048': ModelType.IFT,
         | 
| 476 | 
            -
                'upstage/llama-30b-instruct': ModelType.IFT,
         | 
| 477 | 
            -
                'WizardLM/WizardLM-13B-1.0': ModelType.IFT,
         | 
| 478 | 
            -
                'WizardLM/WizardLM-13B-V1.1': ModelType.IFT,
         | 
| 479 | 
            -
                'WizardLM/WizardLM-13B-V1.2': ModelType.IFT,
         | 
| 480 | 
            -
                'WizardLM/WizardLM-30B-V1.0': ModelType.IFT,
         | 
| 481 | 
            -
                'WizardLM/WizardCoder-15B-V1.0': ModelType.IFT,
         | 
| 482 | 
            -
                'gpt2': ModelType.PT,
         | 
| 483 | 
            -
                'keyfan/vicuna-chinese-replication-v1.1': ModelType.IFT,
         | 
| 484 | 
            -
                'nthngdy/pythia-owt2-70m-100k': ModelType.FT,
         | 
| 485 | 
            -
                'nthngdy/pythia-owt2-70m-50k': ModelType.FT,
         | 
| 486 | 
            -
                'quantumaikr/KoreanLM-hf': ModelType.FT,
         | 
| 487 | 
            -
                'quantumaikr/open_llama_7b_hf': ModelType.FT,
         | 
| 488 | 
            -
                'quantumaikr/QuantumLM-70B-hf': ModelType.IFT,
         | 
| 489 | 
            -
                'MayaPH/FinOPT-Lincoln': ModelType.FT,
         | 
| 490 | 
            -
                'MayaPH/FinOPT-Franklin': ModelType.FT,
         | 
| 491 | 
            -
                'MayaPH/GodziLLa-30B': ModelType.IFT,
         | 
| 492 | 
            -
                'MayaPH/GodziLLa-30B-plus': ModelType.IFT,
         | 
| 493 | 
            -
                'MayaPH/FinOPT-Washington': ModelType.FT,
         | 
| 494 | 
            -
                'ogimgio/gpt-neo-125m-neurallinguisticpioneers': ModelType.FT,
         | 
| 495 | 
            -
                'layoric/llama-2-13b-code-alpaca': ModelType.FT,
         | 
| 496 | 
            -
                'CobraMamba/mamba-gpt-3b': ModelType.FT,
         | 
| 497 | 
            -
                'CobraMamba/mamba-gpt-3b-v2': ModelType.FT,
         | 
| 498 | 
            -
                'CobraMamba/mamba-gpt-3b-v3': ModelType.FT,
         | 
| 499 | 
            -
                'timdettmers/guanaco-33b-merged': ModelType.FT,
         | 
| 500 | 
            -
                'elinas/chronos-33b': ModelType.IFT,
         | 
| 501 | 
            -
                'heegyu/RedTulu-Uncensored-3B-0719': ModelType.IFT,
         | 
| 502 | 
            -
                'heegyu/WizardVicuna-Uncensored-3B-0719': ModelType.IFT,
         | 
| 503 | 
            -
                'heegyu/WizardVicuna-3B-0719': ModelType.IFT,
         | 
| 504 | 
            -
                'meta-llama/Llama-2-7b-chat-hf': ModelType.RL,
         | 
| 505 | 
            -
                'meta-llama/Llama-2-7b-hf': ModelType.PT,
         | 
| 506 | 
            -
                'meta-llama/Llama-2-13b-chat-hf': ModelType.RL,
         | 
| 507 | 
            -
                'meta-llama/Llama-2-13b-hf': ModelType.PT,
         | 
| 508 | 
            -
                'meta-llama/Llama-2-70b-chat-hf': ModelType.RL,
         | 
| 509 | 
            -
                'meta-llama/Llama-2-70b-hf': ModelType.PT,
         | 
| 510 | 
            -
                'xhyi/PT_GPTNEO350_ATG': ModelType.FT,
         | 
| 511 | 
            -
                'h2oai/h2ogpt-gm-oasst1-en-1024-20b': ModelType.FT,
         | 
| 512 | 
            -
                'h2oai/h2ogpt-gm-oasst1-en-1024-open-llama-7b-preview-400bt': ModelType.FT,
         | 
| 513 | 
            -
                'h2oai/h2ogpt-oig-oasst1-512-6_9b': ModelType.IFT,
         | 
| 514 | 
            -
                'h2oai/h2ogpt-oasst1-512-12b': ModelType.IFT,
         | 
| 515 | 
            -
                'h2oai/h2ogpt-oig-oasst1-256-6_9b': ModelType.IFT,
         | 
| 516 | 
            -
                'h2oai/h2ogpt-gm-oasst1-en-2048-open-llama-7b-preview-300bt': ModelType.FT,
         | 
| 517 | 
            -
                'h2oai/h2ogpt-oasst1-512-20b': ModelType.IFT,
         | 
| 518 | 
            -
                'h2oai/h2ogpt-gm-oasst1-en-2048-open-llama-7b-preview-300bt-v2': ModelType.FT,
         | 
| 519 | 
            -
                'h2oai/h2ogpt-gm-oasst1-en-1024-12b': ModelType.FT,
         | 
| 520 | 
            -
                'h2oai/h2ogpt-gm-oasst1-multilang-1024-20b': ModelType.FT,
         | 
| 521 | 
            -
                'bofenghuang/vigogne-13b-instruct': ModelType.IFT,
         | 
| 522 | 
            -
                'bofenghuang/vigogne-13b-chat': ModelType.FT,
         | 
| 523 | 
            -
                'bofenghuang/vigogne-2-7b-instruct': ModelType.IFT,
         | 
| 524 | 
            -
                'bofenghuang/vigogne-7b-instruct': ModelType.IFT,
         | 
| 525 | 
            -
                'bofenghuang/vigogne-7b-chat': ModelType.FT,
         | 
| 526 | 
            -
                'Vmware/open-llama-7b-v2-open-instruct': ModelType.IFT,
         | 
| 527 | 
            -
                'VMware/open-llama-0.7T-7B-open-instruct-v1.1': ModelType.IFT,
         | 
| 528 | 
            -
                'ewof/koishi-instruct-3b': ModelType.IFT,
         | 
| 529 | 
            -
                'gywy/llama2-13b-chinese-v1': ModelType.FT,
         | 
| 530 | 
            -
                'GOAT-AI/GOAT-7B-Community': ModelType.FT,
         | 
| 531 | 
            -
                'psyche/kollama2-7b': ModelType.FT,
         | 
| 532 | 
            -
                'TheTravellingEngineer/llama2-7b-hf-guanaco': ModelType.FT,
         | 
| 533 | 
            -
                'beaugogh/pythia-1.4b-deduped-sharegpt': ModelType.FT,
         | 
| 534 | 
            -
                'augtoma/qCammel-70-x': ModelType.IFT,
         | 
| 535 | 
            -
                'Lajonbot/Llama-2-7b-chat-hf-instruct-pl-lora_unload': ModelType.IFT,
         | 
| 536 | 
            -
                'anhnv125/pygmalion-6b-roleplay': ModelType.FT,
         | 
| 537 | 
            -
                '64bits/LexPodLM-13B': ModelType.FT,
         | 
| 538 | 
            -
            }
         | 
| 539 | 
            -
             | 
| 540 | 
            -
             | 
| 541 | 
            -
            def model_type_from_str(type):
         | 
| 542 | 
            -
                if "fine-tuned" in type or "🔶" in type:
         | 
| 543 | 
            -
                    return ModelType.FT
         | 
| 544 | 
            -
                if "pretrained" in type or "🟢" in type:
         | 
| 545 | 
            -
                    return ModelType.PT
         | 
| 546 | 
            -
                if "RL-tuned" in type or "🟦" in type:
         | 
| 547 | 
            -
                    return ModelType.RL
         | 
| 548 | 
            -
                if "instruction-tuned" in type or "⭕" in type:
         | 
| 549 | 
            -
                    return ModelType.IFT
         | 
| 550 | 
            -
                return ModelType.Unknown
         | 
| 551 | 
            -
             | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | 
    	
        src/{auto_leaderboard → display_models}/get_model_metadata.py
    RENAMED
    
    | @@ -1,17 +1,17 @@ | |
| 1 | 
            -
            import re
         | 
| 2 | 
            -
            import os
         | 
| 3 | 
             
            import glob
         | 
| 4 | 
             
            import json
         | 
| 5 | 
             
            import os
         | 
|  | |
| 6 | 
             
            from typing import List
         | 
|  | |
|  | |
|  | |
| 7 | 
             
            from tqdm import tqdm
         | 
| 8 |  | 
| 9 | 
            -
            from src. | 
| 10 | 
            -
            from src. | 
| 11 | 
            -
            from src. | 
| 12 |  | 
| 13 | 
            -
            from huggingface_hub import HfApi
         | 
| 14 | 
            -
            import huggingface_hub
         | 
| 15 | 
             
            api = HfApi(token=os.environ.get("H4_TOKEN", None))
         | 
| 16 |  | 
| 17 |  | 
| @@ -38,15 +38,18 @@ def get_model_license(model_info): | |
| 38 | 
             
                except Exception:
         | 
| 39 | 
             
                    return None
         | 
| 40 |  | 
|  | |
| 41 | 
             
            def get_model_likes(model_info):
         | 
| 42 | 
             
                return model_info.likes
         | 
| 43 |  | 
|  | |
| 44 | 
             
            size_pattern = re.compile(r"(\d\.)?\d+(b|m)")
         | 
| 45 |  | 
|  | |
| 46 | 
             
            def get_model_size(model_name, model_info):
         | 
| 47 | 
             
                # In billions
         | 
| 48 | 
             
                try:
         | 
| 49 | 
            -
                    return round(model_info.safetensors["total"] / 1e9, 3) | 
| 50 | 
             
                except AttributeError:
         | 
| 51 | 
             
                    try:
         | 
| 52 | 
             
                        size_match = re.search(size_pattern, model_name.lower())
         | 
| @@ -58,7 +61,10 @@ def get_model_size(model_name, model_info): | |
| 58 |  | 
| 59 | 
             
            def get_model_type(leaderboard_data: List[dict]):
         | 
| 60 | 
             
                for model_data in leaderboard_data:
         | 
| 61 | 
            -
                    request_files = os.path.join( | 
|  | |
|  | |
|  | |
| 62 | 
             
                    request_files = glob.glob(request_files)
         | 
| 63 |  | 
| 64 | 
             
                    # Select correct request file (precision)
         | 
| @@ -70,9 +76,12 @@ def get_model_type(leaderboard_data: List[dict]): | |
| 70 | 
             
                        for tmp_request_file in request_files:
         | 
| 71 | 
             
                            with open(tmp_request_file, "r") as f:
         | 
| 72 | 
             
                                req_content = json.load(f)
         | 
| 73 | 
            -
                                if  | 
|  | |
|  | |
|  | |
| 74 | 
             
                                    request_file = tmp_request_file
         | 
| 75 | 
            -
             | 
| 76 | 
             
                    if request_file == "":
         | 
| 77 | 
             
                        model_data[AutoEvalColumn.model_type.name] = ""
         | 
| 78 | 
             
                        model_data[AutoEvalColumn.model_type_symbol.name] = ""
         | 
| @@ -81,30 +90,41 @@ def get_model_type(leaderboard_data: List[dict]): | |
| 81 | 
             
                    try:
         | 
| 82 | 
             
                        with open(request_file, "r") as f:
         | 
| 83 | 
             
                            request = json.load(f)
         | 
| 84 | 
            -
                         | 
| 85 | 
             
                    except Exception:
         | 
| 86 | 
            -
                         | 
| 87 |  | 
| 88 | 
             
                    try:
         | 
| 89 | 
             
                        with open(request_file, "r") as f:
         | 
| 90 | 
             
                            request = json.load(f)
         | 
| 91 | 
             
                        model_type = model_type_from_str(request["model_type"])
         | 
| 92 | 
             
                        model_data[AutoEvalColumn.model_type.name] = model_type.value.name
         | 
| 93 | 
            -
                        model_data[AutoEvalColumn.model_type_symbol.name] = model_type.value.symbol  | 
| 94 | 
             
                    except KeyError:
         | 
| 95 | 
             
                        if model_data["model_name_for_query"] in MODEL_TYPE_METADATA:
         | 
| 96 | 
            -
                            model_data[AutoEvalColumn.model_type.name] = MODEL_TYPE_METADATA[ | 
| 97 | 
            -
             | 
|  | |
|  | |
|  | |
|  | |
| 98 | 
             
                        else:
         | 
| 99 | 
             
                            model_data[AutoEvalColumn.model_type.name] = ModelType.Unknown.value.name
         | 
| 100 | 
             
                            model_data[AutoEvalColumn.model_type_symbol.name] = ModelType.Unknown.value.symbol
         | 
| 101 |  | 
| 102 | 
            -
             | 
|  | |
| 103 | 
             
                for model_data in leaderboard_data:
         | 
| 104 | 
             
                    if model_data["model_name_for_query"] in FLAGGED_MODELS:
         | 
| 105 | 
             
                        issue_num = FLAGGED_MODELS[model_data["model_name_for_query"]].split("/")[-1]
         | 
| 106 | 
            -
                        issue_link = model_hyperlink( | 
| 107 | 
            -
             | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 108 |  | 
| 109 | 
             
            def remove_forbidden_models(leaderboard_data: List[dict]):
         | 
| 110 | 
             
                indices_to_remove = []
         | 
| @@ -116,6 +136,7 @@ def remove_forbidden_models(leaderboard_data: List[dict]): | |
| 116 | 
             
                    leaderboard_data.pop(ix)
         | 
| 117 | 
             
                return leaderboard_data
         | 
| 118 |  | 
|  | |
| 119 | 
             
            def apply_metadata(leaderboard_data: List[dict]):
         | 
| 120 | 
             
                leaderboard_data = remove_forbidden_models(leaderboard_data)
         | 
| 121 | 
             
                get_model_type(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 |  | 
|  | |
| 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())
         | 
|  | |
| 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)
         | 
|  | |
| 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 | 
             
                    if request_file == "":
         | 
| 86 | 
             
                        model_data[AutoEvalColumn.model_type.name] = ""
         | 
| 87 | 
             
                        model_data[AutoEvalColumn.model_type_symbol.name] = ""
         | 
|  | |
| 90 | 
             
                    try:
         | 
| 91 | 
             
                        with open(request_file, "r") as f:
         | 
| 92 | 
             
                            request = json.load(f)
         | 
| 93 | 
            +
                        request["weight_type"] != "Original"
         | 
| 94 | 
             
                    except Exception:
         | 
| 95 | 
            +
                        pass
         | 
| 96 |  | 
| 97 | 
             
                    try:
         | 
| 98 | 
             
                        with open(request_file, "r") as f:
         | 
| 99 | 
             
                            request = json.load(f)
         | 
| 100 | 
             
                        model_type = model_type_from_str(request["model_type"])
         | 
| 101 | 
             
                        model_data[AutoEvalColumn.model_type.name] = model_type.value.name
         | 
| 102 | 
            +
                        model_data[AutoEvalColumn.model_type_symbol.name] = model_type.value.symbol  # + ("🔺" if is_delta else "")
         | 
| 103 | 
             
                    except KeyError:
         | 
| 104 | 
             
                        if model_data["model_name_for_query"] in MODEL_TYPE_METADATA:
         | 
| 105 | 
            +
                            model_data[AutoEvalColumn.model_type.name] = MODEL_TYPE_METADATA[
         | 
| 106 | 
            +
                                model_data["model_name_for_query"]
         | 
| 107 | 
            +
                            ].value.name
         | 
| 108 | 
            +
                            model_data[AutoEvalColumn.model_type_symbol.name] = MODEL_TYPE_METADATA[
         | 
| 109 | 
            +
                                model_data["model_name_for_query"]
         | 
| 110 | 
            +
                            ].value.symbol  # + ("🔺" if is_delta else "")
         | 
| 111 | 
             
                        else:
         | 
| 112 | 
             
                            model_data[AutoEvalColumn.model_type.name] = ModelType.Unknown.value.name
         | 
| 113 | 
             
                            model_data[AutoEvalColumn.model_type_symbol.name] = ModelType.Unknown.value.symbol
         | 
| 114 |  | 
| 115 | 
            +
             | 
| 116 | 
            +
            def flag_models(leaderboard_data: List[dict]):
         | 
| 117 | 
             
                for model_data in leaderboard_data:
         | 
| 118 | 
             
                    if model_data["model_name_for_query"] in FLAGGED_MODELS:
         | 
| 119 | 
             
                        issue_num = FLAGGED_MODELS[model_data["model_name_for_query"]].split("/")[-1]
         | 
| 120 | 
            +
                        issue_link = model_hyperlink(
         | 
| 121 | 
            +
                            FLAGGED_MODELS[model_data["model_name_for_query"]],
         | 
| 122 | 
            +
                            f"See discussion #{issue_num}",
         | 
| 123 | 
            +
                        )
         | 
| 124 | 
            +
                        model_data[
         | 
| 125 | 
            +
                            AutoEvalColumn.model.name
         | 
| 126 | 
            +
                        ] = f"{model_data[AutoEvalColumn.model.name]} has been flagged! {issue_link}"
         | 
| 127 | 
            +
             | 
| 128 |  | 
| 129 | 
             
            def remove_forbidden_models(leaderboard_data: List[dict]):
         | 
| 130 | 
             
                indices_to_remove = []
         | 
|  | |
| 136 | 
             
                    leaderboard_data.pop(ix)
         | 
| 137 | 
             
                return leaderboard_data
         | 
| 138 |  | 
| 139 | 
            +
             | 
| 140 | 
             
            def apply_metadata(leaderboard_data: List[dict]):
         | 
| 141 | 
             
                leaderboard_data = remove_forbidden_models(leaderboard_data)
         | 
| 142 | 
             
                get_model_type(leaderboard_data)
         | 
    	
        src/{auto_leaderboard → display_models}/model_metadata_flags.py
    RENAMED
    
    | @@ -8,5 +8,5 @@ FLAGGED_MODELS = { | |
| 8 |  | 
| 9 | 
             
            # Models which have been requested by orgs to not be submitted on the leaderboard
         | 
| 10 | 
             
            DO_NOT_SUBMIT_MODELS = [
         | 
| 11 | 
            -
                "Voicelab/trurl-2-13b", | 
| 12 | 
            -
            ]
         | 
|  | |
| 8 |  | 
| 9 | 
             
            # Models which have been requested by orgs to not be submitted on the leaderboard
         | 
| 10 | 
             
            DO_NOT_SUBMIT_MODELS = [
         | 
| 11 | 
            +
                "Voicelab/trurl-2-13b",  # trained on MMLU
         | 
| 12 | 
            +
            ]
         | 
    	
        src/display_models/model_metadata_type.py
    ADDED
    
    | @@ -0,0 +1,550 @@ | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | 
|  | |
| 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 | 
            +
                "notstoic/PygmalionCoT-7b": ModelType.IFT,
         | 
| 25 | 
            +
                "aisquared/dlite-v1-355m": ModelType.IFT,
         | 
| 26 | 
            +
                "aisquared/dlite-v1-1_5b": ModelType.IFT,
         | 
| 27 | 
            +
                "aisquared/dlite-v1-774m": ModelType.IFT,
         | 
| 28 | 
            +
                "aisquared/dlite-v1-124m": ModelType.IFT,
         | 
| 29 | 
            +
                "aisquared/chopt-2_7b": ModelType.IFT,
         | 
| 30 | 
            +
                "aisquared/dlite-v2-124m": ModelType.IFT,
         | 
| 31 | 
            +
                "aisquared/dlite-v2-774m": ModelType.IFT,
         | 
| 32 | 
            +
                "aisquared/dlite-v2-1_5b": ModelType.IFT,
         | 
| 33 | 
            +
                "aisquared/chopt-1_3b": ModelType.IFT,
         | 
| 34 | 
            +
                "aisquared/dlite-v2-355m": ModelType.IFT,
         | 
| 35 | 
            +
                "augtoma/qCammel-13": ModelType.IFT,
         | 
| 36 | 
            +
                "Aspik101/Llama-2-7b-hf-instruct-pl-lora_unload": ModelType.IFT,
         | 
| 37 | 
            +
                "Aspik101/vicuna-7b-v1.3-instruct-pl-lora_unload": ModelType.IFT,
         | 
| 38 | 
            +
                "TheBloke/alpaca-lora-65B-HF": ModelType.FT,
         | 
| 39 | 
            +
                "TheBloke/tulu-7B-fp16": ModelType.IFT,
         | 
| 40 | 
            +
                "TheBloke/guanaco-7B-HF": ModelType.FT,
         | 
| 41 | 
            +
                "TheBloke/koala-7B-HF": ModelType.FT,
         | 
| 42 | 
            +
                "TheBloke/wizardLM-7B-HF": ModelType.IFT,
         | 
| 43 | 
            +
                "TheBloke/airoboros-13B-HF": ModelType.IFT,
         | 
| 44 | 
            +
                "TheBloke/koala-13B-HF": ModelType.FT,
         | 
| 45 | 
            +
                "TheBloke/Wizard-Vicuna-7B-Uncensored-HF": ModelType.FT,
         | 
| 46 | 
            +
                "TheBloke/dromedary-65b-lora-HF": ModelType.IFT,
         | 
| 47 | 
            +
                "TheBloke/wizardLM-13B-1.0-fp16": ModelType.IFT,
         | 
| 48 | 
            +
                "TheBloke/WizardLM-13B-V1-1-SuperHOT-8K-fp16": ModelType.FT,
         | 
| 49 | 
            +
                "TheBloke/Wizard-Vicuna-30B-Uncensored-fp16": ModelType.FT,
         | 
| 50 | 
            +
                "TheBloke/wizard-vicuna-13B-HF": ModelType.IFT,
         | 
| 51 | 
            +
                "TheBloke/UltraLM-13B-fp16": ModelType.IFT,
         | 
| 52 | 
            +
                "TheBloke/OpenAssistant-FT-7-Llama-30B-HF": ModelType.FT,
         | 
| 53 | 
            +
                "TheBloke/vicuna-13B-1.1-HF": ModelType.IFT,
         | 
| 54 | 
            +
                "TheBloke/guanaco-13B-HF": ModelType.FT,
         | 
| 55 | 
            +
                "TheBloke/guanaco-65B-HF": ModelType.FT,
         | 
| 56 | 
            +
                "TheBloke/airoboros-7b-gpt4-fp16": ModelType.IFT,
         | 
| 57 | 
            +
                "TheBloke/llama-30b-supercot-SuperHOT-8K-fp16": ModelType.IFT,
         | 
| 58 | 
            +
                "TheBloke/Llama-2-13B-fp16": ModelType.PT,
         | 
| 59 | 
            +
                "TheBloke/llama-2-70b-Guanaco-QLoRA-fp16": ModelType.FT,
         | 
| 60 | 
            +
                "TheBloke/landmark-attention-llama7b-fp16": ModelType.IFT,
         | 
| 61 | 
            +
                "TheBloke/Planner-7B-fp16": ModelType.IFT,
         | 
| 62 | 
            +
                "TheBloke/Wizard-Vicuna-13B-Uncensored-HF": ModelType.FT,
         | 
| 63 | 
            +
                "TheBloke/gpt4-alpaca-lora-13B-HF": ModelType.IFT,
         | 
| 64 | 
            +
                "TheBloke/gpt4-x-vicuna-13B-HF": ModelType.IFT,
         | 
| 65 | 
            +
                "TheBloke/gpt4-alpaca-lora_mlp-65B-HF": ModelType.IFT,
         | 
| 66 | 
            +
                "TheBloke/tulu-13B-fp16": ModelType.IFT,
         | 
| 67 | 
            +
                "TheBloke/VicUnlocked-alpaca-65B-QLoRA-fp16": ModelType.IFT,
         | 
| 68 | 
            +
                "TheBloke/Llama-2-70B-fp16": ModelType.IFT,
         | 
| 69 | 
            +
                "TheBloke/WizardLM-30B-fp16": ModelType.IFT,
         | 
| 70 | 
            +
                "TheBloke/robin-13B-v2-fp16": ModelType.FT,
         | 
| 71 | 
            +
                "TheBloke/robin-33B-v2-fp16": ModelType.FT,
         | 
| 72 | 
            +
                "TheBloke/Vicuna-13B-CoT-fp16": ModelType.IFT,
         | 
| 73 | 
            +
                "TheBloke/Vicuna-33B-1-3-SuperHOT-8K-fp16": ModelType.IFT,
         | 
| 74 | 
            +
                "TheBloke/Wizard-Vicuna-30B-Superhot-8K-fp16": ModelType.FT,
         | 
| 75 | 
            +
                "TheBloke/Nous-Hermes-13B-SuperHOT-8K-fp16": ModelType.IFT,
         | 
| 76 | 
            +
                "TheBloke/GPlatty-30B-SuperHOT-8K-fp16": ModelType.FT,
         | 
| 77 | 
            +
                "TheBloke/CAMEL-33B-Combined-Data-SuperHOT-8K-fp16": ModelType.IFT,
         | 
| 78 | 
            +
                "TheBloke/Chinese-Alpaca-33B-SuperHOT-8K-fp16": ModelType.IFT,
         | 
| 79 | 
            +
                "jphme/orca_mini_v2_ger_7b": ModelType.IFT,
         | 
| 80 | 
            +
                "Ejafa/vicuna_7B_vanilla_1.1": ModelType.FT,
         | 
| 81 | 
            +
                "kevinpro/Vicuna-13B-CoT": ModelType.IFT,
         | 
| 82 | 
            +
                "AlekseyKorshuk/pygmalion-6b-vicuna-chatml": ModelType.FT,
         | 
| 83 | 
            +
                "AlekseyKorshuk/chatml-pyg-v1": ModelType.FT,
         | 
| 84 | 
            +
                "concedo/Vicuzard-30B-Uncensored": ModelType.FT,
         | 
| 85 | 
            +
                "concedo/OPT-19M-ChatSalad": ModelType.FT,
         | 
| 86 | 
            +
                "concedo/Pythia-70M-ChatSalad": ModelType.FT,
         | 
| 87 | 
            +
                "digitous/13B-HyperMantis": ModelType.IFT,
         | 
| 88 | 
            +
                "digitous/Adventien-GPTJ": ModelType.FT,
         | 
| 89 | 
            +
                "digitous/Alpacino13b": ModelType.IFT,
         | 
| 90 | 
            +
                "digitous/GPT-R": ModelType.IFT,
         | 
| 91 | 
            +
                "digitous/Javelin-R": ModelType.IFT,
         | 
| 92 | 
            +
                "digitous/Javalion-GPTJ": ModelType.IFT,
         | 
| 93 | 
            +
                "digitous/Javalion-R": ModelType.IFT,
         | 
| 94 | 
            +
                "digitous/Skegma-GPTJ": ModelType.FT,
         | 
| 95 | 
            +
                "digitous/Alpacino30b": ModelType.IFT,
         | 
| 96 | 
            +
                "digitous/Janin-GPTJ": ModelType.FT,
         | 
| 97 | 
            +
                "digitous/Janin-R": ModelType.FT,
         | 
| 98 | 
            +
                "digitous/Javelin-GPTJ": ModelType.FT,
         | 
| 99 | 
            +
                "SaylorTwift/gpt2_test": ModelType.PT,
         | 
| 100 | 
            +
                "anton-l/gpt-j-tiny-random": ModelType.FT,
         | 
| 101 | 
            +
                "Andron00e/YetAnother_Open-Llama-3B-LoRA-OpenOrca": ModelType.FT,
         | 
| 102 | 
            +
                "Lazycuber/pyg-instruct-wizardlm": ModelType.FT,
         | 
| 103 | 
            +
                "Lazycuber/Janemalion-6B": ModelType.FT,
         | 
| 104 | 
            +
                "IDEA-CCNL/Ziya-LLaMA-13B-Pretrain-v1": ModelType.FT,
         | 
| 105 | 
            +
                "IDEA-CCNL/Ziya-LLaMA-13B-v1": ModelType.IFT,
         | 
| 106 | 
            +
                "dsvv-cair/alpaca-cleaned-llama-30b-bf16": ModelType.FT,
         | 
| 107 | 
            +
                "gpt2-medium": ModelType.PT,
         | 
| 108 | 
            +
                "camel-ai/CAMEL-13B-Combined-Data": ModelType.IFT,
         | 
| 109 | 
            +
                "camel-ai/CAMEL-13B-Role-Playing-Data": ModelType.FT,
         | 
| 110 | 
            +
                "camel-ai/CAMEL-33B-Combined-Data": ModelType.IFT,
         | 
| 111 | 
            +
                "PygmalionAI/pygmalion-6b": ModelType.FT,
         | 
| 112 | 
            +
                "PygmalionAI/metharme-1.3b": ModelType.IFT,
         | 
| 113 | 
            +
                "PygmalionAI/pygmalion-1.3b": ModelType.FT,
         | 
| 114 | 
            +
                "PygmalionAI/pygmalion-350m": ModelType.FT,
         | 
| 115 | 
            +
                "PygmalionAI/pygmalion-2.7b": ModelType.FT,
         | 
| 116 | 
            +
                "medalpaca/medalpaca-7b": ModelType.FT,
         | 
| 117 | 
            +
                "lilloukas/Platypus-30B": ModelType.IFT,
         | 
| 118 | 
            +
                "lilloukas/GPlatty-30B": ModelType.FT,
         | 
| 119 | 
            +
                "mncai/chatdoctor": ModelType.FT,
         | 
| 120 | 
            +
                "chaoyi-wu/MedLLaMA_13B": ModelType.FT,
         | 
| 121 | 
            +
                "LoupGarou/WizardCoder-Guanaco-15B-V1.0": ModelType.IFT,
         | 
| 122 | 
            +
                "LoupGarou/WizardCoder-Guanaco-15B-V1.1": ModelType.FT,
         | 
| 123 | 
            +
                "hakurei/instruct-12b": ModelType.IFT,
         | 
| 124 | 
            +
                "hakurei/lotus-12B": ModelType.FT,
         | 
| 125 | 
            +
                "shibing624/chinese-llama-plus-13b-hf": ModelType.IFT,
         | 
| 126 | 
            +
                "shibing624/chinese-alpaca-plus-7b-hf": ModelType.IFT,
         | 
| 127 | 
            +
                "shibing624/chinese-alpaca-plus-13b-hf": ModelType.IFT,
         | 
| 128 | 
            +
                "mosaicml/mpt-7b-instruct": ModelType.IFT,
         | 
| 129 | 
            +
                "mosaicml/mpt-30b-chat": ModelType.IFT,
         | 
| 130 | 
            +
                "mosaicml/mpt-7b-storywriter": ModelType.FT,
         | 
| 131 | 
            +
                "mosaicml/mpt-30b-instruct": ModelType.IFT,
         | 
| 132 | 
            +
                "mosaicml/mpt-7b-chat": ModelType.IFT,
         | 
| 133 | 
            +
                "mosaicml/mpt-30b": ModelType.PT,
         | 
| 134 | 
            +
                "Corianas/111m": ModelType.IFT,
         | 
| 135 | 
            +
                "Corianas/Quokka_1.3b": ModelType.IFT,
         | 
| 136 | 
            +
                "Corianas/256_5epoch": ModelType.FT,
         | 
| 137 | 
            +
                "Corianas/Quokka_256m": ModelType.IFT,
         | 
| 138 | 
            +
                "Corianas/Quokka_590m": ModelType.IFT,
         | 
| 139 | 
            +
                "Corianas/gpt-j-6B-Dolly": ModelType.FT,
         | 
| 140 | 
            +
                "Corianas/Quokka_2.7b": ModelType.IFT,
         | 
| 141 | 
            +
                "cyberagent/open-calm-7b": ModelType.FT,
         | 
| 142 | 
            +
                "Aspik101/Nous-Hermes-13b-pl-lora_unload": ModelType.IFT,
         | 
| 143 | 
            +
                "THUDM/chatglm2-6b": ModelType.IFT,
         | 
| 144 | 
            +
                "MetaIX/GPT4-X-Alpasta-30b": ModelType.IFT,
         | 
| 145 | 
            +
                "NYTK/PULI-GPTrio": ModelType.PT,
         | 
| 146 | 
            +
                "EleutherAI/pythia-1.3b": ModelType.PT,
         | 
| 147 | 
            +
                "EleutherAI/pythia-2.8b-deduped": ModelType.PT,
         | 
| 148 | 
            +
                "EleutherAI/gpt-neo-125m": ModelType.PT,
         | 
| 149 | 
            +
                "EleutherAI/pythia-160m": ModelType.PT,
         | 
| 150 | 
            +
                "EleutherAI/gpt-neo-2.7B": ModelType.PT,
         | 
| 151 | 
            +
                "EleutherAI/pythia-1b-deduped": ModelType.PT,
         | 
| 152 | 
            +
                "EleutherAI/pythia-6.7b": ModelType.PT,
         | 
| 153 | 
            +
                "EleutherAI/pythia-70m-deduped": ModelType.PT,
         | 
| 154 | 
            +
                "EleutherAI/gpt-neox-20b": ModelType.PT,
         | 
| 155 | 
            +
                "EleutherAI/pythia-1.4b-deduped": ModelType.PT,
         | 
| 156 | 
            +
                "EleutherAI/pythia-2.7b": ModelType.PT,
         | 
| 157 | 
            +
                "EleutherAI/pythia-6.9b-deduped": ModelType.PT,
         | 
| 158 | 
            +
                "EleutherAI/pythia-70m": ModelType.PT,
         | 
| 159 | 
            +
                "EleutherAI/gpt-j-6b": ModelType.PT,
         | 
| 160 | 
            +
                "EleutherAI/pythia-12b-deduped": ModelType.PT,
         | 
| 161 | 
            +
                "EleutherAI/gpt-neo-1.3B": ModelType.PT,
         | 
| 162 | 
            +
                "EleutherAI/pythia-410m-deduped": ModelType.PT,
         | 
| 163 | 
            +
                "EleutherAI/pythia-160m-deduped": ModelType.PT,
         | 
| 164 | 
            +
                "EleutherAI/polyglot-ko-12.8b": ModelType.PT,
         | 
| 165 | 
            +
                "EleutherAI/pythia-12b": ModelType.PT,
         | 
| 166 | 
            +
                "roneneldan/TinyStories-33M": ModelType.PT,
         | 
| 167 | 
            +
                "roneneldan/TinyStories-28M": ModelType.PT,
         | 
| 168 | 
            +
                "roneneldan/TinyStories-1M": ModelType.PT,
         | 
| 169 | 
            +
                "roneneldan/TinyStories-8M": ModelType.PT,
         | 
| 170 | 
            +
                "roneneldan/TinyStories-3M": ModelType.PT,
         | 
| 171 | 
            +
                "jerryjalapeno/nart-100k-7b": ModelType.FT,
         | 
| 172 | 
            +
                "lmsys/vicuna-13b-v1.3": ModelType.IFT,
         | 
| 173 | 
            +
                "lmsys/vicuna-7b-v1.3": ModelType.IFT,
         | 
| 174 | 
            +
                "lmsys/vicuna-13b-v1.1": ModelType.IFT,
         | 
| 175 | 
            +
                "lmsys/vicuna-13b-delta-v1.1": ModelType.IFT,
         | 
| 176 | 
            +
                "lmsys/vicuna-7b-delta-v1.1": ModelType.IFT,
         | 
| 177 | 
            +
                "abhiramtirumala/DialoGPT-sarcastic-medium": ModelType.FT,
         | 
| 178 | 
            +
                "haonan-li/bactrian-x-llama-13b-merged": ModelType.IFT,
         | 
| 179 | 
            +
                "Gryphe/MythoLogic-13b": ModelType.IFT,
         | 
| 180 | 
            +
                "Gryphe/MythoBoros-13b": ModelType.IFT,
         | 
| 181 | 
            +
                "pillowtalks-ai/delta13b": ModelType.FT,
         | 
| 182 | 
            +
                "wannaphong/openthaigpt-0.1.0-beta-full-model_for_open_llm_leaderboard": ModelType.FT,
         | 
| 183 | 
            +
                "bigscience/bloom-7b1": ModelType.PT,
         | 
| 184 | 
            +
                "bigcode/tiny_starcoder_py": ModelType.PT,
         | 
| 185 | 
            +
                "bigcode/starcoderplus": ModelType.FT,
         | 
| 186 | 
            +
                "bigcode/gpt_bigcode-santacoder": ModelType.PT,
         | 
| 187 | 
            +
                "bigcode/starcoder": ModelType.PT,
         | 
| 188 | 
            +
                "Open-Orca/OpenOrca-Preview1-13B": ModelType.IFT,
         | 
| 189 | 
            +
                "microsoft/DialoGPT-large": ModelType.FT,
         | 
| 190 | 
            +
                "microsoft/DialoGPT-small": ModelType.FT,
         | 
| 191 | 
            +
                "microsoft/DialoGPT-medium": ModelType.FT,
         | 
| 192 | 
            +
                "microsoft/CodeGPT-small-py": ModelType.FT,
         | 
| 193 | 
            +
                "Tincando/fiction_story_generator": ModelType.FT,
         | 
| 194 | 
            +
                "Pirr/pythia-13b-deduped-green_devil": ModelType.FT,
         | 
| 195 | 
            +
                "Aeala/GPT4-x-AlpacaDente2-30b": ModelType.FT,
         | 
| 196 | 
            +
                "Aeala/GPT4-x-AlpacaDente-30b": ModelType.FT,
         | 
| 197 | 
            +
                "Aeala/GPT4-x-Alpasta-13b": ModelType.FT,
         | 
| 198 | 
            +
                "Aeala/VicUnlocked-alpaca-30b": ModelType.IFT,
         | 
| 199 | 
            +
                "Tap-M/Luna-AI-Llama2-Uncensored": ModelType.FT,
         | 
| 200 | 
            +
                "illuin/test-custom-llama": ModelType.FT,
         | 
| 201 | 
            +
                "dvruette/oasst-llama-13b-2-epochs": ModelType.FT,
         | 
| 202 | 
            +
                "dvruette/oasst-gpt-neox-20b-1000-steps": ModelType.FT,
         | 
| 203 | 
            +
                "dvruette/llama-13b-pretrained-dropout": ModelType.PT,
         | 
| 204 | 
            +
                "dvruette/llama-13b-pretrained": ModelType.PT,
         | 
| 205 | 
            +
                "dvruette/llama-13b-pretrained-sft-epoch-1": ModelType.FT,
         | 
| 206 | 
            +
                "dvruette/llama-13b-pretrained-sft-do2": ModelType.FT,
         | 
| 207 | 
            +
                "dvruette/oasst-gpt-neox-20b-3000-steps": ModelType.FT,
         | 
| 208 | 
            +
                "dvruette/oasst-pythia-12b-pretrained-sft": ModelType.FT,
         | 
| 209 | 
            +
                "dvruette/oasst-pythia-6.9b-4000-steps": ModelType.FT,
         | 
| 210 | 
            +
                "dvruette/gpt-neox-20b-full-precision": ModelType.FT,
         | 
| 211 | 
            +
                "dvruette/oasst-llama-13b-1000-steps": ModelType.FT,
         | 
| 212 | 
            +
                "openlm-research/open_llama_7b_700bt_preview": ModelType.PT,
         | 
| 213 | 
            +
                "openlm-research/open_llama_7b": ModelType.PT,
         | 
| 214 | 
            +
                "openlm-research/open_llama_7b_v2": ModelType.PT,
         | 
| 215 | 
            +
                "openlm-research/open_llama_3b": ModelType.PT,
         | 
| 216 | 
            +
                "openlm-research/open_llama_13b": ModelType.PT,
         | 
| 217 | 
            +
                "openlm-research/open_llama_3b_v2": ModelType.PT,
         | 
| 218 | 
            +
                "PocketDoc/Dans-PileOfSets-Mk1-llama-13b-merged": ModelType.IFT,
         | 
| 219 | 
            +
                "GeorgiaTechResearchInstitute/galpaca-30b": ModelType.IFT,
         | 
| 220 | 
            +
                "GeorgiaTechResearchInstitute/starcoder-gpteacher-code-instruct": ModelType.IFT,
         | 
| 221 | 
            +
                "databricks/dolly-v2-7b": ModelType.IFT,
         | 
| 222 | 
            +
                "databricks/dolly-v2-3b": ModelType.IFT,
         | 
| 223 | 
            +
                "databricks/dolly-v2-12b": ModelType.IFT,
         | 
| 224 | 
            +
                "Rachneet/gpt2-xl-alpaca": ModelType.FT,
         | 
| 225 | 
            +
                "Locutusque/gpt2-conversational-or-qa": ModelType.FT,
         | 
| 226 | 
            +
                "psyche/kogpt": ModelType.FT,
         | 
| 227 | 
            +
                "NbAiLab/nb-gpt-j-6B-alpaca": ModelType.IFT,
         | 
| 228 | 
            +
                "Mikael110/llama-2-7b-guanaco-fp16": ModelType.FT,
         | 
| 229 | 
            +
                "Mikael110/llama-2-13b-guanaco-fp16": ModelType.FT,
         | 
| 230 | 
            +
                "Fredithefish/CrimsonPajama": ModelType.IFT,
         | 
| 231 | 
            +
                "Fredithefish/RedPajama-INCITE-Chat-3B-ShareGPT-11K": ModelType.FT,
         | 
| 232 | 
            +
                "Fredithefish/ScarletPajama-3B-HF": ModelType.FT,
         | 
| 233 | 
            +
                "Fredithefish/RedPajama-INCITE-Chat-3B-Instruction-Tuning-with-GPT-4": ModelType.IFT,
         | 
| 234 | 
            +
                "acrastt/RedPajama-INCITE-Chat-Instruct-3B-V1": ModelType.IFT,
         | 
| 235 | 
            +
                "eachadea/vicuna-13b-1.1": ModelType.FT,
         | 
| 236 | 
            +
                "eachadea/vicuna-7b-1.1": ModelType.FT,
         | 
| 237 | 
            +
                "eachadea/vicuna-13b": ModelType.FT,
         | 
| 238 | 
            +
                "openaccess-ai-collective/wizard-mega-13b": ModelType.IFT,
         | 
| 239 | 
            +
                "openaccess-ai-collective/manticore-13b": ModelType.IFT,
         | 
| 240 | 
            +
                "openaccess-ai-collective/manticore-30b-chat-pyg-alpha": ModelType.IFT,
         | 
| 241 | 
            +
                "openaccess-ai-collective/minotaur-13b": ModelType.IFT,
         | 
| 242 | 
            +
                "openaccess-ai-collective/minotaur-13b-fixed": ModelType.IFT,
         | 
| 243 | 
            +
                "openaccess-ai-collective/hippogriff-30b-chat": ModelType.IFT,
         | 
| 244 | 
            +
                "openaccess-ai-collective/manticore-13b-chat-pyg": ModelType.IFT,
         | 
| 245 | 
            +
                "pythainlp/wangchanglm-7.5B-sft-enth": ModelType.IFT,
         | 
| 246 | 
            +
                "pythainlp/wangchanglm-7.5B-sft-en-sharded": ModelType.IFT,
         | 
| 247 | 
            +
                "euclaise/gpt-neox-122m-minipile-digits": ModelType.FT,
         | 
| 248 | 
            +
                "stabilityai/StableBeluga1-Delta": ModelType.IFT,
         | 
| 249 | 
            +
                "stabilityai/stablelm-tuned-alpha-7b": ModelType.IFT,
         | 
| 250 | 
            +
                "stabilityai/StableBeluga2": ModelType.IFT,
         | 
| 251 | 
            +
                "stabilityai/StableBeluga-13B": ModelType.IFT,
         | 
| 252 | 
            +
                "stabilityai/StableBeluga-7B": ModelType.IFT,
         | 
| 253 | 
            +
                "stabilityai/stablelm-base-alpha-7b": ModelType.PT,
         | 
| 254 | 
            +
                "stabilityai/stablelm-base-alpha-3b": ModelType.PT,
         | 
| 255 | 
            +
                "stabilityai/stablelm-tuned-alpha-3b": ModelType.IFT,
         | 
| 256 | 
            +
                "alibidaran/medical_transcription_generator": ModelType.FT,
         | 
| 257 | 
            +
                "CalderaAI/30B-Lazarus": ModelType.IFT,
         | 
| 258 | 
            +
                "CalderaAI/13B-BlueMethod": ModelType.IFT,
         | 
| 259 | 
            +
                "CalderaAI/13B-Ouroboros": ModelType.IFT,
         | 
| 260 | 
            +
                "KoboldAI/OPT-13B-Erebus": ModelType.FT,
         | 
| 261 | 
            +
                "KoboldAI/GPT-J-6B-Janeway": ModelType.FT,
         | 
| 262 | 
            +
                "KoboldAI/GPT-J-6B-Shinen": ModelType.FT,
         | 
| 263 | 
            +
                "KoboldAI/fairseq-dense-2.7B": ModelType.PT,
         | 
| 264 | 
            +
                "KoboldAI/OPT-6B-nerys-v2": ModelType.FT,
         | 
| 265 | 
            +
                "KoboldAI/GPT-NeoX-20B-Skein": ModelType.FT,
         | 
| 266 | 
            +
                "KoboldAI/PPO_Pygway-6b-Mix": ModelType.FT,
         | 
| 267 | 
            +
                "KoboldAI/fairseq-dense-6.7B": ModelType.PT,
         | 
| 268 | 
            +
                "KoboldAI/fairseq-dense-125M": ModelType.PT,
         | 
| 269 | 
            +
                "KoboldAI/OPT-13B-Nerybus-Mix": ModelType.FT,
         | 
| 270 | 
            +
                "KoboldAI/OPT-2.7B-Erebus": ModelType.FT,
         | 
| 271 | 
            +
                "KoboldAI/OPT-350M-Nerys-v2": ModelType.FT,
         | 
| 272 | 
            +
                "KoboldAI/OPT-2.7B-Nerys-v2": ModelType.FT,
         | 
| 273 | 
            +
                "KoboldAI/OPT-2.7B-Nerybus-Mix": ModelType.FT,
         | 
| 274 | 
            +
                "KoboldAI/OPT-13B-Nerys-v2": ModelType.FT,
         | 
| 275 | 
            +
                "KoboldAI/GPT-NeoX-20B-Erebus": ModelType.FT,
         | 
| 276 | 
            +
                "KoboldAI/OPT-6.7B-Erebus": ModelType.FT,
         | 
| 277 | 
            +
                "KoboldAI/fairseq-dense-355M": ModelType.PT,
         | 
| 278 | 
            +
                "KoboldAI/OPT-6.7B-Nerybus-Mix": ModelType.FT,
         | 
| 279 | 
            +
                "KoboldAI/GPT-J-6B-Adventure": ModelType.FT,
         | 
| 280 | 
            +
                "KoboldAI/OPT-350M-Erebus": ModelType.FT,
         | 
| 281 | 
            +
                "KoboldAI/GPT-J-6B-Skein": ModelType.FT,
         | 
| 282 | 
            +
                "KoboldAI/OPT-30B-Erebus": ModelType.FT,
         | 
| 283 | 
            +
                "klosax/pythia-160m-deduped-step92k-193bt": ModelType.PT,
         | 
| 284 | 
            +
                "klosax/open_llama_3b_350bt_preview": ModelType.PT,
         | 
| 285 | 
            +
                "klosax/openllama-3b-350bt": ModelType.PT,
         | 
| 286 | 
            +
                "klosax/pythia-70m-deduped-step44k-92bt": ModelType.PT,
         | 
| 287 | 
            +
                "klosax/open_llama_13b_600bt_preview": ModelType.PT,
         | 
| 288 | 
            +
                "klosax/open_llama_7b_400bt_preview": ModelType.PT,
         | 
| 289 | 
            +
                "kfkas/Llama-2-ko-7b-Chat": ModelType.IFT,
         | 
| 290 | 
            +
                "WeOpenML/Alpaca-7B-v1": ModelType.IFT,
         | 
| 291 | 
            +
                "WeOpenML/PandaLM-Alpaca-7B-v1": ModelType.IFT,
         | 
| 292 | 
            +
                "TFLai/gpt2-turkish-uncased": ModelType.FT,
         | 
| 293 | 
            +
                "ehartford/WizardLM-13B-Uncensored": ModelType.IFT,
         | 
| 294 | 
            +
                "ehartford/dolphin-llama-13b": ModelType.IFT,
         | 
| 295 | 
            +
                "ehartford/Wizard-Vicuna-30B-Uncensored": ModelType.FT,
         | 
| 296 | 
            +
                "ehartford/WizardLM-30B-Uncensored": ModelType.IFT,
         | 
| 297 | 
            +
                "ehartford/Wizard-Vicuna-13B-Uncensored": ModelType.FT,
         | 
| 298 | 
            +
                "ehartford/WizardLM-7B-Uncensored": ModelType.IFT,
         | 
| 299 | 
            +
                "ehartford/based-30b": ModelType.FT,
         | 
| 300 | 
            +
                "ehartford/Wizard-Vicuna-7B-Uncensored": ModelType.FT,
         | 
| 301 | 
            +
                "wahaha1987/llama_7b_sharegpt94k_fastchat": ModelType.FT,
         | 
| 302 | 
            +
                "wahaha1987/llama_13b_sharegpt94k_fastchat": ModelType.FT,
         | 
| 303 | 
            +
                "OpenAssistant/oasst-sft-1-pythia-12b": ModelType.FT,
         | 
| 304 | 
            +
                "OpenAssistant/stablelm-7b-sft-v7-epoch-3": ModelType.IFT,
         | 
| 305 | 
            +
                "OpenAssistant/oasst-sft-4-pythia-12b-epoch-3.5": ModelType.FT,
         | 
| 306 | 
            +
                "OpenAssistant/pythia-12b-sft-v8-2.5k-steps": ModelType.IFT,
         | 
| 307 | 
            +
                "OpenAssistant/pythia-12b-sft-v8-7k-steps": ModelType.IFT,
         | 
| 308 | 
            +
                "OpenAssistant/pythia-12b-pre-v8-12.5k-steps": ModelType.IFT,
         | 
| 309 | 
            +
                "OpenAssistant/llama2-13b-orca-8k-3319": ModelType.IFT,
         | 
| 310 | 
            +
                "junelee/wizard-vicuna-13b": ModelType.FT,
         | 
| 311 | 
            +
                "BreadAi/gpt-YA-1-1_160M": ModelType.PT,
         | 
| 312 | 
            +
                "BreadAi/MuseCan": ModelType.PT,
         | 
| 313 | 
            +
                "BreadAi/MusePy-1-2": ModelType.PT,
         | 
| 314 | 
            +
                "BreadAi/DiscordPy": ModelType.PT,
         | 
| 315 | 
            +
                "BreadAi/PM_modelV2": ModelType.PT,
         | 
| 316 | 
            +
                "BreadAi/gpt-Youtube": ModelType.PT,
         | 
| 317 | 
            +
                "BreadAi/StoryPy": ModelType.FT,
         | 
| 318 | 
            +
                "julianweng/Llama-2-7b-chat-orcah": ModelType.FT,
         | 
| 319 | 
            +
                "AGI-inc/lora_moe_7b_baseline": ModelType.FT,
         | 
| 320 | 
            +
                "AGI-inc/lora_moe_7b": ModelType.FT,
         | 
| 321 | 
            +
                "togethercomputer/GPT-NeoXT-Chat-Base-20B": ModelType.IFT,
         | 
| 322 | 
            +
                "togethercomputer/RedPajama-INCITE-Chat-7B-v0.1": ModelType.IFT,
         | 
| 323 | 
            +
                "togethercomputer/RedPajama-INCITE-Instruct-7B-v0.1": ModelType.IFT,
         | 
| 324 | 
            +
                "togethercomputer/RedPajama-INCITE-7B-Base": ModelType.PT,
         | 
| 325 | 
            +
                "togethercomputer/RedPajama-INCITE-7B-Instruct": ModelType.IFT,
         | 
| 326 | 
            +
                "togethercomputer/RedPajama-INCITE-Base-3B-v1": ModelType.PT,
         | 
| 327 | 
            +
                "togethercomputer/Pythia-Chat-Base-7B": ModelType.IFT,
         | 
| 328 | 
            +
                "togethercomputer/RedPajama-INCITE-Base-7B-v0.1": ModelType.PT,
         | 
| 329 | 
            +
                "togethercomputer/GPT-JT-6B-v1": ModelType.IFT,
         | 
| 330 | 
            +
                "togethercomputer/GPT-JT-6B-v0": ModelType.IFT,
         | 
| 331 | 
            +
                "togethercomputer/RedPajama-INCITE-Chat-3B-v1": ModelType.IFT,
         | 
| 332 | 
            +
                "togethercomputer/RedPajama-INCITE-7B-Chat": ModelType.IFT,
         | 
| 333 | 
            +
                "togethercomputer/RedPajama-INCITE-Instruct-3B-v1": ModelType.IFT,
         | 
| 334 | 
            +
                "Writer/camel-5b-hf": ModelType.IFT,
         | 
| 335 | 
            +
                "Writer/palmyra-base": ModelType.PT,
         | 
| 336 | 
            +
                "MBZUAI/LaMini-GPT-1.5B": ModelType.IFT,
         | 
| 337 | 
            +
                "MBZUAI/lamini-cerebras-111m": ModelType.IFT,
         | 
| 338 | 
            +
                "MBZUAI/lamini-neo-1.3b": ModelType.IFT,
         | 
| 339 | 
            +
                "MBZUAI/lamini-cerebras-1.3b": ModelType.IFT,
         | 
| 340 | 
            +
                "MBZUAI/lamini-cerebras-256m": ModelType.IFT,
         | 
| 341 | 
            +
                "MBZUAI/LaMini-GPT-124M": ModelType.IFT,
         | 
| 342 | 
            +
                "MBZUAI/lamini-neo-125m": ModelType.IFT,
         | 
| 343 | 
            +
                "TehVenom/DiffMerge-DollyGPT-Pygmalion": ModelType.FT,
         | 
| 344 | 
            +
                "TehVenom/PPO_Shygmalion-6b": ModelType.FT,
         | 
| 345 | 
            +
                "TehVenom/Dolly_Shygmalion-6b-Dev_V8P2": ModelType.FT,
         | 
| 346 | 
            +
                "TehVenom/Pygmalion_AlpacaLora-7b": ModelType.FT,
         | 
| 347 | 
            +
                "TehVenom/PPO_Pygway-V8p4_Dev-6b": ModelType.FT,
         | 
| 348 | 
            +
                "TehVenom/Dolly_Malion-6b": ModelType.FT,
         | 
| 349 | 
            +
                "TehVenom/PPO_Shygmalion-V8p4_Dev-6b": ModelType.FT,
         | 
| 350 | 
            +
                "TehVenom/ChanMalion": ModelType.FT,
         | 
| 351 | 
            +
                "TehVenom/GPT-J-Pyg_PPO-6B": ModelType.IFT,
         | 
| 352 | 
            +
                "TehVenom/Pygmalion-13b-Merged": ModelType.FT,
         | 
| 353 | 
            +
                "TehVenom/Metharme-13b-Merged": ModelType.IFT,
         | 
| 354 | 
            +
                "TehVenom/Dolly_Shygmalion-6b": ModelType.FT,
         | 
| 355 | 
            +
                "TehVenom/GPT-J-Pyg_PPO-6B-Dev-V8p4": ModelType.IFT,
         | 
| 356 | 
            +
                "georgesung/llama2_7b_chat_uncensored": ModelType.FT,
         | 
| 357 | 
            +
                "vicgalle/gpt2-alpaca": ModelType.IFT,
         | 
| 358 | 
            +
                "vicgalle/alpaca-7b": ModelType.FT,
         | 
| 359 | 
            +
                "vicgalle/gpt2-alpaca-gpt4": ModelType.IFT,
         | 
| 360 | 
            +
                "facebook/opt-350m": ModelType.PT,
         | 
| 361 | 
            +
                "facebook/opt-125m": ModelType.PT,
         | 
| 362 | 
            +
                "facebook/xglm-4.5B": ModelType.PT,
         | 
| 363 | 
            +
                "facebook/opt-2.7b": ModelType.PT,
         | 
| 364 | 
            +
                "facebook/opt-6.7b": ModelType.PT,
         | 
| 365 | 
            +
                "facebook/galactica-30b": ModelType.PT,
         | 
| 366 | 
            +
                "facebook/opt-13b": ModelType.PT,
         | 
| 367 | 
            +
                "facebook/opt-66b": ModelType.PT,
         | 
| 368 | 
            +
                "facebook/xglm-7.5B": ModelType.PT,
         | 
| 369 | 
            +
                "facebook/xglm-564M": ModelType.PT,
         | 
| 370 | 
            +
                "facebook/opt-30b": ModelType.PT,
         | 
| 371 | 
            +
                "golaxy/gogpt-7b": ModelType.FT,
         | 
| 372 | 
            +
                "golaxy/gogpt2-7b": ModelType.FT,
         | 
| 373 | 
            +
                "golaxy/gogpt-7b-bloom": ModelType.FT,
         | 
| 374 | 
            +
                "golaxy/gogpt-3b-bloom": ModelType.FT,
         | 
| 375 | 
            +
                "psmathur/orca_mini_v2_7b": ModelType.IFT,
         | 
| 376 | 
            +
                "psmathur/orca_mini_7b": ModelType.IFT,
         | 
| 377 | 
            +
                "psmathur/orca_mini_3b": ModelType.IFT,
         | 
| 378 | 
            +
                "psmathur/orca_mini_v2_13b": ModelType.IFT,
         | 
| 379 | 
            +
                "gpt2-xl": ModelType.PT,
         | 
| 380 | 
            +
                "lxe/Cerebras-GPT-2.7B-Alpaca-SP": ModelType.FT,
         | 
| 381 | 
            +
                "Monero/Manticore-13b-Chat-Pyg-Guanaco": ModelType.FT,
         | 
| 382 | 
            +
                "Monero/WizardLM-Uncensored-SuperCOT-StoryTelling-30b": ModelType.IFT,
         | 
| 383 | 
            +
                "Monero/WizardLM-13b-OpenAssistant-Uncensored": ModelType.IFT,
         | 
| 384 | 
            +
                "Monero/WizardLM-30B-Uncensored-Guanaco-SuperCOT-30b": ModelType.IFT,
         | 
| 385 | 
            +
                "jzjiao/opt-1.3b-rlhf": ModelType.FT,
         | 
| 386 | 
            +
                "HuggingFaceH4/starchat-beta": ModelType.IFT,
         | 
| 387 | 
            +
                "KnutJaegersberg/gpt-2-xl-EvolInstruct": ModelType.IFT,
         | 
| 388 | 
            +
                "KnutJaegersberg/megatron-GPT-2-345m-EvolInstruct": ModelType.IFT,
         | 
| 389 | 
            +
                "KnutJaegersberg/galactica-orca-wizardlm-1.3b": ModelType.IFT,
         | 
| 390 | 
            +
                "openchat/openchat_8192": ModelType.IFT,
         | 
| 391 | 
            +
                "openchat/openchat_v2": ModelType.IFT,
         | 
| 392 | 
            +
                "openchat/openchat_v2_w": ModelType.IFT,
         | 
| 393 | 
            +
                "ausboss/llama-13b-supercot": ModelType.IFT,
         | 
| 394 | 
            +
                "ausboss/llama-30b-supercot": ModelType.IFT,
         | 
| 395 | 
            +
                "Neko-Institute-of-Science/metharme-7b": ModelType.IFT,
         | 
| 396 | 
            +
                "Neko-Institute-of-Science/pygmalion-7b": ModelType.FT,
         | 
| 397 | 
            +
                "SebastianSchramm/Cerebras-GPT-111M-instruction": ModelType.IFT,
         | 
| 398 | 
            +
                "victor123/WizardLM-13B-1.0": ModelType.IFT,
         | 
| 399 | 
            +
                "OpenBuddy/openbuddy-openllama-13b-v7-fp16": ModelType.FT,
         | 
| 400 | 
            +
                "OpenBuddy/openbuddy-llama2-13b-v8.1-fp16": ModelType.FT,
         | 
| 401 | 
            +
                "OpenBuddyEA/openbuddy-llama-30b-v7.1-bf16": ModelType.FT,
         | 
| 402 | 
            +
                "baichuan-inc/Baichuan-7B": ModelType.PT,
         | 
| 403 | 
            +
                "tiiuae/falcon-40b-instruct": ModelType.IFT,
         | 
| 404 | 
            +
                "tiiuae/falcon-40b": ModelType.PT,
         | 
| 405 | 
            +
                "tiiuae/falcon-7b": ModelType.PT,
         | 
| 406 | 
            +
                "YeungNLP/firefly-llama-13b": ModelType.FT,
         | 
| 407 | 
            +
                "YeungNLP/firefly-llama-13b-v1.2": ModelType.FT,
         | 
| 408 | 
            +
                "YeungNLP/firefly-llama2-13b": ModelType.FT,
         | 
| 409 | 
            +
                "YeungNLP/firefly-ziya-13b": ModelType.FT,
         | 
| 410 | 
            +
                "shaohang/Sparse0.5_OPT-1.3": ModelType.FT,
         | 
| 411 | 
            +
                "xzuyn/Alpacino-SuperCOT-13B": ModelType.IFT,
         | 
| 412 | 
            +
                "xzuyn/MedicWizard-7B": ModelType.FT,
         | 
| 413 | 
            +
                "xDAN-AI/xDAN_13b_l2_lora": ModelType.FT,
         | 
| 414 | 
            +
                "beomi/KoAlpaca-Polyglot-5.8B": ModelType.FT,
         | 
| 415 | 
            +
                "beomi/llama-2-ko-7b": ModelType.IFT,
         | 
| 416 | 
            +
                "Salesforce/codegen-6B-multi": ModelType.PT,
         | 
| 417 | 
            +
                "Salesforce/codegen-16B-nl": ModelType.PT,
         | 
| 418 | 
            +
                "Salesforce/codegen-6B-nl": ModelType.PT,
         | 
| 419 | 
            +
                "ai-forever/rugpt3large_based_on_gpt2": ModelType.FT,
         | 
| 420 | 
            +
                "gpt2-large": ModelType.PT,
         | 
| 421 | 
            +
                "frank098/orca_mini_3b_juniper": ModelType.FT,
         | 
| 422 | 
            +
                "frank098/WizardLM_13B_juniper": ModelType.FT,
         | 
| 423 | 
            +
                "FPHam/Free_Sydney_13b_HF": ModelType.FT,
         | 
| 424 | 
            +
                "huggingface/llama-13b": ModelType.PT,
         | 
| 425 | 
            +
                "huggingface/llama-7b": ModelType.PT,
         | 
| 426 | 
            +
                "huggingface/llama-65b": ModelType.PT,
         | 
| 427 | 
            +
                "huggingface/llama-30b": ModelType.PT,
         | 
| 428 | 
            +
                "Henk717/chronoboros-33B": ModelType.IFT,
         | 
| 429 | 
            +
                "jondurbin/airoboros-13b-gpt4-1.4": ModelType.IFT,
         | 
| 430 | 
            +
                "jondurbin/airoboros-7b": ModelType.IFT,
         | 
| 431 | 
            +
                "jondurbin/airoboros-7b-gpt4": ModelType.IFT,
         | 
| 432 | 
            +
                "jondurbin/airoboros-7b-gpt4-1.1": ModelType.IFT,
         | 
| 433 | 
            +
                "jondurbin/airoboros-7b-gpt4-1.2": ModelType.IFT,
         | 
| 434 | 
            +
                "jondurbin/airoboros-7b-gpt4-1.3": ModelType.IFT,
         | 
| 435 | 
            +
                "jondurbin/airoboros-7b-gpt4-1.4": ModelType.IFT,
         | 
| 436 | 
            +
                "jondurbin/airoboros-l2-7b-gpt4-1.4.1": ModelType.IFT,
         | 
| 437 | 
            +
                "jondurbin/airoboros-l2-13b-gpt4-1.4.1": ModelType.IFT,
         | 
| 438 | 
            +
                "jondurbin/airoboros-l2-70b-gpt4-1.4.1": ModelType.IFT,
         | 
| 439 | 
            +
                "jondurbin/airoboros-13b": ModelType.IFT,
         | 
| 440 | 
            +
                "jondurbin/airoboros-33b-gpt4-1.4": ModelType.IFT,
         | 
| 441 | 
            +
                "jondurbin/airoboros-33b-gpt4-1.2": ModelType.IFT,
         | 
| 442 | 
            +
                "jondurbin/airoboros-65b-gpt4-1.2": ModelType.IFT,
         | 
| 443 | 
            +
                "ariellee/SuperPlatty-30B": ModelType.IFT,
         | 
| 444 | 
            +
                "danielhanchen/open_llama_3b_600bt_preview": ModelType.FT,
         | 
| 445 | 
            +
                "cerebras/Cerebras-GPT-256M": ModelType.PT,
         | 
| 446 | 
            +
                "cerebras/Cerebras-GPT-1.3B": ModelType.PT,
         | 
| 447 | 
            +
                "cerebras/Cerebras-GPT-13B": ModelType.PT,
         | 
| 448 | 
            +
                "cerebras/Cerebras-GPT-2.7B": ModelType.PT,
         | 
| 449 | 
            +
                "cerebras/Cerebras-GPT-111M": ModelType.PT,
         | 
| 450 | 
            +
                "cerebras/Cerebras-GPT-6.7B": ModelType.PT,
         | 
| 451 | 
            +
                "Yhyu13/oasst-rlhf-2-llama-30b-7k-steps-hf": ModelType.RL,
         | 
| 452 | 
            +
                "Yhyu13/llama-30B-hf-openassitant": ModelType.FT,
         | 
| 453 | 
            +
                "NousResearch/Nous-Hermes-Llama2-13b": ModelType.IFT,
         | 
| 454 | 
            +
                "NousResearch/Nous-Hermes-llama-2-7b": ModelType.IFT,
         | 
| 455 | 
            +
                "NousResearch/Redmond-Puffin-13B": ModelType.IFT,
         | 
| 456 | 
            +
                "NousResearch/Nous-Hermes-13b": ModelType.IFT,
         | 
| 457 | 
            +
                "project-baize/baize-v2-7b": ModelType.IFT,
         | 
| 458 | 
            +
                "project-baize/baize-v2-13b": ModelType.IFT,
         | 
| 459 | 
            +
                "LLMs/WizardLM-13B-V1.0": ModelType.FT,
         | 
| 460 | 
            +
                "LLMs/AlpacaGPT4-7B-elina": ModelType.FT,
         | 
| 461 | 
            +
                "wenge-research/yayi-7b": ModelType.FT,
         | 
| 462 | 
            +
                "wenge-research/yayi-7b-llama2": ModelType.FT,
         | 
| 463 | 
            +
                "wenge-research/yayi-13b-llama2": ModelType.FT,
         | 
| 464 | 
            +
                "yhyhy3/open_llama_7b_v2_med_instruct": ModelType.IFT,
         | 
| 465 | 
            +
                "llama-anon/instruct-13b": ModelType.IFT,
         | 
| 466 | 
            +
                "huggingtweets/jerma985": ModelType.FT,
         | 
| 467 | 
            +
                "huggingtweets/gladosystem": ModelType.FT,
         | 
| 468 | 
            +
                "huggingtweets/bladeecity-jerma985": ModelType.FT,
         | 
| 469 | 
            +
                "huggyllama/llama-13b": ModelType.PT,
         | 
| 470 | 
            +
                "huggyllama/llama-65b": ModelType.PT,
         | 
| 471 | 
            +
                "FabbriSimo01/Facebook_opt_1.3b_Quantized": ModelType.PT,
         | 
| 472 | 
            +
                "upstage/Llama-2-70b-instruct": ModelType.IFT,
         | 
| 473 | 
            +
                "upstage/Llama-2-70b-instruct-1024": ModelType.IFT,
         | 
| 474 | 
            +
                "upstage/llama-65b-instruct": ModelType.IFT,
         | 
| 475 | 
            +
                "upstage/llama-30b-instruct-2048": ModelType.IFT,
         | 
| 476 | 
            +
                "upstage/llama-30b-instruct": ModelType.IFT,
         | 
| 477 | 
            +
                "WizardLM/WizardLM-13B-1.0": ModelType.IFT,
         | 
| 478 | 
            +
                "WizardLM/WizardLM-13B-V1.1": ModelType.IFT,
         | 
| 479 | 
            +
                "WizardLM/WizardLM-13B-V1.2": ModelType.IFT,
         | 
| 480 | 
            +
                "WizardLM/WizardLM-30B-V1.0": ModelType.IFT,
         | 
| 481 | 
            +
                "WizardLM/WizardCoder-15B-V1.0": ModelType.IFT,
         | 
| 482 | 
            +
                "gpt2": ModelType.PT,
         | 
| 483 | 
            +
                "keyfan/vicuna-chinese-replication-v1.1": ModelType.IFT,
         | 
| 484 | 
            +
                "nthngdy/pythia-owt2-70m-100k": ModelType.FT,
         | 
| 485 | 
            +
                "nthngdy/pythia-owt2-70m-50k": ModelType.FT,
         | 
| 486 | 
            +
                "quantumaikr/KoreanLM-hf": ModelType.FT,
         | 
| 487 | 
            +
                "quantumaikr/open_llama_7b_hf": ModelType.FT,
         | 
| 488 | 
            +
                "quantumaikr/QuantumLM-70B-hf": ModelType.IFT,
         | 
| 489 | 
            +
                "MayaPH/FinOPT-Lincoln": ModelType.FT,
         | 
| 490 | 
            +
                "MayaPH/FinOPT-Franklin": ModelType.FT,
         | 
| 491 | 
            +
                "MayaPH/GodziLLa-30B": ModelType.IFT,
         | 
| 492 | 
            +
                "MayaPH/GodziLLa-30B-plus": ModelType.IFT,
         | 
| 493 | 
            +
                "MayaPH/FinOPT-Washington": ModelType.FT,
         | 
| 494 | 
            +
                "ogimgio/gpt-neo-125m-neurallinguisticpioneers": ModelType.FT,
         | 
| 495 | 
            +
                "layoric/llama-2-13b-code-alpaca": ModelType.FT,
         | 
| 496 | 
            +
                "CobraMamba/mamba-gpt-3b": ModelType.FT,
         | 
| 497 | 
            +
                "CobraMamba/mamba-gpt-3b-v2": ModelType.FT,
         | 
| 498 | 
            +
                "CobraMamba/mamba-gpt-3b-v3": ModelType.FT,
         | 
| 499 | 
            +
                "timdettmers/guanaco-33b-merged": ModelType.FT,
         | 
| 500 | 
            +
                "elinas/chronos-33b": ModelType.IFT,
         | 
| 501 | 
            +
                "heegyu/RedTulu-Uncensored-3B-0719": ModelType.IFT,
         | 
| 502 | 
            +
                "heegyu/WizardVicuna-Uncensored-3B-0719": ModelType.IFT,
         | 
| 503 | 
            +
                "heegyu/WizardVicuna-3B-0719": ModelType.IFT,
         | 
| 504 | 
            +
                "meta-llama/Llama-2-7b-chat-hf": ModelType.RL,
         | 
| 505 | 
            +
                "meta-llama/Llama-2-7b-hf": ModelType.PT,
         | 
| 506 | 
            +
                "meta-llama/Llama-2-13b-chat-hf": ModelType.RL,
         | 
| 507 | 
            +
                "meta-llama/Llama-2-13b-hf": ModelType.PT,
         | 
| 508 | 
            +
                "meta-llama/Llama-2-70b-chat-hf": ModelType.RL,
         | 
| 509 | 
            +
                "meta-llama/Llama-2-70b-hf": ModelType.PT,
         | 
| 510 | 
            +
                "xhyi/PT_GPTNEO350_ATG": ModelType.FT,
         | 
| 511 | 
            +
                "h2oai/h2ogpt-gm-oasst1-en-1024-20b": ModelType.FT,
         | 
| 512 | 
            +
                "h2oai/h2ogpt-gm-oasst1-en-1024-open-llama-7b-preview-400bt": ModelType.FT,
         | 
| 513 | 
            +
                "h2oai/h2ogpt-oig-oasst1-512-6_9b": ModelType.IFT,
         | 
| 514 | 
            +
                "h2oai/h2ogpt-oasst1-512-12b": ModelType.IFT,
         | 
| 515 | 
            +
                "h2oai/h2ogpt-oig-oasst1-256-6_9b": ModelType.IFT,
         | 
| 516 | 
            +
                "h2oai/h2ogpt-gm-oasst1-en-2048-open-llama-7b-preview-300bt": ModelType.FT,
         | 
| 517 | 
            +
                "h2oai/h2ogpt-oasst1-512-20b": ModelType.IFT,
         | 
| 518 | 
            +
                "h2oai/h2ogpt-gm-oasst1-en-2048-open-llama-7b-preview-300bt-v2": ModelType.FT,
         | 
| 519 | 
            +
                "h2oai/h2ogpt-gm-oasst1-en-1024-12b": ModelType.FT,
         | 
| 520 | 
            +
                "h2oai/h2ogpt-gm-oasst1-multilang-1024-20b": ModelType.FT,
         | 
| 521 | 
            +
                "bofenghuang/vigogne-13b-instruct": ModelType.IFT,
         | 
| 522 | 
            +
                "bofenghuang/vigogne-13b-chat": ModelType.FT,
         | 
| 523 | 
            +
                "bofenghuang/vigogne-2-7b-instruct": ModelType.IFT,
         | 
| 524 | 
            +
                "bofenghuang/vigogne-7b-instruct": ModelType.IFT,
         | 
| 525 | 
            +
                "bofenghuang/vigogne-7b-chat": ModelType.FT,
         | 
| 526 | 
            +
                "Vmware/open-llama-7b-v2-open-instruct": ModelType.IFT,
         | 
| 527 | 
            +
                "VMware/open-llama-0.7T-7B-open-instruct-v1.1": ModelType.IFT,
         | 
| 528 | 
            +
                "ewof/koishi-instruct-3b": ModelType.IFT,
         | 
| 529 | 
            +
                "gywy/llama2-13b-chinese-v1": ModelType.FT,
         | 
| 530 | 
            +
                "GOAT-AI/GOAT-7B-Community": ModelType.FT,
         | 
| 531 | 
            +
                "psyche/kollama2-7b": ModelType.FT,
         | 
| 532 | 
            +
                "TheTravellingEngineer/llama2-7b-hf-guanaco": ModelType.FT,
         | 
| 533 | 
            +
                "beaugogh/pythia-1.4b-deduped-sharegpt": ModelType.FT,
         | 
| 534 | 
            +
                "augtoma/qCammel-70-x": ModelType.IFT,
         | 
| 535 | 
            +
                "Lajonbot/Llama-2-7b-chat-hf-instruct-pl-lora_unload": ModelType.IFT,
         | 
| 536 | 
            +
                "anhnv125/pygmalion-6b-roleplay": ModelType.FT,
         | 
| 537 | 
            +
                "64bits/LexPodLM-13B": ModelType.FT,
         | 
| 538 | 
            +
            }
         | 
| 539 | 
            +
             | 
| 540 | 
            +
             | 
| 541 | 
            +
            def model_type_from_str(type):
         | 
| 542 | 
            +
                if "fine-tuned" in type or "🔶" in type:
         | 
| 543 | 
            +
                    return ModelType.FT
         | 
| 544 | 
            +
                if "pretrained" in type or "🟢" in type:
         | 
| 545 | 
            +
                    return ModelType.PT
         | 
| 546 | 
            +
                if "RL-tuned" in type or "🟦" in type:
         | 
| 547 | 
            +
                    return ModelType.RL
         | 
| 548 | 
            +
                if "instruction-tuned" in type or "⭕" in type:
         | 
| 549 | 
            +
                    return ModelType.IFT
         | 
| 550 | 
            +
                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,7 +90,7 @@ 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):
         | 
| @@ -95,9 +98,16 @@ def parse_eval_result(json_filepath: str) -> Tuple[str, list[dict]]: | |
| 95 | 
             
                    if accs.size == 0 or any([acc is None for acc in accs]):
         | 
| 96 | 
             
                        continue
         | 
| 97 | 
             
                    mean_acc = np.mean(accs) * 100.0
         | 
| 98 | 
            -
                    eval_results.append( | 
| 99 | 
            -
                         | 
| 100 | 
            -
             | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 101 |  | 
| 102 | 
             
                return result_key, eval_results
         | 
| 103 |  | 
| @@ -113,11 +123,11 @@ def get_eval_results() -> 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 |  | 
|  | |
|  | |
|  | |
|  | |
| 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):
         | 
|  | |
| 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 |  | 
|  | |
| 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 |  | 
    	
        src/{utils_display.py → display_models/utils.py}
    RENAMED
    
    | @@ -1,24 +1,27 @@ | |
| 1 | 
             
            import os
         | 
| 2 | 
             
            from dataclasses import dataclass
         | 
|  | |
| 3 | 
             
            from huggingface_hub import HfApi
         | 
| 4 |  | 
| 5 | 
             
            API = HfApi()
         | 
| 6 |  | 
| 7 |  | 
| 8 | 
            -
            # These classes are for user facing column names, to avoid having to change them | 
| 9 | 
            -
            # all around the code when a modif is needed | 
| 10 | 
             
            @dataclass
         | 
| 11 | 
             
            class ColumnContent:
         | 
| 12 | 
             
                name: str
         | 
| 13 | 
            -
                type: str | 
| 14 | 
            -
                displayed_by_default: bool | 
| 15 | 
             
                hidden: bool = False
         | 
| 16 |  | 
|  | |
| 17 | 
             
            def fields(raw_class):
         | 
| 18 | 
             
                return [v for k, v in raw_class.__dict__.items() if k[:2] != "__" and k[-2:] != "__"]
         | 
| 19 |  | 
|  | |
| 20 | 
             
            @dataclass(frozen=True)
         | 
| 21 | 
            -
            class AutoEvalColumn: | 
| 22 | 
             
                model_type_symbol = ColumnContent("T", "str", True)
         | 
| 23 | 
             
                model = ColumnContent("Model", "markdown", True)
         | 
| 24 | 
             
                average = ColumnContent("Average ⬆️", "number", True)
         | 
| @@ -27,15 +30,19 @@ class AutoEvalColumn: # Auto evals column | |
| 27 | 
             
                mmlu = ColumnContent("MMLU", "number", True)
         | 
| 28 | 
             
                truthfulqa = ColumnContent("TruthfulQA", "number", True)
         | 
| 29 | 
             
                model_type = ColumnContent("Type", "str", False)
         | 
| 30 | 
            -
                precision = ColumnContent("Precision", "str", False)  | 
| 31 | 
             
                license = ColumnContent("Hub License", "str", False)
         | 
| 32 | 
             
                params = ColumnContent("#Params (B)", "number", False)
         | 
| 33 | 
             
                likes = ColumnContent("Hub ❤️", "number", False)
         | 
|  | |
| 34 | 
             
                revision = ColumnContent("Model sha", "str", False, False)
         | 
| 35 | 
            -
                dummy = ColumnContent( | 
|  | |
|  | |
|  | |
| 36 |  | 
| 37 | 
             
            @dataclass(frozen=True)
         | 
| 38 | 
            -
            class EloEvalColumn: | 
| 39 | 
             
                model = ColumnContent("Model", "markdown", True)
         | 
| 40 | 
             
                gpt4 = ColumnContent("GPT-4 (all)", "number", True)
         | 
| 41 | 
             
                human_all = ColumnContent("Human (all)", "number", True)
         | 
| @@ -44,7 +51,7 @@ class EloEvalColumn: # Elo evals column | |
| 44 |  | 
| 45 |  | 
| 46 | 
             
            @dataclass(frozen=True)
         | 
| 47 | 
            -
            class EvalQueueColumn: | 
| 48 | 
             
                model = ColumnContent("model", "markdown", True)
         | 
| 49 | 
             
                revision = ColumnContent("revision", "str", True)
         | 
| 50 | 
             
                private = ColumnContent("private", "bool", True)
         | 
| @@ -52,7 +59,13 @@ class EvalQueueColumn: # Queue column | |
| 52 | 
             
                weight_type = ColumnContent("weight_type", "str", "Original")
         | 
| 53 | 
             
                status = ColumnContent("status", "str", True)
         | 
| 54 |  | 
| 55 | 
            -
             | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 56 |  | 
| 57 |  | 
| 58 | 
             
            KOALA_LINK = "https://huggingface.co/TheBloke/koala-13B-HF"
         | 
| @@ -90,29 +103,44 @@ def make_clickable_model(model_name): | |
| 90 | 
             
                elif model_name == "oasst-12b":
         | 
| 91 | 
             
                    link = OASST_LINK
         | 
| 92 |  | 
| 93 | 
            -
                details_model_name = model_name.replace( | 
| 94 | 
             
                details_link = f"https://huggingface.co/datasets/open-llm-leaderboard/details_{details_model_name}"
         | 
| 95 |  | 
| 96 | 
             
                if not bool(os.getenv("DEBUG", "False")):
         | 
| 97 | 
             
                    # We only add these checks when not debugging, as they are extremely slow
         | 
| 98 | 
             
                    print(f"details_link: {details_link}")
         | 
| 99 | 
             
                    try:
         | 
| 100 | 
            -
                        check_path = list( | 
| 101 | 
            -
             | 
| 102 | 
            -
             | 
|  | |
|  | |
|  | |
|  | |
| 103 | 
             
                        print(f"check_path: {check_path}")
         | 
| 104 | 
             
                    except Exception as err:
         | 
| 105 | 
             
                        # No details repo for this model
         | 
| 106 | 
             
                        print(f"No details repo for this model: {err}")
         | 
| 107 | 
             
                        return model_hyperlink(link, model_name)
         | 
| 108 |  | 
| 109 | 
            -
                return model_hyperlink(link, model_name) +  | 
|  | |
| 110 |  | 
| 111 | 
             
            def styled_error(error):
         | 
| 112 | 
             
                return f"<p style='color: red; font-size: 20px; text-align: center;'>{error}</p>"
         | 
| 113 |  | 
|  | |
| 114 | 
             
            def styled_warning(warn):
         | 
| 115 | 
             
                return f"<p style='color: orange; font-size: 20px; text-align: center;'>{warn}</p>"
         | 
| 116 |  | 
|  | |
| 117 | 
             
            def styled_message(message):
         | 
| 118 | 
            -
                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"
         | 
|  | |
| 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,51 +0,0 @@ | |
| 1 | 
            -
            import os 
         | 
| 2 | 
            -
            from huggingface_hub import Repository
         | 
| 3 | 
            -
             | 
| 4 | 
            -
             | 
| 5 | 
            -
            def get_all_requested_models(requested_models_dir):
         | 
| 6 | 
            -
                depth = 1
         | 
| 7 | 
            -
                file_names = []
         | 
| 8 | 
            -
             | 
| 9 | 
            -
                for root, dirs, files in os.walk(requested_models_dir):
         | 
| 10 | 
            -
                    current_depth = root.count(os.sep) - requested_models_dir.count(os.sep)
         | 
| 11 | 
            -
                    if current_depth == depth:
         | 
| 12 | 
            -
                        file_names.extend([os.path.join(root, file) for file in files])
         | 
| 13 | 
            -
             | 
| 14 | 
            -
                return set([file_name.lower().split("eval-queue/")[1] for file_name in file_names])
         | 
| 15 | 
            -
             | 
| 16 | 
            -
            def load_all_info_from_hub(QUEUE_REPO, RESULTS_REPO, QUEUE_PATH, RESULTS_PATH):
         | 
| 17 | 
            -
                eval_queue_repo = None
         | 
| 18 | 
            -
                eval_results_repo = None
         | 
| 19 | 
            -
                requested_models = None
         | 
| 20 | 
            -
             | 
| 21 | 
            -
                print("Pulling evaluation requests and results.")
         | 
| 22 | 
            -
             | 
| 23 | 
            -
                eval_queue_repo = Repository(
         | 
| 24 | 
            -
                    local_dir=QUEUE_PATH,
         | 
| 25 | 
            -
                    clone_from=QUEUE_REPO,
         | 
| 26 | 
            -
                    repo_type="dataset",
         | 
| 27 | 
            -
                )
         | 
| 28 | 
            -
                eval_queue_repo.git_pull()
         | 
| 29 | 
            -
             | 
| 30 | 
            -
                eval_results_repo = Repository(
         | 
| 31 | 
            -
                    local_dir=RESULTS_PATH,
         | 
| 32 | 
            -
                    clone_from=RESULTS_REPO,
         | 
| 33 | 
            -
                    repo_type="dataset",
         | 
| 34 | 
            -
                )
         | 
| 35 | 
            -
                eval_results_repo.git_pull()
         | 
| 36 | 
            -
             | 
| 37 | 
            -
                requested_models = get_all_requested_models("eval-queue")
         | 
| 38 | 
            -
             | 
| 39 | 
            -
                return eval_queue_repo, requested_models, eval_results_repo
         | 
| 40 | 
            -
             | 
| 41 | 
            -
             | 
| 42 | 
            -
            #def load_results(model, benchmark, metric):
         | 
| 43 | 
            -
            #    file_path = os.path.join("autoevals", model, f"{model}-eval_{benchmark}.json")
         | 
| 44 | 
            -
            #    if not os.path.exists(file_path):
         | 
| 45 | 
            -
            #        return 0.0, None
         | 
| 46 | 
            -
             | 
| 47 | 
            -
            #    with open(file_path) as fp:
         | 
| 48 | 
            -
            #        data = json.load(fp)
         | 
| 49 | 
            -
            #    accs = np.array([v[metric] for k, v in data["results"].items()])
         | 
| 50 | 
            -
            #    mean_acc = np.mean(accs)
         | 
| 51 | 
            -
            #    return mean_acc, data["config"]["model_args"]
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | 
    	
        src/load_from_hub.py
    ADDED
    
    | @@ -0,0 +1,139 @@ | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | 
|  | |
| 1 | 
            +
            import json
         | 
| 2 | 
            +
            import os
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            import pandas as pd
         | 
| 5 | 
            +
            from huggingface_hub import Repository
         | 
| 6 | 
            +
            from transformers import AutoConfig
         | 
| 7 | 
            +
             | 
| 8 | 
            +
            from src.assets.hardcoded_evals import baseline, gpt4_values, gpt35_values
         | 
| 9 | 
            +
            from src.display_models.get_model_metadata import apply_metadata
         | 
| 10 | 
            +
            from src.display_models.read_results import get_eval_results_dicts, make_clickable_model
         | 
| 11 | 
            +
            from src.display_models.utils import AutoEvalColumn, EvalQueueColumn, has_no_nan_values
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            IS_PUBLIC = bool(os.environ.get("IS_PUBLIC", True))
         | 
| 14 | 
            +
             | 
| 15 | 
            +
             | 
| 16 | 
            +
            def get_all_requested_models(requested_models_dir: str) -> set[str]:
         | 
| 17 | 
            +
                depth = 1
         | 
| 18 | 
            +
                file_names = []
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                for root, _, files in os.walk(requested_models_dir):
         | 
| 21 | 
            +
                    current_depth = root.count(os.sep) - requested_models_dir.count(os.sep)
         | 
| 22 | 
            +
                    if current_depth == depth:
         | 
| 23 | 
            +
                        file_names.extend([os.path.join(root, file) for file in files])
         | 
| 24 | 
            +
             | 
| 25 | 
            +
                return set([file_name.lower().split("eval-queue/")[1] for file_name in file_names])
         | 
| 26 | 
            +
             | 
| 27 | 
            +
             | 
| 28 | 
            +
            def load_all_info_from_hub(QUEUE_REPO: str, RESULTS_REPO: str, QUEUE_PATH: str, RESULTS_PATH: str) -> list[Repository]:
         | 
| 29 | 
            +
                eval_queue_repo = None
         | 
| 30 | 
            +
                eval_results_repo = None
         | 
| 31 | 
            +
                requested_models = None
         | 
| 32 | 
            +
             | 
| 33 | 
            +
                print("Pulling evaluation requests and results.")
         | 
| 34 | 
            +
             | 
| 35 | 
            +
                eval_queue_repo = Repository(
         | 
| 36 | 
            +
                    local_dir=QUEUE_PATH,
         | 
| 37 | 
            +
                    clone_from=QUEUE_REPO,
         | 
| 38 | 
            +
                    repo_type="dataset",
         | 
| 39 | 
            +
                )
         | 
| 40 | 
            +
                eval_queue_repo.git_pull()
         | 
| 41 | 
            +
             | 
| 42 | 
            +
                eval_results_repo = Repository(
         | 
| 43 | 
            +
                    local_dir=RESULTS_PATH,
         | 
| 44 | 
            +
                    clone_from=RESULTS_REPO,
         | 
| 45 | 
            +
                    repo_type="dataset",
         | 
| 46 | 
            +
                )
         | 
| 47 | 
            +
                eval_results_repo.git_pull()
         | 
| 48 | 
            +
             | 
| 49 | 
            +
                requested_models = get_all_requested_models("eval-queue")
         | 
| 50 | 
            +
             | 
| 51 | 
            +
                return eval_queue_repo, requested_models, eval_results_repo
         | 
| 52 | 
            +
             | 
| 53 | 
            +
             | 
| 54 | 
            +
            def get_leaderboard_df(
         | 
| 55 | 
            +
                eval_results: Repository, eval_results_private: Repository, cols: list, benchmark_cols: list
         | 
| 56 | 
            +
            ) -> pd.DataFrame:
         | 
| 57 | 
            +
                if eval_results:
         | 
| 58 | 
            +
                    print("Pulling evaluation results for the leaderboard.")
         | 
| 59 | 
            +
                    eval_results.git_pull()
         | 
| 60 | 
            +
                if eval_results_private:
         | 
| 61 | 
            +
                    print("Pulling evaluation results for the leaderboard.")
         | 
| 62 | 
            +
                    eval_results_private.git_pull()
         | 
| 63 | 
            +
             | 
| 64 | 
            +
                all_data = get_eval_results_dicts()
         | 
| 65 | 
            +
             | 
| 66 | 
            +
                if not IS_PUBLIC:
         | 
| 67 | 
            +
                    all_data.append(gpt4_values)
         | 
| 68 | 
            +
                    all_data.append(gpt35_values)
         | 
| 69 | 
            +
             | 
| 70 | 
            +
                all_data.append(baseline)
         | 
| 71 | 
            +
                apply_metadata(all_data)  # Populate model type based on known hardcoded values in `metadata.py`
         | 
| 72 | 
            +
             | 
| 73 | 
            +
                df = pd.DataFrame.from_records(all_data)
         | 
| 74 | 
            +
                df = df.sort_values(by=[AutoEvalColumn.average.name], ascending=False)
         | 
| 75 | 
            +
                df = df[cols].round(decimals=2)
         | 
| 76 | 
            +
             | 
| 77 | 
            +
                # filter out if any of the benchmarks have not been produced
         | 
| 78 | 
            +
                df = df[has_no_nan_values(df, benchmark_cols)]
         | 
| 79 | 
            +
                return df
         | 
| 80 | 
            +
             | 
| 81 | 
            +
             | 
| 82 | 
            +
            def get_evaluation_queue_df(
         | 
| 83 | 
            +
                eval_queue: Repository, eval_queue_private: Repository, save_path: str, cols: list
         | 
| 84 | 
            +
            ) -> list[pd.DataFrame]:
         | 
| 85 | 
            +
                if eval_queue:
         | 
| 86 | 
            +
                    print("Pulling changes for the evaluation queue.")
         | 
| 87 | 
            +
                    eval_queue.git_pull()
         | 
| 88 | 
            +
                if eval_queue_private:
         | 
| 89 | 
            +
                    print("Pulling changes for the evaluation queue.")
         | 
| 90 | 
            +
                    eval_queue_private.git_pull()
         | 
| 91 | 
            +
             | 
| 92 | 
            +
                entries = [entry for entry in os.listdir(save_path) if not entry.startswith(".")]
         | 
| 93 | 
            +
                all_evals = []
         | 
| 94 | 
            +
             | 
| 95 | 
            +
                for entry in entries:
         | 
| 96 | 
            +
                    if ".json" in entry:
         | 
| 97 | 
            +
                        file_path = os.path.join(save_path, entry)
         | 
| 98 | 
            +
                        with open(file_path) as fp:
         | 
| 99 | 
            +
                            data = json.load(fp)
         | 
| 100 | 
            +
             | 
| 101 | 
            +
                        data[EvalQueueColumn.model.name] = make_clickable_model(data["model"])
         | 
| 102 | 
            +
                        data[EvalQueueColumn.revision.name] = data.get("revision", "main")
         | 
| 103 | 
            +
             | 
| 104 | 
            +
                        all_evals.append(data)
         | 
| 105 | 
            +
                    elif ".md" not in entry:
         | 
| 106 | 
            +
                        # this is a folder
         | 
| 107 | 
            +
                        sub_entries = [e for e in os.listdir(f"{save_path}/{entry}") if not e.startswith(".")]
         | 
| 108 | 
            +
                        for sub_entry in sub_entries:
         | 
| 109 | 
            +
                            file_path = os.path.join(save_path, entry, sub_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 | 
            +
                            all_evals.append(data)
         | 
| 116 | 
            +
             | 
| 117 | 
            +
                pending_list = [e for e in all_evals if e["status"] in ["PENDING", "RERUN"]]
         | 
| 118 | 
            +
                running_list = [e for e in all_evals if e["status"] == "RUNNING"]
         | 
| 119 | 
            +
                finished_list = [e for e in all_evals if e["status"].startswith("FINISHED")]
         | 
| 120 | 
            +
                df_pending = pd.DataFrame.from_records(pending_list, columns=cols)
         | 
| 121 | 
            +
                df_running = pd.DataFrame.from_records(running_list, columns=cols)
         | 
| 122 | 
            +
                df_finished = pd.DataFrame.from_records(finished_list, columns=cols)
         | 
| 123 | 
            +
                return df_finished[cols], df_running[cols], df_pending[cols]
         | 
| 124 | 
            +
             | 
| 125 | 
            +
             | 
| 126 | 
            +
            def is_model_on_hub(model_name: str, revision: str) -> bool:
         | 
| 127 | 
            +
                try:
         | 
| 128 | 
            +
                    AutoConfig.from_pretrained(model_name, revision=revision, trust_remote_code=False)
         | 
| 129 | 
            +
                    return True, None
         | 
| 130 | 
            +
             | 
| 131 | 
            +
                except ValueError:
         | 
| 132 | 
            +
                    return (
         | 
| 133 | 
            +
                        False,
         | 
| 134 | 
            +
                        "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.",
         | 
| 135 | 
            +
                    )
         | 
| 136 | 
            +
             | 
| 137 | 
            +
                except Exception as e:
         | 
| 138 | 
            +
                    print(f"Could not get the model config from the hub.: {e}")
         | 
| 139 | 
            +
                    return False, "was not found on hub!"
         | 
