File size: 4,889 Bytes
e8d974b
 
 
 
b8b5b9f
e8d974b
2e10707
8aaa1b1
2e10707
 
7714ff0
 
bf95285
2e10707
7714ff0
2e10707
 
 
 
3257358
2e10707
 
 
e8d974b
d06a894
e8d974b
2e10707
e8d974b
2e10707
b8b5b9f
2e10707
 
ce70feb
 
468b224
3007f5f
 
32d3921
3007f5f
041cf3f
468b224
2e10707
 
 
468b224
f17d353
468b224
 
 
041cf3f
51bc0aa
362c844
041cf3f
468b224
0dc8c8c
1dd0ee9
53ab039
041cf3f
80ffef1
 
f17d353
468b224
439d41e
 
2e10707
439d41e
2e10707
 
 
 
 
 
439d41e
2e10707
439d41e
2e10707
 
 
439d41e
2e10707
 
 
 
b8b5b9f
2e10707
b8b5b9f
2e10707
 
 
439d41e
2e10707
 
c281166
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
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 |
            | command-r-plus | 49.5 | 74.9 | 67.6 | 64.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()