File size: 3,759 Bytes
e8d974b
 
 
 
d06a894
e8d974b
2e10707
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e8d974b
d06a894
e8d974b
2e10707
e8d974b
2e10707
 
 
 
 
 
 
 
 
439d41e
 
2e10707
439d41e
2e10707
 
 
 
 
 
439d41e
2e10707
439d41e
2e10707
 
 
439d41e
2e10707
 
 
 
 
 
 
 
 
 
439d41e
2e10707
 
 
439d41e
d06a894
4f7320b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
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(url)
    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_mmul acc shot 5']]
    df_classifica['media'] = df_classifica[['helloswag_it acc norm', 'arc_it acc norm', 'm_mmul acc shot 5']].mean(axis=1)
    df_classifica['media'] = df_classifica['media'].round(2) 
    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_mmul acc shot 5']]

    return df_classifica

def get_data_totale():
    dataset = pd.read_csv(url)
    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.com/invite/nfgaTG3H'
            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 dei comandi come questo:
                * lm_eval --model hf --model_args pretrained=HUGGINGFACE_MODEL_ID  --tasks xcopa_it,hellaswag_it,lambada_openai_mt_it,belebele_ita_Latn,m_mmlu_it  --device cuda:0 --batch_size 8 
            ''')
            gr.DataFrame(get_data_classifica, every=3600)            
            gr.Markdown(f"Contributore principale: @giux78")


        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.com/invite/nfgaTG3H)
            # Aggiungi il tuo modello
            Se hai sviluppato un tuo modello che vuoi far valutare, compila il form [qui]({form_link}) è tutto gratuito!         
            ''') 
        
        with gr.Tab('Sponsor'):

            gr.Markdown('''
            # Sponsor
            Le evaluation della classifica generale sono state gentilmente offerte da un provider cloud italano [seeweb.it](https://www.seeweb.it/) specializzato in servizi di GPU cloud.
            ''')
            
demo.launch()