import gradio as gr import pandas as pd def load_leaderboard(): try: return pd.read_csv("leaderboard.csv") except Exception: # Fallback if file is missing return pd.DataFrame(columns=["Rank", "Model Name", "Score", "Method", "Author"]) TEXT_1 = f""" Competere, aiutarci assieme e migliorare nel post-training di LLM, con una spesa accessibile a tutti. ## Challenge Tutti i partecipanti dovranno partire dal modello base: [mii-llm/zagreus-0.4B-ita](https://huggingface.co/mii-llm/zagreus-0.4B-ita) Si puó partecipare da soli o in team, umani e 🤖, la challenge è aperta a tutti, anche aziende e università etc.. ### Obbiettivo Migliorare le performance nel seguente benchmark italiano [ITALIC](https://italicbench.it/), il vincitore sarà quello che ottiene il miglior punteggio nel benchmark. [how to run](https://github.com/Crisp-Unimib/ITALIC/blob/main/README.md#how-to-use) """ TEXT_2 = """ ## Regole - La run finale di ogni partecipante potrá usare massimo 10 ore di GPU H100 (equivalenti a circa 25 euro su RunPod) - La challenge dura da oggi fino al 5 agosto 2026. - Le 10 ore comprendono qualsiasi utilizzo della GPU, inclusa l’eventuale generazione di dati sintetici. ## Cosa è permesso Sono ammessi, ad esempio: * Qualsiasi tipo di fine-tuning (SFT, DPO, ORPO, RL, LoRA, QLoRA, etc.) * Qualsiasi tipo di synthetic data (purché generati da modelli che fittano nell’ h100 all’interno del budget di 10 ore) * Qualsiasi dataset che trovate su Hugging Face o altri repository ## Cosa non è permesso Non è consentito: * utilizzare checkpoint già addestrati da altri come punto di partenza * utilizzare dati dei benchmark di test per l’addestramento * modificare il codice di valutazione * usare GPU aggiuntive oltre al budget assegnato * generare dati sintetici al di fuori delle 10 ore di GPU disponibili o con API """ TEXT_3 = """ ## Consegna Ogni partecipante dovrà consegnare: nel canale [https://discord.gg/eEZzBuG27](https://discord.gg/347uGYFzw) * link hf al modello finale * codice e configurazioni di training * dataset utilizzati * risultati della valutazione completa (inclusa nelle 10 ore di gpu disponibili) * breve report che descriva: idea iniziale, esperimenti svolti, cosa ha funzionato, cosa non ha funzionato ecc.. ## Premio Non ci sono premi in denaro ma chi ottiene il punteggio piú alto verrá eletto campione in carica. Il vero premio è contribuire alla crescita dell’ecosistema italiano dell’AI open. """ with gr.Blocks(title="Italian Post-Training Challenge 2026") as demo: gr.Markdown("# 🇮🇹 Italian Post-Training Challenge 2026") with gr.Tabs() as tabs: with gr.Tab("Obiettivo"): gr.Markdown(TEXT_1) with gr.Tab("Regole"): gr.Markdown(TEXT_2) with gr.Tab("Consegna"): gr.Markdown(TEXT_3) gr.Markdown("---") gr.Markdown("## 🏆 Leaderboard") leaderboard_df = load_leaderboard() gr.Dataframe(leaderboard_df, interactive=False) if __name__ == "__main__": demo.launch()