|
import gradio as gr |
|
|
|
import src.dependency |
|
from src.assets import custom_css |
|
|
|
|
|
from src.content import ABOUT, CITATION_BUTTON, CITATION_BUTTON_LABEL, LOGO, TITLE |
|
from src.hardware import load_hardware_configs |
|
from src.leaderboard import create_leaderboard_table |
|
from src.llm_perf import get_llm_perf_df |
|
from src.map import create_lat_score_mem_plot |
|
from src.panel import ( |
|
create_control_callback, |
|
create_control_panel, |
|
create_select_callback, |
|
) |
|
|
|
configs = load_hardware_configs("hardware.yaml") |
|
|
|
|
|
demo = gr.Blocks( |
|
css=custom_css, |
|
theme=gr.themes.Default(primary_hue="indigo", secondary_hue="indigo"), |
|
) |
|
with demo: |
|
gr.HTML(LOGO, elem_classes="logo") |
|
gr.HTML(TITLE, elem_classes="title") |
|
|
|
with gr.Tabs(elem_classes="tabs"): |
|
for id, config in enumerate(configs): |
|
with gr.TabItem(config.description, id=id): |
|
|
|
if config.detail: |
|
gr.Markdown(config.detail, elem_classes="descriptive-text") |
|
|
|
|
|
( |
|
filter_button, |
|
machine_value, |
|
subsets_value, |
|
backends_value, |
|
hardware_type_value, |
|
score_slider, |
|
memory_slider, |
|
backend_checkboxes, |
|
datatype_checkboxes, |
|
optimization_checkboxes, |
|
quantization_checkboxes, |
|
kernels_checkboxes, |
|
) = create_control_panel( |
|
machine=config.machine, |
|
subsets=config.subsets, |
|
backends=config.backends, |
|
hardware_type=config.hardware_type, |
|
hardware_provider=config.hardware_provider, |
|
) |
|
|
|
with gr.Tabs(elem_classes="subtabs"): |
|
open_llm_perf_df = get_llm_perf_df( |
|
machine=config.machine, |
|
subsets=config.subsets, |
|
backends=config.backends, |
|
hardware_type=config.hardware_type, |
|
) |
|
|
|
with gr.TabItem("Leaderboard π
", id=0): |
|
search_bar, columns_checkboxes, leaderboard_table = ( |
|
create_leaderboard_table(open_llm_perf_df) |
|
) |
|
if ( |
|
config.hardware_provider != "intel" |
|
): |
|
with gr.TabItem("Find Your Best Model π§", id=1): |
|
lat_score_mem_plot = create_lat_score_mem_plot( |
|
open_llm_perf_df |
|
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
create_control_callback( |
|
filter_button, |
|
|
|
machine_value, |
|
subsets_value, |
|
backends_value, |
|
hardware_type_value, |
|
score_slider, |
|
memory_slider, |
|
backend_checkboxes, |
|
datatype_checkboxes, |
|
optimization_checkboxes, |
|
quantization_checkboxes, |
|
kernels_checkboxes, |
|
|
|
columns_checkboxes, |
|
search_bar, |
|
|
|
leaderboard_table, |
|
lat_score_mem_plot, |
|
|
|
|
|
|
|
|
|
) |
|
|
|
create_select_callback( |
|
|
|
machine_value, |
|
subsets_value, |
|
backends_value, |
|
hardware_type_value, |
|
|
|
columns_checkboxes, |
|
search_bar, |
|
|
|
leaderboard_table, |
|
) |
|
|
|
|
|
with gr.TabItem("About π", id=len(configs)): |
|
gr.Markdown(ABOUT, elem_classes="descriptive-text") |
|
|
|
with gr.Row(): |
|
with gr.Accordion("π Citation", open=False): |
|
citation_button = gr.Textbox( |
|
value=CITATION_BUTTON, |
|
label=CITATION_BUTTON_LABEL, |
|
elem_id="citation-button", |
|
show_copy_button=True, |
|
) |
|
|
|
if __name__ == "__main__": |
|
|
|
demo.queue().launch() |
|
|