rodrigomasini commited on
Commit
a3d5a06
Β·
verified Β·
1 Parent(s): 2d39a99

Update src/leaderboard.py

Browse files
Files changed (1) hide show
  1. src/leaderboard.py +32 -4
src/leaderboard.py CHANGED
@@ -5,8 +5,8 @@ from src.utils import model_hyperlink, process_score
5
 
6
  LEADERBOARD_COLUMN_TO_DATATYPE = {
7
  # open llm
8
- "Model πŸ€—" :"markdown",
9
- "Arch πŸ›οΈ" :"markdown",
10
  "Params (B)": "number",
11
  "Open LLM Score (%)": "number",
12
  # deployment settings
@@ -26,6 +26,32 @@ LEADERBOARD_COLUMN_TO_DATATYPE = {
26
  "Used Memory (MB)": "number",
27
  }
28
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29
 
30
  def process_model(model_name):
31
  link = f"https://huggingface.co/{model_name}"
@@ -43,6 +69,8 @@ def get_leaderboard_df(llm_perf_df):
43
  )
44
  return df
45
 
 
 
46
 
47
  def create_leaderboard_table(llm_perf_df):
48
  # get dataframe
@@ -51,8 +79,8 @@ def create_leaderboard_table(llm_perf_df):
51
  # create table
52
  leaderboard_table = gr.components.Dataframe(
53
  value=leaderboard_df,
54
- headers=list(LEADERBOARD_COLUMN_TO_DATATYPE.keys()),
55
- datatype=[LEADERBOARD_COLUMN_TO_DATATYPE[col] for col in headers],
56
  visible=False,
57
  line_breaks=False,
58
  interactive=False
 
5
 
6
  LEADERBOARD_COLUMN_TO_DATATYPE = {
7
  # open llm
8
+ "Model πŸ€—" :"str",
9
+ "Arch πŸ›οΈ" :"str",
10
  "Params (B)": "number",
11
  "Open LLM Score (%)": "number",
12
  # deployment settings
 
26
  "Used Memory (MB)": "number",
27
  }
28
 
29
+ from dataclasses import dataclass
30
+
31
+ @dataclass
32
+ class LeaderboardColumn:
33
+ name: str
34
+ type: str
35
+
36
+ LEADERBOARD_COLUMNS = [
37
+ LeaderboardColumn("Model πŸ€—", "str"),
38
+ LeaderboardColumn("Arch πŸ›οΈ", "str"),
39
+ LeaderboardColumn("Params (B)", "number"),
40
+ LeaderboardColumn("Open LLM Score (%)", "number"),
41
+ LeaderboardColumn("DType πŸ“₯", "str"),
42
+ LeaderboardColumn("Backend 🏭", "str"),
43
+ LeaderboardColumn("Optimization πŸ› οΈ", "str"),
44
+ LeaderboardColumn("Quantization πŸ—œοΈ", "str"),
45
+ LeaderboardColumn("Prefill Latency (s)", "number"),
46
+ LeaderboardColumn("Decode Throughput (tokens/s)", "number"),
47
+ LeaderboardColumn("Allocated Memory (MB)", "number"),
48
+ LeaderboardColumn("Energy (tokens/kWh)", "number"),
49
+ LeaderboardColumn("E2E Latency (s)", "number"),
50
+ LeaderboardColumn("E2E Throughput (tokens/s)", "number"),
51
+ LeaderboardColumn("Reserved Memory (MB)", "number"),
52
+ LeaderboardColumn( "Used Memory (MB)", "number")
53
+ ]
54
+
55
 
56
  def process_model(model_name):
57
  link = f"https://huggingface.co/{model_name}"
 
69
  )
70
  return df
71
 
72
+ HEADERS = [col.name for col in LEADERBOARD_COLUMNS]
73
+ DATATYPES = [col.type for col in LEADERBOARD_COLUMNS]
74
 
75
  def create_leaderboard_table(llm_perf_df):
76
  # get dataframe
 
79
  # create table
80
  leaderboard_table = gr.components.Dataframe(
81
  value=leaderboard_df,
82
+ headers=HEADERS,
83
+ datatype=DATATYPES,
84
  visible=False,
85
  line_breaks=False,
86
  interactive=False