Spaces:
Running
Running
Add more model results, add single-image setting table
Browse files- app.py +97 -26
- static/css/core_single.css +57 -0
- static/css/default.css +57 -0
- static/css/style.css +0 -58
- static/eval_results/Core_SI/all_model_keywords_stats.json +0 -0
- static/eval_results/Core_SI/all_summary.json +227 -0
- static/eval_results/{all_model_keywords_stats.json → Default/all_model_keywords_stats.json} +0 -0
- static/eval_results/{all_summary.json → Default/all_summary.json} +86 -8
- utils.py +153 -63
app.py
CHANGED
|
@@ -1,27 +1,35 @@
|
|
| 1 |
import gradio as gr
|
| 2 |
-
from utils import
|
| 3 |
import os
|
| 4 |
from constants import *
|
| 5 |
|
| 6 |
# Get the directory of the current script
|
| 7 |
current_dir = os.path.dirname(os.path.abspath(__file__))
|
| 8 |
|
| 9 |
-
# Construct
|
| 10 |
-
|
|
|
|
|
|
|
| 11 |
|
| 12 |
-
# Read
|
| 13 |
-
with open(
|
| 14 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 15 |
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
value=data,
|
| 20 |
-
headers=headers,
|
| 21 |
-
datatype=["str"] + ["number"] * (len(headers) - 1),
|
| 22 |
-
)
|
| 23 |
|
| 24 |
-
with gr.Blocks(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
gr.Markdown(
|
| 26 |
LEADERBOARD_INTRODUCTION
|
| 27 |
)
|
|
@@ -39,24 +47,36 @@ with gr.Blocks(css=css) as block:
|
|
| 39 |
TABLE_INTRODUCTION
|
| 40 |
)
|
| 41 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 42 |
with gr.Row():
|
| 43 |
super_group_selector = gr.Radio(
|
| 44 |
-
choices=list(SUPER_GROUPS.keys()),
|
| 45 |
label="Select a dimension to display breakdown results. We use different column colors to distinguish the overall benchmark scores and breakdown results.",
|
| 46 |
-
value=list(SUPER_GROUPS.keys())[0]
|
| 47 |
)
|
| 48 |
model_group_selector = gr.Radio(
|
| 49 |
-
choices=list(
|
| 50 |
label="Select a model group",
|
| 51 |
value="All"
|
| 52 |
)
|
| 53 |
|
| 54 |
-
initial_headers, initial_data = get_leaderboard_data(list(SUPER_GROUPS.keys())[0], "All")
|
| 55 |
-
gr.Markdown(
|
| 56 |
-
"**Table 1: MEGA-Bench full results.** <br> The Core set contains $N_{\\text{core}} = 440$ tasks evaluated by rule-based metrics, and the Open-ended set contains $N_{\\text{open}} = 65$ tasks evaluated by a VLM judge (we use GPT-4o-0806). <br> $\\text{Overall} \\ = \\ \\frac{\\max(\\text{Core w/o CoT}, \\ \\text{Core w/ CoT}) \\ \\cdot \\ N_{\\text{core}} \\ + \\ \\text{Open-ended} \\ \\cdot \\ N_{\\text{open}}}{N_{\\text{core}} \\ + \\ N_{\\text{open}}}$",
|
| 57 |
-
elem_classes="table-caption",
|
| 58 |
-
latex_delimiters=[ {"left": "$", "right": "$", "display": False }],
|
| 59 |
-
)
|
| 60 |
data_component = gr.Dataframe(
|
| 61 |
value=initial_data,
|
| 62 |
headers=initial_headers,
|
|
@@ -65,10 +85,61 @@ with gr.Blocks(css=css) as block:
|
|
| 65 |
elem_classes="custom-dataframe",
|
| 66 |
max_height=1200,
|
| 67 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 68 |
refresh_button = gr.Button("Refresh")
|
| 69 |
-
|
| 70 |
-
|
| 71 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 72 |
|
| 73 |
with gr.TabItem("📝 Data Information", elem_id="qa-tab-table2", id=2):
|
| 74 |
gr.Markdown(DATA_INFO, elem_classes="markdown-text")
|
|
|
|
| 1 |
import gradio as gr
|
| 2 |
+
from utils import DefaultDataLoader, CoreSingleDataLoader
|
| 3 |
import os
|
| 4 |
from constants import *
|
| 5 |
|
| 6 |
# Get the directory of the current script
|
| 7 |
current_dir = os.path.dirname(os.path.abspath(__file__))
|
| 8 |
|
| 9 |
+
# Construct paths to CSS files
|
| 10 |
+
base_css_file = os.path.join(current_dir, "static", "css", "style.css")
|
| 11 |
+
default_css_file = os.path.join(current_dir, "static", "css", "default.css")
|
| 12 |
+
core_single_css_file = os.path.join(current_dir, "static", "css", "core_single.css")
|
| 13 |
|
| 14 |
+
# Read CSS files
|
| 15 |
+
with open(base_css_file, "r") as f:
|
| 16 |
+
base_css = f.read()
|
| 17 |
+
with open(default_css_file, "r") as f:
|
| 18 |
+
default_css = f.read()
|
| 19 |
+
with open(core_single_css_file, "r") as f:
|
| 20 |
+
core_single_css = f.read()
|
| 21 |
|
| 22 |
+
# Initialize data loaders
|
| 23 |
+
default_loader = DefaultDataLoader()
|
| 24 |
+
core_single_loader = CoreSingleDataLoader()
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
|
| 26 |
+
with gr.Blocks() as block:
|
| 27 |
+
# Add a style element that we'll update
|
| 28 |
+
css_style = gr.HTML(
|
| 29 |
+
f"<style>{base_css}\n{default_css}</style>",
|
| 30 |
+
visible=False
|
| 31 |
+
)
|
| 32 |
+
|
| 33 |
gr.Markdown(
|
| 34 |
LEADERBOARD_INTRODUCTION
|
| 35 |
)
|
|
|
|
| 47 |
TABLE_INTRODUCTION
|
| 48 |
)
|
| 49 |
|
| 50 |
+
with gr.Row():
|
| 51 |
+
table_selector = gr.Radio(
|
| 52 |
+
choices=["Default", "Core Single-image"],
|
| 53 |
+
label="Select table to display",
|
| 54 |
+
value="Default"
|
| 55 |
+
)
|
| 56 |
+
|
| 57 |
+
# Define different captions for each table
|
| 58 |
+
default_caption = "**Table 1: MEGA-Bench full results.** <br> The Core set contains $N_{\\text{core}} = 440$ tasks evaluated by rule-based metrics, and the Open-ended set contains $N_{\\text{open}} = 65$ tasks evaluated by a VLM judge (we use GPT-4o-0806). <br> $\\text{Overall} \\ = \\ \\frac{\\max(\\text{Core w/o CoT}, \\ \\text{Core w/ CoT}) \\ \\cdot \\ N_{\\text{core}} \\ + \\ \\text{Open-ended} \\ \\cdot \\ N_{\\text{open}}}{N_{\\text{core}} \\ + \\ N_{\\text{open}}}$"
|
| 59 |
+
core_single_image_caption = "**Table 2: MEGA-Bench Core Single-image results.** <br> This subset contains 273 single-image tasks from the Core set of the benchmark. For open-source models, we drop the image input in the 1-shot demonstration example so that the entire query contains a single image only. Compared to the default table, some models with only single-image support are added."
|
| 60 |
+
|
| 61 |
+
caption_component = gr.Markdown(
|
| 62 |
+
value=default_caption,
|
| 63 |
+
elem_classes="table-caption",
|
| 64 |
+
latex_delimiters=[{"left": "$", "right": "$", "display": False}],
|
| 65 |
+
)
|
| 66 |
+
|
| 67 |
with gr.Row():
|
| 68 |
super_group_selector = gr.Radio(
|
| 69 |
+
choices=list(default_loader.SUPER_GROUPS.keys()),
|
| 70 |
label="Select a dimension to display breakdown results. We use different column colors to distinguish the overall benchmark scores and breakdown results.",
|
| 71 |
+
value=list(default_loader.SUPER_GROUPS.keys())[0]
|
| 72 |
)
|
| 73 |
model_group_selector = gr.Radio(
|
| 74 |
+
choices=list(default_loader.BASE_MODEL_GROUPS.keys()),
|
| 75 |
label="Select a model group",
|
| 76 |
value="All"
|
| 77 |
)
|
| 78 |
|
| 79 |
+
initial_headers, initial_data = default_loader.get_leaderboard_data(list(default_loader.SUPER_GROUPS.keys())[0], "All")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 80 |
data_component = gr.Dataframe(
|
| 81 |
value=initial_data,
|
| 82 |
headers=initial_headers,
|
|
|
|
| 85 |
elem_classes="custom-dataframe",
|
| 86 |
max_height=1200,
|
| 87 |
)
|
| 88 |
+
|
| 89 |
+
def update_table_and_caption(table_type, super_group, model_group):
|
| 90 |
+
if table_type == "Default":
|
| 91 |
+
headers, data = default_loader.get_leaderboard_data(super_group, model_group)
|
| 92 |
+
caption = default_caption
|
| 93 |
+
current_css = f"{base_css}\n{default_css}"
|
| 94 |
+
else: # Core Single-image
|
| 95 |
+
headers, data = core_single_loader.get_leaderboard_data(super_group, model_group)
|
| 96 |
+
caption = core_single_image_caption
|
| 97 |
+
current_css = f"{base_css}\n{core_single_css}"
|
| 98 |
+
|
| 99 |
+
return [
|
| 100 |
+
gr.Dataframe(
|
| 101 |
+
value=data,
|
| 102 |
+
headers=headers,
|
| 103 |
+
datatype=["str"] + ["number"] * (len(headers) - 1),
|
| 104 |
+
),
|
| 105 |
+
caption,
|
| 106 |
+
f"<style>{current_css}</style>"
|
| 107 |
+
]
|
| 108 |
+
|
| 109 |
+
def update_selectors(table_type):
|
| 110 |
+
loader = default_loader if table_type == "Default" else core_single_loader
|
| 111 |
+
return [
|
| 112 |
+
gr.Radio(choices=list(loader.SUPER_GROUPS.keys())),
|
| 113 |
+
gr.Radio(choices=list(loader.MODEL_GROUPS.keys()))
|
| 114 |
+
]
|
| 115 |
+
|
| 116 |
refresh_button = gr.Button("Refresh")
|
| 117 |
+
|
| 118 |
+
# Update click and change handlers to include caption updates
|
| 119 |
+
refresh_button.click(
|
| 120 |
+
fn=update_table_and_caption,
|
| 121 |
+
inputs=[table_selector, super_group_selector, model_group_selector],
|
| 122 |
+
outputs=[data_component, caption_component, css_style]
|
| 123 |
+
)
|
| 124 |
+
super_group_selector.change(
|
| 125 |
+
fn=update_table_and_caption,
|
| 126 |
+
inputs=[table_selector, super_group_selector, model_group_selector],
|
| 127 |
+
outputs=[data_component, caption_component, css_style]
|
| 128 |
+
)
|
| 129 |
+
model_group_selector.change(
|
| 130 |
+
fn=update_table_and_caption,
|
| 131 |
+
inputs=[table_selector, super_group_selector, model_group_selector],
|
| 132 |
+
outputs=[data_component, caption_component, css_style]
|
| 133 |
+
)
|
| 134 |
+
table_selector.change(
|
| 135 |
+
fn=update_selectors,
|
| 136 |
+
inputs=[table_selector],
|
| 137 |
+
outputs=[super_group_selector, model_group_selector]
|
| 138 |
+
).then(
|
| 139 |
+
fn=update_table_and_caption,
|
| 140 |
+
inputs=[table_selector, super_group_selector, model_group_selector],
|
| 141 |
+
outputs=[data_component, caption_component, css_style]
|
| 142 |
+
)
|
| 143 |
|
| 144 |
with gr.TabItem("📝 Data Information", elem_id="qa-tab-table2", id=2):
|
| 145 |
gr.Markdown(DATA_INFO, elem_classes="markdown-text")
|
static/css/core_single.css
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
.custom-dataframe thead th:nth-child(-n+2),
|
| 2 |
+
.custom-dataframe tbody td:nth-child(-n+2) {
|
| 3 |
+
background-color: var(--global-column-background) !important;
|
| 4 |
+
}
|
| 5 |
+
|
| 6 |
+
.custom-dataframe thead th:nth-child(n+3),
|
| 7 |
+
.custom-dataframe tbody td:nth-child(n+3) {
|
| 8 |
+
background-color: var(--dimension-column-background) !important;
|
| 9 |
+
}
|
| 10 |
+
|
| 11 |
+
.custom-dataframe tbody tr:nth-child(even) td:nth-child(-n+2) {
|
| 12 |
+
background-color: var(--row-even-global) !important;
|
| 13 |
+
}
|
| 14 |
+
|
| 15 |
+
.custom-dataframe tbody tr:nth-child(even) td:nth-child(n+3) {
|
| 16 |
+
background-color: var(--row-even-dimension) !important;
|
| 17 |
+
}
|
| 18 |
+
|
| 19 |
+
/* Dark mode styles */
|
| 20 |
+
@media (prefers-color-scheme: dark) {
|
| 21 |
+
.custom-dataframe {
|
| 22 |
+
color: var(--text-color) !important;
|
| 23 |
+
background-color: var(--background-color) !important;
|
| 24 |
+
}
|
| 25 |
+
|
| 26 |
+
.custom-dataframe thead th {
|
| 27 |
+
background-color: var(--header-background) !important;
|
| 28 |
+
color: var(--text-color) !important;
|
| 29 |
+
}
|
| 30 |
+
|
| 31 |
+
.custom-dataframe tbody td {
|
| 32 |
+
background-color: var(--background-color) !important;
|
| 33 |
+
color: var(--text-color) !important;
|
| 34 |
+
}
|
| 35 |
+
|
| 36 |
+
.custom-dataframe thead th:nth-child(-n+2),
|
| 37 |
+
.custom-dataframe tbody td:nth-child(-n+2) {
|
| 38 |
+
background-color: var(--global-column-background) !important;
|
| 39 |
+
}
|
| 40 |
+
|
| 41 |
+
.custom-dataframe thead th:nth-child(n+3),
|
| 42 |
+
.custom-dataframe tbody td:nth-child(n+3) {
|
| 43 |
+
background-color: var(--dimension-column-background) !important;
|
| 44 |
+
}
|
| 45 |
+
|
| 46 |
+
.custom-dataframe tbody tr:nth-child(even) td:nth-child(-n+2) {
|
| 47 |
+
background-color: var(--row-even-global) !important;
|
| 48 |
+
}
|
| 49 |
+
|
| 50 |
+
.custom-dataframe tbody tr:nth-child(even) td:nth-child(n+3) {
|
| 51 |
+
background-color: var(--row-even-dimension) !important;
|
| 52 |
+
}
|
| 53 |
+
|
| 54 |
+
.custom-dataframe tbody tr:hover td {
|
| 55 |
+
background-color: var(--hover-background) !important;
|
| 56 |
+
}
|
| 57 |
+
}
|
static/css/default.css
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
.custom-dataframe thead th:nth-child(-n+5),
|
| 2 |
+
.custom-dataframe tbody td:nth-child(-n+5) {
|
| 3 |
+
background-color: var(--global-column-background) !important;
|
| 4 |
+
}
|
| 5 |
+
|
| 6 |
+
.custom-dataframe thead th:nth-child(n+6),
|
| 7 |
+
.custom-dataframe tbody td:nth-child(n+6) {
|
| 8 |
+
background-color: var(--dimension-column-background) !important;
|
| 9 |
+
}
|
| 10 |
+
|
| 11 |
+
.custom-dataframe tbody tr:nth-child(even) td:nth-child(-n+5) {
|
| 12 |
+
background-color: var(--row-even-global) !important;
|
| 13 |
+
}
|
| 14 |
+
|
| 15 |
+
.custom-dataframe tbody tr:nth-child(even) td:nth-child(n+6) {
|
| 16 |
+
background-color: var(--row-even-dimension) !important;
|
| 17 |
+
}
|
| 18 |
+
|
| 19 |
+
/* Dark mode styles */
|
| 20 |
+
@media (prefers-color-scheme: dark) {
|
| 21 |
+
.custom-dataframe {
|
| 22 |
+
color: var(--text-color) !important;
|
| 23 |
+
background-color: var(--background-color) !important;
|
| 24 |
+
}
|
| 25 |
+
|
| 26 |
+
.custom-dataframe thead th {
|
| 27 |
+
background-color: var(--header-background) !important;
|
| 28 |
+
color: var(--text-color) !important;
|
| 29 |
+
}
|
| 30 |
+
|
| 31 |
+
.custom-dataframe tbody td {
|
| 32 |
+
background-color: var(--background-color) !important;
|
| 33 |
+
color: var(--text-color) !important;
|
| 34 |
+
}
|
| 35 |
+
|
| 36 |
+
.custom-dataframe thead th:nth-child(-n+5),
|
| 37 |
+
.custom-dataframe tbody td:nth-child(-n+5) {
|
| 38 |
+
background-color: var(--global-column-background) !important;
|
| 39 |
+
}
|
| 40 |
+
|
| 41 |
+
.custom-dataframe thead th:nth-child(n+6),
|
| 42 |
+
.custom-dataframe tbody td:nth-child(n+6) {
|
| 43 |
+
background-color: var(--dimension-column-background) !important;
|
| 44 |
+
}
|
| 45 |
+
|
| 46 |
+
.custom-dataframe tbody tr:nth-child(even) td:nth-child(-n+5) {
|
| 47 |
+
background-color: var(--row-even-global) !important;
|
| 48 |
+
}
|
| 49 |
+
|
| 50 |
+
.custom-dataframe tbody tr:nth-child(even) td:nth-child(n+6) {
|
| 51 |
+
background-color: var(--row-even-dimension) !important;
|
| 52 |
+
}
|
| 53 |
+
|
| 54 |
+
.custom-dataframe tbody tr:hover td {
|
| 55 |
+
background-color: var(--hover-background) !important;
|
| 56 |
+
}
|
| 57 |
+
}
|
static/css/style.css
CHANGED
|
@@ -40,64 +40,6 @@
|
|
| 40 |
color: var(--text-color) !important;
|
| 41 |
}
|
| 42 |
|
| 43 |
-
.custom-dataframe thead th:nth-child(-n+5),
|
| 44 |
-
.custom-dataframe tbody td:nth-child(-n+5) {
|
| 45 |
-
background-color: var(--global-column-background) !important;
|
| 46 |
-
}
|
| 47 |
-
|
| 48 |
-
.custom-dataframe thead th:nth-child(n+6),
|
| 49 |
-
.custom-dataframe tbody td:nth-child(n+6) {
|
| 50 |
-
background-color: var(--dimension-column-background) !important;
|
| 51 |
-
}
|
| 52 |
-
|
| 53 |
-
.custom-dataframe tbody tr:nth-child(even) td:nth-child(-n+5) {
|
| 54 |
-
background-color: var(--row-even-global) !important;
|
| 55 |
-
}
|
| 56 |
-
|
| 57 |
-
.custom-dataframe tbody tr:nth-child(even) td:nth-child(n+6) {
|
| 58 |
-
background-color: var(--row-even-dimension) !important;
|
| 59 |
-
}
|
| 60 |
-
|
| 61 |
-
/* Dark mode styles */
|
| 62 |
-
@media (prefers-color-scheme: dark) {
|
| 63 |
-
.custom-dataframe {
|
| 64 |
-
color: var(--text-color) !important;
|
| 65 |
-
background-color: var(--background-color) !important;
|
| 66 |
-
}
|
| 67 |
-
|
| 68 |
-
.custom-dataframe thead th {
|
| 69 |
-
background-color: var(--header-background) !important;
|
| 70 |
-
color: var(--text-color) !important;
|
| 71 |
-
}
|
| 72 |
-
|
| 73 |
-
.custom-dataframe tbody td {
|
| 74 |
-
background-color: var(--background-color) !important;
|
| 75 |
-
color: var(--text-color) !important;
|
| 76 |
-
}
|
| 77 |
-
|
| 78 |
-
.custom-dataframe thead th:nth-child(-n+5),
|
| 79 |
-
.custom-dataframe tbody td:nth-child(-n+5) {
|
| 80 |
-
background-color: var(--global-column-background) !important;
|
| 81 |
-
}
|
| 82 |
-
|
| 83 |
-
.custom-dataframe thead th:nth-child(n+6),
|
| 84 |
-
.custom-dataframe tbody td:nth-child(n+6) {
|
| 85 |
-
background-color: var(--dimension-column-background) !important;
|
| 86 |
-
}
|
| 87 |
-
|
| 88 |
-
.custom-dataframe tbody tr:nth-child(even) td:nth-child(-n+5) {
|
| 89 |
-
background-color: var(--row-even-global) !important;
|
| 90 |
-
}
|
| 91 |
-
|
| 92 |
-
.custom-dataframe tbody tr:nth-child(even) td:nth-child(n+6) {
|
| 93 |
-
background-color: var(--row-even-dimension) !important;
|
| 94 |
-
}
|
| 95 |
-
|
| 96 |
-
.custom-dataframe tbody tr:hover td {
|
| 97 |
-
background-color: var(--hover-background) !important;
|
| 98 |
-
}
|
| 99 |
-
}
|
| 100 |
-
|
| 101 |
.table-caption {
|
| 102 |
text-align: center;
|
| 103 |
margin-top: 10px;
|
|
|
|
| 40 |
color: var(--text-color) !important;
|
| 41 |
}
|
| 42 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 43 |
.table-caption {
|
| 44 |
text-align: center;
|
| 45 |
margin-top: 10px;
|
static/eval_results/Core_SI/all_model_keywords_stats.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
static/eval_results/Core_SI/all_summary.json
ADDED
|
@@ -0,0 +1,227 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"Aquila_VL_2B": {
|
| 3 |
+
"num_eval_tasks": 273,
|
| 4 |
+
"num_eval_samples": 4116,
|
| 5 |
+
"num_not_eval_samples": 0,
|
| 6 |
+
"num_total_samples": 4377,
|
| 7 |
+
"macro_mean_score": 0.20770364903712493,
|
| 8 |
+
"micro_mean_score": 0.20333142638522636,
|
| 9 |
+
"missing_tasks": []
|
| 10 |
+
},
|
| 11 |
+
"Aria": {
|
| 12 |
+
"num_eval_tasks": 273,
|
| 13 |
+
"num_eval_samples": 4116,
|
| 14 |
+
"num_not_eval_samples": 0,
|
| 15 |
+
"num_total_samples": 4377,
|
| 16 |
+
"macro_mean_score": 0.3178882776147889,
|
| 17 |
+
"micro_mean_score": 0.3101511832828904,
|
| 18 |
+
"missing_tasks": []
|
| 19 |
+
},
|
| 20 |
+
"Claude_3.5": {
|
| 21 |
+
"num_eval_tasks": 273,
|
| 22 |
+
"num_eval_samples": 4116,
|
| 23 |
+
"num_not_eval_samples": 0,
|
| 24 |
+
"num_total_samples": 4116,
|
| 25 |
+
"macro_mean_score": 0.520276385877485,
|
| 26 |
+
"micro_mean_score": 0.520276385877485
|
| 27 |
+
},
|
| 28 |
+
"Claude_3.5_new": {
|
| 29 |
+
"num_eval_tasks": 273,
|
| 30 |
+
"num_eval_samples": 4116,
|
| 31 |
+
"num_not_eval_samples": 0,
|
| 32 |
+
"num_total_samples": 4116,
|
| 33 |
+
"macro_mean_score": 0.5462752278980763,
|
| 34 |
+
"micro_mean_score": 0.5462752278980763
|
| 35 |
+
},
|
| 36 |
+
"GPT_4o": {
|
| 37 |
+
"num_eval_tasks": 273,
|
| 38 |
+
"num_eval_samples": 4116,
|
| 39 |
+
"num_not_eval_samples": 0,
|
| 40 |
+
"num_total_samples": 4116,
|
| 41 |
+
"macro_mean_score": 0.5529953662872719,
|
| 42 |
+
"micro_mean_score": 0.5529953662872719
|
| 43 |
+
},
|
| 44 |
+
"GPT_4o_mini": {
|
| 45 |
+
"num_eval_tasks": 273,
|
| 46 |
+
"num_eval_samples": 4116,
|
| 47 |
+
"num_not_eval_samples": 0,
|
| 48 |
+
"num_total_samples": 4116,
|
| 49 |
+
"macro_mean_score": 0.44285970964797233,
|
| 50 |
+
"micro_mean_score": 0.44285970964797233
|
| 51 |
+
},
|
| 52 |
+
"Gemini_1.5_flash_002": {
|
| 53 |
+
"num_eval_tasks": 273,
|
| 54 |
+
"num_eval_samples": 4116,
|
| 55 |
+
"num_not_eval_samples": 0,
|
| 56 |
+
"num_total_samples": 4116,
|
| 57 |
+
"macro_mean_score": 0.42188460865574384,
|
| 58 |
+
"micro_mean_score": 0.42188460865574384
|
| 59 |
+
},
|
| 60 |
+
"Gemini_1.5_pro_002": {
|
| 61 |
+
"num_eval_tasks": 273,
|
| 62 |
+
"num_eval_samples": 4116,
|
| 63 |
+
"num_not_eval_samples": 0,
|
| 64 |
+
"num_total_samples": 4116,
|
| 65 |
+
"macro_mean_score": 0.4914311038229404,
|
| 66 |
+
"micro_mean_score": 0.4914311038229404
|
| 67 |
+
},
|
| 68 |
+
"Idefics3": {
|
| 69 |
+
"num_eval_tasks": 273,
|
| 70 |
+
"num_eval_samples": 4116,
|
| 71 |
+
"num_not_eval_samples": 0,
|
| 72 |
+
"num_total_samples": 4377,
|
| 73 |
+
"macro_mean_score": 0.08941182847569326,
|
| 74 |
+
"micro_mean_score": 0.08779475233900695,
|
| 75 |
+
"missing_tasks": []
|
| 76 |
+
},
|
| 77 |
+
"InternVL2_2B": {
|
| 78 |
+
"num_eval_tasks": 273,
|
| 79 |
+
"num_eval_samples": 4116,
|
| 80 |
+
"num_not_eval_samples": 0,
|
| 81 |
+
"num_total_samples": 4377,
|
| 82 |
+
"macro_mean_score": 0.12069001041308772,
|
| 83 |
+
"micro_mean_score": 0.11842605219090299,
|
| 84 |
+
"missing_tasks": []
|
| 85 |
+
},
|
| 86 |
+
"InternVL2_76B": {
|
| 87 |
+
"num_eval_tasks": 273,
|
| 88 |
+
"num_eval_samples": 4116,
|
| 89 |
+
"num_not_eval_samples": 0,
|
| 90 |
+
"num_total_samples": 4377,
|
| 91 |
+
"macro_mean_score": 0.3998616568018755,
|
| 92 |
+
"micro_mean_score": 0.39149064302628933,
|
| 93 |
+
"missing_tasks": []
|
| 94 |
+
},
|
| 95 |
+
"InternVL2_8B": {
|
| 96 |
+
"num_eval_tasks": 273,
|
| 97 |
+
"num_eval_samples": 4116,
|
| 98 |
+
"num_not_eval_samples": 0,
|
| 99 |
+
"num_total_samples": 4377,
|
| 100 |
+
"macro_mean_score": 0.27650612401825575,
|
| 101 |
+
"micro_mean_score": 0.27119471729837735,
|
| 102 |
+
"missing_tasks": []
|
| 103 |
+
},
|
| 104 |
+
"Llama_3_2_11B": {
|
| 105 |
+
"num_eval_tasks": 273,
|
| 106 |
+
"num_eval_samples": 4116,
|
| 107 |
+
"num_not_eval_samples": 0,
|
| 108 |
+
"num_total_samples": 4377,
|
| 109 |
+
"macro_mean_score": 0.20789144960796493,
|
| 110 |
+
"micro_mean_score": 0.20163641703273802,
|
| 111 |
+
"missing_tasks": []
|
| 112 |
+
},
|
| 113 |
+
"MiniCPM_v2.6": {
|
| 114 |
+
"num_eval_tasks": 273,
|
| 115 |
+
"num_eval_samples": 4116,
|
| 116 |
+
"num_not_eval_samples": 0,
|
| 117 |
+
"num_total_samples": 4377,
|
| 118 |
+
"macro_mean_score": 0.23230765810722817,
|
| 119 |
+
"micro_mean_score": 0.22684118052665975,
|
| 120 |
+
"missing_tasks": []
|
| 121 |
+
},
|
| 122 |
+
"Molmo_72B": {
|
| 123 |
+
"num_eval_tasks": 270,
|
| 124 |
+
"num_eval_samples": 4073,
|
| 125 |
+
"num_not_eval_samples": 0,
|
| 126 |
+
"num_total_samples": 4331,
|
| 127 |
+
"macro_mean_score": 0.36480000609384927,
|
| 128 |
+
"micro_mean_score": 0.36205779758110807,
|
| 129 |
+
"missing_tasks": [
|
| 130 |
+
"table_understanding",
|
| 131 |
+
"MMSoc_Misinformation_PolitiFact",
|
| 132 |
+
"planning_screenshot_termes"
|
| 133 |
+
]
|
| 134 |
+
},
|
| 135 |
+
"Molmo_7B_D": {
|
| 136 |
+
"num_eval_tasks": 272,
|
| 137 |
+
"num_eval_samples": 4102,
|
| 138 |
+
"num_not_eval_samples": 0,
|
| 139 |
+
"num_total_samples": 4362,
|
| 140 |
+
"macro_mean_score": 0.2098088446992518,
|
| 141 |
+
"micro_mean_score": 0.20550929661464645,
|
| 142 |
+
"missing_tasks": [
|
| 143 |
+
"MMSoc_Misinformation_PolitiFact"
|
| 144 |
+
]
|
| 145 |
+
},
|
| 146 |
+
"NVLM": {
|
| 147 |
+
"num_eval_tasks": 273,
|
| 148 |
+
"num_eval_samples": 4116,
|
| 149 |
+
"num_not_eval_samples": 0,
|
| 150 |
+
"num_total_samples": 4377,
|
| 151 |
+
"macro_mean_score": 0.32989872890926025,
|
| 152 |
+
"micro_mean_score": 0.32315683713111915,
|
| 153 |
+
"missing_tasks": []
|
| 154 |
+
},
|
| 155 |
+
"POINTS_7B": {
|
| 156 |
+
"num_eval_tasks": 273,
|
| 157 |
+
"num_eval_samples": 4116,
|
| 158 |
+
"num_not_eval_samples": 0,
|
| 159 |
+
"num_total_samples": 4377,
|
| 160 |
+
"macro_mean_score": 0.25511317681632334,
|
| 161 |
+
"micro_mean_score": 0.24927711632415062,
|
| 162 |
+
"missing_tasks": []
|
| 163 |
+
},
|
| 164 |
+
"Phi-3.5-vision": {
|
| 165 |
+
"num_eval_tasks": 273,
|
| 166 |
+
"num_eval_samples": 4116,
|
| 167 |
+
"num_not_eval_samples": 0,
|
| 168 |
+
"num_total_samples": 4377,
|
| 169 |
+
"macro_mean_score": 0.2561274958722834,
|
| 170 |
+
"micro_mean_score": 0.2504214576875906,
|
| 171 |
+
"missing_tasks": []
|
| 172 |
+
},
|
| 173 |
+
"Pixtral_12B": {
|
| 174 |
+
"num_eval_tasks": 273,
|
| 175 |
+
"num_eval_samples": 4116,
|
| 176 |
+
"num_not_eval_samples": 0,
|
| 177 |
+
"num_total_samples": 4377,
|
| 178 |
+
"macro_mean_score": 0.3436942439614412,
|
| 179 |
+
"micro_mean_score": 0.3373564384613738,
|
| 180 |
+
"missing_tasks": []
|
| 181 |
+
},
|
| 182 |
+
"Qwen2_VL_2B": {
|
| 183 |
+
"num_eval_tasks": 273,
|
| 184 |
+
"num_eval_samples": 4116,
|
| 185 |
+
"num_not_eval_samples": 0,
|
| 186 |
+
"num_total_samples": 4377,
|
| 187 |
+
"macro_mean_score": 0.22787906973244856,
|
| 188 |
+
"micro_mean_score": 0.2234748515064842,
|
| 189 |
+
"missing_tasks": []
|
| 190 |
+
},
|
| 191 |
+
"Qwen2_VL_72B": {
|
| 192 |
+
"num_eval_tasks": 273,
|
| 193 |
+
"num_eval_samples": 4116,
|
| 194 |
+
"num_not_eval_samples": 0,
|
| 195 |
+
"num_total_samples": 4377,
|
| 196 |
+
"macro_mean_score": 0.4730536307784527,
|
| 197 |
+
"micro_mean_score": 0.4659830915476831,
|
| 198 |
+
"missing_tasks": []
|
| 199 |
+
},
|
| 200 |
+
"Qwen2_VL_7B": {
|
| 201 |
+
"num_eval_tasks": 273,
|
| 202 |
+
"num_eval_samples": 4116,
|
| 203 |
+
"num_not_eval_samples": 0,
|
| 204 |
+
"num_total_samples": 4377,
|
| 205 |
+
"macro_mean_score": 0.3538656561495699,
|
| 206 |
+
"micro_mean_score": 0.34581250459157137,
|
| 207 |
+
"missing_tasks": []
|
| 208 |
+
},
|
| 209 |
+
"llava_onevision_72B": {
|
| 210 |
+
"num_eval_tasks": 273,
|
| 211 |
+
"num_eval_samples": 4116,
|
| 212 |
+
"num_not_eval_samples": 0,
|
| 213 |
+
"num_total_samples": 4377,
|
| 214 |
+
"macro_mean_score": 0.312618242621264,
|
| 215 |
+
"micro_mean_score": 0.3098623876487132,
|
| 216 |
+
"missing_tasks": []
|
| 217 |
+
},
|
| 218 |
+
"llava_onevision_7B": {
|
| 219 |
+
"num_eval_tasks": 273,
|
| 220 |
+
"num_eval_samples": 4116,
|
| 221 |
+
"num_not_eval_samples": 0,
|
| 222 |
+
"num_total_samples": 4377,
|
| 223 |
+
"macro_mean_score": 0.23683339637631812,
|
| 224 |
+
"micro_mean_score": 0.23283041278687175,
|
| 225 |
+
"missing_tasks": []
|
| 226 |
+
}
|
| 227 |
+
}
|
static/eval_results/{all_model_keywords_stats.json → Default/all_model_keywords_stats.json}
RENAMED
|
The diff for this file is too large to render.
See raw diff
|
|
|
static/eval_results/{all_summary.json → Default/all_summary.json}
RENAMED
|
@@ -5,16 +5,16 @@
|
|
| 5 |
"num_eval_samples": 6539,
|
| 6 |
"num_not_eval_samples": 0,
|
| 7 |
"num_total_samples": 6961,
|
| 8 |
-
"macro_mean_score": 0.
|
| 9 |
-
"micro_mean_score": 0.
|
| 10 |
},
|
| 11 |
"core_cot": {
|
| 12 |
"num_eval_tasks": 440,
|
| 13 |
"num_eval_samples": 6539,
|
| 14 |
"num_not_eval_samples": 0,
|
| 15 |
"num_total_samples": 6961,
|
| 16 |
-
"macro_mean_score": 0.
|
| 17 |
-
"micro_mean_score": 0.
|
| 18 |
},
|
| 19 |
"open": {
|
| 20 |
"num_eval_tasks": 65,
|
|
@@ -23,7 +23,7 @@
|
|
| 23 |
"macro_mean_score": 0.6478225794744895,
|
| 24 |
"micro_mean_score": 0.665391229578676
|
| 25 |
},
|
| 26 |
-
"overall_score": 0.
|
| 27 |
},
|
| 28 |
"Gemini_1.5_pro_002": {
|
| 29 |
"core_noncot": {
|
|
@@ -117,8 +117,8 @@
|
|
| 117 |
"num_eval_samples": 6539,
|
| 118 |
"num_not_eval_samples": 0,
|
| 119 |
"num_total_samples": 6961,
|
| 120 |
-
"macro_mean_score": 0.
|
| 121 |
-
"micro_mean_score": 0.
|
| 122 |
},
|
| 123 |
"open": {
|
| 124 |
"num_eval_tasks": 65,
|
|
@@ -127,7 +127,7 @@
|
|
| 127 |
"macro_mean_score": 0.6563419761104125,
|
| 128 |
"micro_mean_score": 0.6724419604471196
|
| 129 |
},
|
| 130 |
-
"overall_score": 0.
|
| 131 |
},
|
| 132 |
"GPT_4o_mini": {
|
| 133 |
"core_noncot": {
|
|
@@ -492,5 +492,83 @@
|
|
| 492 |
"micro_mean_score": 0.3947549441100602
|
| 493 |
},
|
| 494 |
"overall_score": 0.25566537510391796
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 495 |
}
|
| 496 |
}
|
|
|
|
| 5 |
"num_eval_samples": 6539,
|
| 6 |
"num_not_eval_samples": 0,
|
| 7 |
"num_total_samples": 6961,
|
| 8 |
+
"macro_mean_score": 0.5203440930873326,
|
| 9 |
+
"micro_mean_score": 0.514302640282204
|
| 10 |
},
|
| 11 |
"core_cot": {
|
| 12 |
"num_eval_tasks": 440,
|
| 13 |
"num_eval_samples": 6539,
|
| 14 |
"num_not_eval_samples": 0,
|
| 15 |
"num_total_samples": 6961,
|
| 16 |
+
"macro_mean_score": 0.5265030595065238,
|
| 17 |
+
"micro_mean_score": 0.5236338521693411
|
| 18 |
},
|
| 19 |
"open": {
|
| 20 |
"num_eval_tasks": 65,
|
|
|
|
| 23 |
"macro_mean_score": 0.6478225794744895,
|
| 24 |
"micro_mean_score": 0.665391229578676
|
| 25 |
},
|
| 26 |
+
"overall_score": 0.5421184432647768
|
| 27 |
},
|
| 28 |
"Gemini_1.5_pro_002": {
|
| 29 |
"core_noncot": {
|
|
|
|
| 117 |
"num_eval_samples": 6539,
|
| 118 |
"num_not_eval_samples": 0,
|
| 119 |
"num_total_samples": 6961,
|
| 120 |
+
"macro_mean_score": 0.5259191914020757,
|
| 121 |
+
"micro_mean_score": 0.5230785894131227
|
| 122 |
},
|
| 123 |
"open": {
|
| 124 |
"num_eval_tasks": 65,
|
|
|
|
| 127 |
"macro_mean_score": 0.6563419761104125,
|
| 128 |
"micro_mean_score": 0.6724419604471196
|
| 129 |
},
|
| 130 |
+
"overall_score": 0.5427062825031487
|
| 131 |
},
|
| 132 |
"GPT_4o_mini": {
|
| 133 |
"core_noncot": {
|
|
|
|
| 492 |
"micro_mean_score": 0.3947549441100602
|
| 493 |
},
|
| 494 |
"overall_score": 0.25566537510391796
|
| 495 |
+
},
|
| 496 |
+
"InternVL2_2B": {
|
| 497 |
+
"core_noncot": {
|
| 498 |
+
"num_eval_tasks": 440,
|
| 499 |
+
"num_eval_samples": 6539,
|
| 500 |
+
"num_not_eval_samples": 0,
|
| 501 |
+
"num_total_samples": 6961,
|
| 502 |
+
"macro_mean_score": 0.09089701489596874,
|
| 503 |
+
"micro_mean_score": 0.09036328295381871
|
| 504 |
+
},
|
| 505 |
+
"core_cot": {
|
| 506 |
+
"num_eval_tasks": 440,
|
| 507 |
+
"num_eval_samples": 6539,
|
| 508 |
+
"num_not_eval_samples": 0,
|
| 509 |
+
"num_total_samples": 6961,
|
| 510 |
+
"macro_mean_score": 0.13141974398938763,
|
| 511 |
+
"micro_mean_score": 0.13063500716262516
|
| 512 |
+
},
|
| 513 |
+
"open": {
|
| 514 |
+
"num_eval_tasks": 65,
|
| 515 |
+
"num_eval_samples": 1163,
|
| 516 |
+
"num_total_samples": 1224,
|
| 517 |
+
"macro_mean_score": 0.23864417043743646,
|
| 518 |
+
"micro_mean_score": 0.24901117798796224
|
| 519 |
+
},
|
| 520 |
+
"overall_score": 0.14522090778963154
|
| 521 |
+
},
|
| 522 |
+
"Qwen2_VL_2B": {
|
| 523 |
+
"core_noncot": {
|
| 524 |
+
"num_eval_tasks": 440,
|
| 525 |
+
"num_eval_samples": 6539,
|
| 526 |
+
"num_not_eval_samples": 0,
|
| 527 |
+
"num_total_samples": 6961,
|
| 528 |
+
"macro_mean_score": 0.16448220309703876,
|
| 529 |
+
"micro_mean_score": 0.1610710186451323
|
| 530 |
+
},
|
| 531 |
+
"core_cot": {
|
| 532 |
+
"num_eval_tasks": 440,
|
| 533 |
+
"num_eval_samples": 6539,
|
| 534 |
+
"num_not_eval_samples": 0,
|
| 535 |
+
"num_total_samples": 6961,
|
| 536 |
+
"macro_mean_score": 0.20877163406364055,
|
| 537 |
+
"micro_mean_score": 0.20561526268932287
|
| 538 |
+
},
|
| 539 |
+
"open": {
|
| 540 |
+
"num_eval_tasks": 65,
|
| 541 |
+
"num_eval_samples": 1163,
|
| 542 |
+
"num_total_samples": 1224,
|
| 543 |
+
"macro_mean_score": 0.3154302566225611,
|
| 544 |
+
"micro_mean_score": 0.33856405846947557
|
| 545 |
+
},
|
| 546 |
+
"overall_score": 0.22249997162072932
|
| 547 |
+
},
|
| 548 |
+
"Aquila_VL_2B": {
|
| 549 |
+
"core_noncot": {
|
| 550 |
+
"num_eval_tasks": 440,
|
| 551 |
+
"num_eval_samples": 6539,
|
| 552 |
+
"num_not_eval_samples": 0,
|
| 553 |
+
"num_total_samples": 6961,
|
| 554 |
+
"macro_mean_score": 0.16317824309838627,
|
| 555 |
+
"micro_mean_score": 0.16198837245148487
|
| 556 |
+
},
|
| 557 |
+
"core_cot": {
|
| 558 |
+
"num_eval_tasks": 440,
|
| 559 |
+
"num_eval_samples": 6539,
|
| 560 |
+
"num_not_eval_samples": 0,
|
| 561 |
+
"num_total_samples": 6961,
|
| 562 |
+
"macro_mean_score": 0.159970161379836,
|
| 563 |
+
"micro_mean_score": 0.15844711671722148
|
| 564 |
+
},
|
| 565 |
+
"open": {
|
| 566 |
+
"num_eval_tasks": 65,
|
| 567 |
+
"num_eval_samples": 1163,
|
| 568 |
+
"num_total_samples": 1224,
|
| 569 |
+
"macro_mean_score": 0.24567572098570653,
|
| 570 |
+
"micro_mean_score": 0.2704213241616509
|
| 571 |
+
},
|
| 572 |
+
"overall_score": 0.17379673035120966
|
| 573 |
}
|
| 574 |
}
|
utils.py
CHANGED
|
@@ -1,21 +1,8 @@
|
|
| 1 |
import pandas as pd
|
| 2 |
-
import gradio as gr
|
| 3 |
-
import csv
|
| 4 |
import json
|
| 5 |
-
import
|
| 6 |
-
import shutil
|
| 7 |
-
from huggingface_hub import Repository
|
| 8 |
-
import numpy as np
|
| 9 |
|
| 10 |
-
#
|
| 11 |
-
with open("./static/eval_results/all_model_keywords_stats.json", "r") as f:
|
| 12 |
-
MODEL_DATA = json.load(f)
|
| 13 |
-
|
| 14 |
-
with open("./static/eval_results/all_summary.json", "r") as f:
|
| 15 |
-
SUMMARY_DATA = json.load(f)
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
# Define model name mapping
|
| 19 |
MODEL_NAME_MAP = {
|
| 20 |
"Claude_3.5_new": "Claude-3.5-Sonnet (1022)",
|
| 21 |
"GPT_4o": "GPT-4o (0513)",
|
|
@@ -36,9 +23,14 @@ MODEL_NAME_MAP = {
|
|
| 36 |
"Phi-3.5-vision": "Phi-3.5-Vision",
|
| 37 |
"MiniCPM_v2.6": "MiniCPM-V2.6",
|
| 38 |
"Idefics3": "Idefics3-8B-Llama3",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 39 |
}
|
| 40 |
|
| 41 |
-
# Custom name mapping for dimensions and keywords
|
| 42 |
DIMENSION_NAME_MAP = {
|
| 43 |
"skills": "Skills",
|
| 44 |
"input_format": "Input Format",
|
|
@@ -91,59 +83,157 @@ KEYWORD_NAME_MAP = {
|
|
| 91 |
"video": "Video",
|
| 92 |
}
|
| 93 |
|
| 94 |
-
|
| 95 |
-
|
| 96 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 97 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 98 |
def get_original_dimension(mapped_dimension):
|
| 99 |
return next(k for k, v in DIMENSION_NAME_MAP.items() if v == mapped_dimension)
|
| 100 |
|
| 101 |
def get_original_keyword(mapped_keyword):
|
| 102 |
return next((k for k, v in KEYWORD_NAME_MAP.items() if v == mapped_keyword), mapped_keyword)
|
| 103 |
|
| 104 |
-
# Define model groups
|
| 105 |
-
MODEL_GROUPS = {
|
| 106 |
-
"All": list(MODEL_DATA.keys()),
|
| 107 |
-
"Flagship Models": ['Claude_3.5_new', 'GPT_4o', 'Claude_3.5', 'Gemini_1.5_pro_002', 'Qwen2_VL_72B', 'InternVL2_76B', 'llava_onevision_72B', 'NVLM'],
|
| 108 |
-
"Efficiency Models": ['Gemini_1.5_flash_002', 'GPT_4o_mini', 'Qwen2_VL_7B', 'Pixtral_12B', 'Aria', 'InternVL2_8B', 'Phi-3.5-vision', 'MiniCPM_v2.6', 'llava_onevision_7B', 'Llama_3_2_11B', 'Idefics3'],
|
| 109 |
-
"Proprietary Flagship models": ['Claude_3.5_new', 'GPT_4o', 'Claude_3.5', 'Gemini_1.5_pro_002'],
|
| 110 |
-
"Proprietary Efficiency Models": ['Gemini_1.5_flash_002', 'GPT_4o_mini'],
|
| 111 |
-
"Open-source Flagship Models": ['Qwen2_VL_72B', 'InternVL2_76B', 'llava_onevision_72B', 'NVLM'],
|
| 112 |
-
"Open-source Efficiency Models": ['Qwen2_VL_7B', 'Pixtral_12B', 'Aria', 'InternVL2_8B', 'Phi-3.5-vision', 'MiniCPM_v2.6', 'llava_onevision_7B', 'Llama_3_2_11B', 'Idefics3'],
|
| 113 |
-
}
|
| 114 |
-
|
| 115 |
def get_display_model_name(model_name):
|
| 116 |
return MODEL_NAME_MAP.get(model_name, model_name)
|
| 117 |
-
|
| 118 |
-
def get_df(selected_super_group, selected_model_group):
|
| 119 |
-
original_dimension = get_original_dimension(selected_super_group)
|
| 120 |
-
data = []
|
| 121 |
-
for model in MODEL_GROUPS[selected_model_group]:
|
| 122 |
-
model_data = MODEL_DATA[model]
|
| 123 |
-
summary = SUMMARY_DATA[model]
|
| 124 |
-
core_noncot_score = summary["core_noncot"]["macro_mean_score"]
|
| 125 |
-
core_cot_score = summary["core_cot"]["macro_mean_score"]
|
| 126 |
-
row = {
|
| 127 |
-
"Models": get_display_model_name(model), # Use the mapped name
|
| 128 |
-
"Overall": round(summary["overall_score"] * 100, 2),
|
| 129 |
-
"Core(w/o CoT)": round(core_noncot_score * 100, 2),
|
| 130 |
-
"Core(w/ CoT)": round(core_cot_score * 100, 2),
|
| 131 |
-
"Open-ended": round(summary["open"]["macro_mean_score"] * 100, 2)
|
| 132 |
-
}
|
| 133 |
-
for keyword in SUPER_GROUPS[selected_super_group]:
|
| 134 |
-
original_keyword = get_original_keyword(keyword)
|
| 135 |
-
if original_dimension in model_data and original_keyword in model_data[original_dimension]:
|
| 136 |
-
row[keyword] = round(model_data[original_dimension][original_keyword]["average_score"] * 100, 2)
|
| 137 |
-
else:
|
| 138 |
-
row[keyword] = None
|
| 139 |
-
data.append(row)
|
| 140 |
-
|
| 141 |
-
df = pd.DataFrame(data)
|
| 142 |
-
df = df.sort_values(by="Overall", ascending=False)
|
| 143 |
-
return df
|
| 144 |
-
|
| 145 |
-
def get_leaderboard_data(selected_super_group, selected_model_group):
|
| 146 |
-
df = get_df(selected_super_group, selected_model_group)
|
| 147 |
-
headers = ["Models", "Overall", "Core(w/o CoT)", "Core(w/ CoT)", "Open-ended"] + SUPER_GROUPS[selected_super_group]
|
| 148 |
-
data = df[headers].values.tolist()
|
| 149 |
-
return headers, data
|
|
|
|
| 1 |
import pandas as pd
|
|
|
|
|
|
|
| 2 |
import json
|
| 3 |
+
from typing import Dict, Any, Tuple
|
|
|
|
|
|
|
|
|
|
| 4 |
|
| 5 |
+
# Keep all the constant mappings outside the class
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6 |
MODEL_NAME_MAP = {
|
| 7 |
"Claude_3.5_new": "Claude-3.5-Sonnet (1022)",
|
| 8 |
"GPT_4o": "GPT-4o (0513)",
|
|
|
|
| 23 |
"Phi-3.5-vision": "Phi-3.5-Vision",
|
| 24 |
"MiniCPM_v2.6": "MiniCPM-V2.6",
|
| 25 |
"Idefics3": "Idefics3-8B-Llama3",
|
| 26 |
+
"Aquila_VL_2B": "Aquila-VL-2B-llava-qwen",
|
| 27 |
+
"POINTS_7B": "POINTS-Qwen2.5-7B",
|
| 28 |
+
"Qwen2_VL_2B": "Qwen2-VL-2B",
|
| 29 |
+
"InternVL2_2B": "InternVL2-2B",
|
| 30 |
+
"Molmo_7B_D": "Molmo-7B-D-0924",
|
| 31 |
+
"Molmo_72B": "Molmo-72B-0924",
|
| 32 |
}
|
| 33 |
|
|
|
|
| 34 |
DIMENSION_NAME_MAP = {
|
| 35 |
"skills": "Skills",
|
| 36 |
"input_format": "Input Format",
|
|
|
|
| 83 |
"video": "Video",
|
| 84 |
}
|
| 85 |
|
| 86 |
+
class BaseDataLoader:
|
| 87 |
+
# Define the base MODEL_GROUPS structure
|
| 88 |
+
BASE_MODEL_GROUPS = {
|
| 89 |
+
"All": list(MODEL_NAME_MAP.keys()),
|
| 90 |
+
"Flagship Models": ['Claude_3.5_new', 'GPT_4o', 'Claude_3.5', 'Gemini_1.5_pro_002', 'Qwen2_VL_72B', 'InternVL2_76B', 'llava_onevision_72B', 'NVLM'],
|
| 91 |
+
"Efficiency Models": ['Gemini_1.5_flash_002', 'GPT_4o_mini', 'Qwen2_VL_7B', 'Pixtral_12B', 'Aria', 'InternVL2_8B', 'Phi-3.5-vision', 'MiniCPM_v2.6', 'llava_onevision_7B', 'Llama_3_2_11B', 'Idefics3'],
|
| 92 |
+
"Proprietary Flagship models": ['Claude_3.5_new', 'GPT_4o', 'Claude_3.5', 'Gemini_1.5_pro_002'],
|
| 93 |
+
"Proprietary Efficiency Models": ['Gemini_1.5_flash_002', 'GPT_4o_mini'],
|
| 94 |
+
"Open-source Flagship Models": ['Qwen2_VL_72B', 'InternVL2_76B', 'llava_onevision_72B', 'NVLM'],
|
| 95 |
+
"Open-source Efficiency Models": ['Qwen2_VL_7B', 'Pixtral_12B', 'Aria', 'InternVL2_8B', 'Phi-3.5-vision', 'MiniCPM_v2.6', 'llava_onevision_7B', 'Llama_3_2_11B', 'Idefics3'],
|
| 96 |
+
}
|
| 97 |
+
|
| 98 |
+
def __init__(self):
|
| 99 |
+
self.MODEL_DATA = self._load_model_data()
|
| 100 |
+
self.SUMMARY_DATA = self._load_summary_data()
|
| 101 |
+
self.SUPER_GROUPS = self._initialize_super_groups()
|
| 102 |
+
self.MODEL_GROUPS = self._initialize_model_groups()
|
| 103 |
+
|
| 104 |
+
def _initialize_super_groups(self):
|
| 105 |
+
# Define the desired order of super groups
|
| 106 |
+
|
| 107 |
+
groups = {DIMENSION_NAME_MAP[dim]: [KEYWORD_NAME_MAP.get(k, k) for k in self.MODEL_DATA[next(iter(self.MODEL_DATA))][dim].keys()]
|
| 108 |
+
for dim in self.MODEL_DATA[next(iter(self.MODEL_DATA))]}
|
| 109 |
+
|
| 110 |
+
order = ["Skills", "Application", "Output Format", "Input Format", "Visual Input Number"]
|
| 111 |
+
# Sort the dictionary based on the predefined order
|
| 112 |
+
return {k: groups[k] for k in order if k in groups}
|
| 113 |
+
|
| 114 |
+
def _initialize_model_groups(self) -> Dict[str, list]:
|
| 115 |
+
# Get the list of available models from the loaded data
|
| 116 |
+
available_models = set(self.MODEL_DATA.keys())
|
| 117 |
+
|
| 118 |
+
# Create filtered groups based on available models
|
| 119 |
+
filtered_groups = {}
|
| 120 |
+
for group_name, models in self.BASE_MODEL_GROUPS.items():
|
| 121 |
+
if group_name == "All":
|
| 122 |
+
filtered_groups[group_name] = sorted(list(available_models))
|
| 123 |
+
else:
|
| 124 |
+
filtered_models = [model for model in models if model in available_models]
|
| 125 |
+
if filtered_models: # Only include group if it has models
|
| 126 |
+
filtered_groups[group_name] = filtered_models
|
| 127 |
+
|
| 128 |
+
return filtered_groups
|
| 129 |
+
|
| 130 |
+
def _load_model_data(self) -> Dict[str, Any]:
|
| 131 |
+
raise NotImplementedError("Subclasses must implement _load_model_data")
|
| 132 |
+
|
| 133 |
+
def _load_summary_data(self) -> Dict[str, Any]:
|
| 134 |
+
raise NotImplementedError("Subclasses must implement _load_summary_data")
|
| 135 |
+
|
| 136 |
+
def get_df(self, selected_super_group: str, selected_model_group: str) -> pd.DataFrame:
|
| 137 |
+
raise NotImplementedError("Subclasses must implement get_df")
|
| 138 |
+
|
| 139 |
+
def get_leaderboard_data(self, selected_super_group: str, selected_model_group: str) -> Tuple[list, list]:
|
| 140 |
+
raise NotImplementedError("Subclasses must implement get_leaderboard_data")
|
| 141 |
+
|
| 142 |
+
|
| 143 |
+
class DefaultDataLoader(BaseDataLoader):
|
| 144 |
+
def __init__(self):
|
| 145 |
+
super().__init__()
|
| 146 |
+
|
| 147 |
+
def _load_model_data(self) -> Dict[str, Any]:
|
| 148 |
+
with open("./static/eval_results/Default/all_model_keywords_stats.json", "r") as f:
|
| 149 |
+
return json.load(f)
|
| 150 |
|
| 151 |
+
def _load_summary_data(self) -> Dict[str, Any]:
|
| 152 |
+
with open("./static/eval_results/Default/all_summary.json", "r") as f:
|
| 153 |
+
return json.load(f)
|
| 154 |
+
|
| 155 |
+
def get_df(self, selected_super_group: str, selected_model_group: str) -> pd.DataFrame:
|
| 156 |
+
original_dimension = get_original_dimension(selected_super_group)
|
| 157 |
+
data = []
|
| 158 |
+
for model in self.MODEL_GROUPS[selected_model_group]:
|
| 159 |
+
model_data = self.MODEL_DATA[model]
|
| 160 |
+
summary = self.SUMMARY_DATA[model]
|
| 161 |
+
core_noncot_score = summary["core_noncot"]["macro_mean_score"]
|
| 162 |
+
core_cot_score = summary["core_cot"]["macro_mean_score"]
|
| 163 |
+
row = {
|
| 164 |
+
"Models": get_display_model_name(model),
|
| 165 |
+
"Overall": round(summary["overall_score"] * 100, 2),
|
| 166 |
+
"Core(w/o CoT)": round(core_noncot_score * 100, 2),
|
| 167 |
+
"Core(w/ CoT)": round(core_cot_score * 100, 2),
|
| 168 |
+
"Open-ended": round(summary["open"]["macro_mean_score"] * 100, 2)
|
| 169 |
+
}
|
| 170 |
+
for keyword in self.SUPER_GROUPS[selected_super_group]:
|
| 171 |
+
original_keyword = get_original_keyword(keyword)
|
| 172 |
+
if original_dimension in model_data and original_keyword in model_data[original_dimension]:
|
| 173 |
+
row[keyword] = round(model_data[original_dimension][original_keyword]["average_score"] * 100, 2)
|
| 174 |
+
else:
|
| 175 |
+
row[keyword] = None
|
| 176 |
+
data.append(row)
|
| 177 |
+
|
| 178 |
+
df = pd.DataFrame(data)
|
| 179 |
+
df = df.sort_values(by="Overall", ascending=False)
|
| 180 |
+
return df
|
| 181 |
+
|
| 182 |
+
def get_leaderboard_data(self, selected_super_group: str, selected_model_group: str) -> Tuple[list, list]:
|
| 183 |
+
df = self.get_df(selected_super_group, selected_model_group)
|
| 184 |
+
headers = ["Models", "Overall", "Core(w/o CoT)", "Core(w/ CoT)", "Open-ended"] + self.SUPER_GROUPS[selected_super_group]
|
| 185 |
+
data = df[headers].values.tolist()
|
| 186 |
+
return headers, data
|
| 187 |
+
|
| 188 |
+
|
| 189 |
+
class CoreSingleDataLoader(BaseDataLoader):
|
| 190 |
+
def __init__(self):
|
| 191 |
+
super().__init__()
|
| 192 |
+
|
| 193 |
+
def _load_model_data(self) -> Dict[str, Any]:
|
| 194 |
+
with open("./static/eval_results/Core_SI/all_model_keywords_stats.json", "r") as f:
|
| 195 |
+
return json.load(f)
|
| 196 |
+
|
| 197 |
+
def _load_summary_data(self) -> Dict[str, Any]:
|
| 198 |
+
with open("./static/eval_results/Core_SI/all_summary.json", "r") as f:
|
| 199 |
+
return json.load(f)
|
| 200 |
+
|
| 201 |
+
def get_df(self, selected_super_group: str, selected_model_group: str) -> pd.DataFrame:
|
| 202 |
+
original_dimension = get_original_dimension(selected_super_group)
|
| 203 |
+
data = []
|
| 204 |
+
for model in self.MODEL_GROUPS[selected_model_group]:
|
| 205 |
+
model_data = self.MODEL_DATA[model]
|
| 206 |
+
summary = self.SUMMARY_DATA[model]
|
| 207 |
+
core_si_score = summary["macro_mean_score"]
|
| 208 |
+
row = {
|
| 209 |
+
"Models": get_display_model_name(model),
|
| 210 |
+
"Core SI": round(core_si_score * 100, 2),
|
| 211 |
+
}
|
| 212 |
+
for keyword in self.SUPER_GROUPS[selected_super_group]:
|
| 213 |
+
original_keyword = get_original_keyword(keyword)
|
| 214 |
+
if original_dimension in model_data and original_keyword in model_data[original_dimension]:
|
| 215 |
+
row[keyword] = round(model_data[original_dimension][original_keyword]["average_score"] * 100, 2)
|
| 216 |
+
else:
|
| 217 |
+
row[keyword] = None
|
| 218 |
+
data.append(row)
|
| 219 |
+
|
| 220 |
+
df = pd.DataFrame(data)
|
| 221 |
+
df = df.sort_values(by="Core SI", ascending=False)
|
| 222 |
+
return df
|
| 223 |
+
|
| 224 |
+
def get_leaderboard_data(self, selected_super_group: str, selected_model_group: str) -> Tuple[list, list]:
|
| 225 |
+
df = self.get_df(selected_super_group, selected_model_group)
|
| 226 |
+
headers = ["Models", "Core SI"] + self.SUPER_GROUPS[selected_super_group]
|
| 227 |
+
data = df[headers].values.tolist()
|
| 228 |
+
return headers, data
|
| 229 |
+
|
| 230 |
+
|
| 231 |
+
# Keep your helper functions
|
| 232 |
def get_original_dimension(mapped_dimension):
|
| 233 |
return next(k for k, v in DIMENSION_NAME_MAP.items() if v == mapped_dimension)
|
| 234 |
|
| 235 |
def get_original_keyword(mapped_keyword):
|
| 236 |
return next((k for k, v in KEYWORD_NAME_MAP.items() if v == mapped_keyword), mapped_keyword)
|
| 237 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 238 |
def get_display_model_name(model_name):
|
| 239 |
return MODEL_NAME_MAP.get(model_name, model_name)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|