size-vs-speed / app.py
3morixd's picture
Upload app.py with huggingface_hub
4574cbc verified
Raw
History Blame Contribute Delete
1.56 kB
import gradio as gr
import pandas as pd
MODELS = [
{"Model": "SmolLM2-135M", "Speed_tps": 59.7, "Size_MB": 101, "Phone_tps": 46.0},
{"Model": "TinyLlama-1.1B-int4", "Speed_tps": 17.6, "Size_MB": 400, "Phone_tps": ""},
{"Model": "Qwen2.5-0.5B-Server", "Speed_tps": 16.7, "Size_MB": 1000, "Phone_tps": ""},
{"Model": "Qwen2.5-0.5B-Chinese", "Speed_tps": 16.4, "Size_MB": 1000, "Phone_tps": ""},
{"Model": "Qwen2.5-Math-1.5B", "Speed_tps": 15.7, "Size_MB": 3000, "Phone_tps": ""},
{"Model": "Qwen2.5-0.5B-int4", "Speed_tps": 12.5, "Size_MB": 469, "Phone_tps": 23.2},
{"Model": "Llama-3.2-1B-Q4", "Speed_tps": 11.3, "Size_MB": 770, "Phone_tps": 5.4},
{"Model": "TinyLlama-1.1B-Q5", "Speed_tps": 10.9, "Size_MB": 800, "Phone_tps": ""},
{"Model": "Gemma-2-2B-IT", "Speed_tps": 8.2, "Size_MB": 5000, "Phone_tps": ""},
{"Model": "Phi-3.5-mini", "Speed_tps": 8.6, "Size_MB": 7600, "Phone_tps": ""},
{"Model": "Llama-3.2-3B", "Speed_tps": 4.8, "Size_MB": 6000, "Phone_tps": ""},
]
df = pd.DataFrame(MODELS)
with gr.Blocks(theme=gr.themes.Soft(primary_hue="blue"), title="Size vs Speed") as demo:
gr.Markdown("# πŸ“ˆ Model Size vs Speed")
gr.Markdown("Smaller + faster (top-left) = best for mobile.")
gr.ScatterPlot(df, x="Size_MB", y="Speed_tps", tooltip="Model",
title="Size vs Speed (top-left = best for mobile)", height=500)
gr.Markdown("**Best for mobile:** SmolLM2-135M (101MB, 59.7 t/s)")
gr.Markdown("---\nπŸš€ [dispatchAI](https://huggingface.co/dispatchAI)")
demo.launch()