Clémentine
commited on
Commit
•
a33e66d
1
Parent(s):
1b7afb7
look at model info if not in request file
Browse files
src/auto_leaderboard/model_metadata_type.py
CHANGED
@@ -12,18 +12,13 @@ class ModelInfo:
|
|
12 |
name: str
|
13 |
symbol: str # emoji
|
14 |
|
15 |
-
model_type_symbols = {
|
16 |
-
"fine-tuned": "🔶",
|
17 |
-
"pretrained": "🟢",
|
18 |
-
"RL-tuned": "🟦",
|
19 |
-
"instruction-tuned": "⭕",
|
20 |
-
}
|
21 |
|
22 |
class ModelType(Enum):
|
23 |
PT = ModelInfo(name="pretrained", symbol="🟢")
|
24 |
FT = ModelInfo(name="fine-tuned", symbol="🔶")
|
25 |
IFT = ModelInfo(name="instruction-tuned", symbol="⭕")
|
26 |
RL = ModelInfo(name="RL-tuned", symbol="🟦")
|
|
|
27 |
|
28 |
def to_str(self, separator = " "):
|
29 |
return f"{self.value.symbol}{separator}{self.value.name}"
|
@@ -547,20 +542,39 @@ TYPE_METADATA: Dict[str, ModelType] = {
|
|
547 |
}
|
548 |
|
549 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
550 |
def get_model_type(leaderboard_data: List[dict]):
|
551 |
for model_data in leaderboard_data:
|
552 |
-
|
553 |
-
|
554 |
-
request_file = os.path.join("eval-queue", model_data["model_name_for_query"] + "_eval_request_*" + ".json")
|
555 |
-
request_file = glob.glob(request_file)
|
556 |
|
557 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
558 |
model_data[AutoEvalColumn.model_type.name] = ""
|
559 |
model_data[AutoEvalColumn.model_type_symbol.name] = ""
|
560 |
continue
|
561 |
|
562 |
-
request_file = request_file[0]
|
563 |
-
|
564 |
try:
|
565 |
with open(request_file, "r") as f:
|
566 |
request = json.load(f)
|
@@ -571,9 +585,13 @@ def get_model_type(leaderboard_data: List[dict]):
|
|
571 |
try:
|
572 |
with open(request_file, "r") as f:
|
573 |
request = json.load(f)
|
574 |
-
model_type = request["model_type"]
|
575 |
-
model_data[AutoEvalColumn.model_type.name] = model_type
|
576 |
-
model_data[AutoEvalColumn.model_type_symbol.name] =
|
577 |
-
except
|
578 |
-
model_data[
|
579 |
-
|
|
|
|
|
|
|
|
|
|
12 |
name: str
|
13 |
symbol: str # emoji
|
14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
|
16 |
class ModelType(Enum):
|
17 |
PT = ModelInfo(name="pretrained", symbol="🟢")
|
18 |
FT = ModelInfo(name="fine-tuned", symbol="🔶")
|
19 |
IFT = ModelInfo(name="instruction-tuned", symbol="⭕")
|
20 |
RL = ModelInfo(name="RL-tuned", symbol="🟦")
|
21 |
+
Unknown = ModelInfo(name="Unknown, add type to request file!", symbol="?")
|
22 |
|
23 |
def to_str(self, separator = " "):
|
24 |
return f"{self.value.symbol}{separator}{self.value.name}"
|
|
|
542 |
}
|
543 |
|
544 |
|
545 |
+
def model_type_from_str(type):
|
546 |
+
if "fine-tuned" in type or "🔶" in type:
|
547 |
+
return ModelType.FT
|
548 |
+
if "pretrained" in type or "🟢" in type:
|
549 |
+
return ModelType.PT
|
550 |
+
if "RL-tuned" in type or "🟦" in type:
|
551 |
+
return ModelType.RL
|
552 |
+
if "instruction-tuned" in type or "⭕" in type:
|
553 |
+
return ModelType.IFT
|
554 |
+
return ModelType.Unknown
|
555 |
+
|
556 |
+
|
557 |
def get_model_type(leaderboard_data: List[dict]):
|
558 |
for model_data in leaderboard_data:
|
559 |
+
request_files = os.path.join("eval-queue", model_data["model_name_for_query"] + "_eval_request_*" + ".json")
|
560 |
+
request_files = glob.glob(request_files)
|
|
|
|
|
561 |
|
562 |
+
request_file = ""
|
563 |
+
if len(request_files) == 1:
|
564 |
+
request_file = request_files[0]
|
565 |
+
elif len(request_files) > 1:
|
566 |
+
request_files = sorted(request_files, reverse=True)
|
567 |
+
for tmp_request_file in request_files:
|
568 |
+
with open(tmp_request_file, "r") as f:
|
569 |
+
req_content = json.load(f)
|
570 |
+
if req_content["status"] == "FINISHED" and req_content["precision"] == model_data["Precision"].split(".")[-1]:
|
571 |
+
request_file = tmp_request_file
|
572 |
+
|
573 |
+
if request_file == "":
|
574 |
model_data[AutoEvalColumn.model_type.name] = ""
|
575 |
model_data[AutoEvalColumn.model_type_symbol.name] = ""
|
576 |
continue
|
577 |
|
|
|
|
|
578 |
try:
|
579 |
with open(request_file, "r") as f:
|
580 |
request = json.load(f)
|
|
|
585 |
try:
|
586 |
with open(request_file, "r") as f:
|
587 |
request = json.load(f)
|
588 |
+
model_type = model_type_from_str(request["model_type"])
|
589 |
+
model_data[AutoEvalColumn.model_type.name] = model_type.value.name
|
590 |
+
model_data[AutoEvalColumn.model_type_symbol.name] = model_type.value.symbol + ("🔺" if is_delta else "")
|
591 |
+
except KeyError:
|
592 |
+
if model_data["model_name_for_query"] in TYPE_METADATA:
|
593 |
+
model_data[AutoEvalColumn.model_type.name] = TYPE_METADATA[model_data["model_name_for_query"]].value.name
|
594 |
+
model_data[AutoEvalColumn.model_type_symbol.name] = TYPE_METADATA[model_data["model_name_for_query"]].value.symbol + ("🔺" if is_delta else "")
|
595 |
+
else:
|
596 |
+
model_data[AutoEvalColumn.model_type.name] = ModelType.Unknown.value.name
|
597 |
+
model_data[AutoEvalColumn.model_type_symbol.name] = ModelType.Unknown.value.symbol
|