FinancialSupport's picture
Update app.py
1dd0ee9 verified
raw
history blame
No virus
4.83 kB
import gradio as gr
import pandas as pd
csv_filename = 'leaderboard.csv'
# url = 'https://docs.google.com/spreadsheets/d/1Oh3nrbdWjKuh9twJsc9yJLppiJeD_BZyKgCTOxRkALM/export?format=csv'
def get_data_classifica():
dataset = pd.read_csv("leaderboard_general.csv", sep=',')
if 'model ' in dataset.columns:
dataset.rename(columns={'model ': 'model'}, inplace=True)
df_classifica = dataset[['model', 'helloswag_it acc norm', 'arc_it acc norm', 'm_mmlu_it acc shot 5']]
df_classifica['media'] = df_classifica[['helloswag_it acc norm', 'arc_it acc norm', 'm_mmlu_it acc shot 5']].mean(axis=1)
df_classifica['media'] = df_classifica['media'].round(3)
df_classifica = df_classifica.sort_values(by='media', ascending=False)
df_classifica = df_classifica[['model', 'media', 'helloswag_it acc norm', 'arc_it acc norm', 'm_mmlu_it acc shot 5']]
return df_classifica
def get_data_totale():
dataset = pd.read_csv("leaderboard_general.csv", sep=',')
if 'model ' in dataset.columns:
dataset.rename(columns={'model ': 'model'}, inplace=True)
return dataset
with gr.Blocks() as demo:
with gr.Tab('Classifica Generale'):
gr.Markdown('''# Classifica generale degli LLM italiani''')
discord_link = 'https://discord.gg/m7sS3mduY2'
gr.Markdown('''
I modelli sottostanti sono stati testati con [lm_evaluation_harness](https://github.com/EleutherAI/lm-evaluation-harness) su task specifici per l'italiano introdotti con questa [PR](https://github.com/EleutherAI/lm-evaluation-harness/pull/1358).
L'intero progetto, i modelli e i dataset sono rigorosamente open source e tutti i risultati sono riproducibili lanciando i seguenti comandi:
```
lm_eval --model hf --model_args pretrained=HUGGINGFACE_MODEL_ID --tasks hellaswag_it,arc_it --device cuda:0 --batch_size auto:2
```
```
lm_eval --model hf --model_args pretrained=HUGGINGFACE_MODEL_ID --tasks m_mmlu_it --num_fewshot 5 --device cuda:0 --batch_size auto:2
```
''')
gr.DataFrame(get_data_classifica, every=3600)
gr.Markdown(f"Contributore principale: @giux78")
gr.Markdown('''
### Risultati su modelli "internazionali" (instruct)
| Model | Arc-c | HellaS | MMUL | AVG |
| --- | --- | --- | --- | --- |
| Mixtral 8x22b | 55.3 | 77.1 | 75.8 | 69.4 |
| LLama3 70b | 52.9 | 70.3 | 74.8 | 66.0 |
| Mixtral 8x7b | 51.1 | 72.9 | 65.9 | 63.3 |
| LLama2 70b | 49.4 | 70.9 | 65.1 | 61.8 |
| command-r-v01 | 50.8 | 72.3 | 60.0 | 61.0 |
| Phi-3-mini | 43.46 | 61.44 | 56.55 | 53.8 |
| LLama3 8b | 44.3 | 59.9 | 55.7 | 53.3 |
| LLama1 34b | 42.9 | 65.4 | 49.0 | 52.4 |
| Mistral 7b | 41.49 | 61.22 | 52.53 | 51.7 |
| Gemma 1.1 7b | 41.75 | 54.07 | 49.45 | 48.4 |
''')
with gr.Tab('Classifica RAG'):
gr.Markdown('''# Classifica RAG degli LLM italiani''')
gr.Markdown(f'''In questa sezione i modelli sono valutati su dei task di Q&A e ordinati per F1 Score e EM (Exact Match). La repo di riferimento è [questa](https://github.com/C080/open-llm-ita-leaderboard).
I modelli in cima alla classifica sono ritenuti preferibili per i task di Retrieval Augmented Generation.''')
gr.Dataframe(pd.read_csv(csv_filename, sep=';'))
gr.Markdown(f"Si ringrazia il @galatolo per il codice dell'eval.")
with gr.Tab('Eval aggiuntive'):
gr.Markdown('''# Altre evaluation''')
gr.Markdown('''Qui ci sono altri test di altri modelli, che non sono ancora stati integrati nella classifica generale.''')
gr.DataFrame(get_data_totale, every=3600)
with gr.Tab('Informazioni'):
form_link = "https://forms.gle/Gc9Dfu52xSBhQPpAA"
gr.Markdown('''# Community discord
Se vuoi contribuire al progetto o semplicemente unirti alla community di LLM italiani unisciti al nostro [discord!](https://discord.gg/m7sS3mduY2)
# Aggiungi il tuo modello
Se hai sviluppato un tuo modello che vuoi far valutare, compila il form [qui](https://forms.gle/Gc9Dfu52xSBhQPpAA) è tutto gratuito!
''')
with gr.Tab('Sponsor'):
gr.Markdown('''
# Sponsor
Le evaluation della classifica generale sono state gentilmente offerte da un provider cloud italiano [seeweb.it](https://www.seeweb.it/) specializzato in servizi di GPU cloud e AI.
''')
demo.launch()