I Large Language Model open source oltre l’inglese



Un confronto tra due diversi fine tuning di Large Language Model per la lingua italiana

1. Introduzione
2. Il task
3. I modelli di partenza
4.Il confronto
5.Conclusioni

Introduzione

Il mondo open source sta guadagnando terreno in termini di competitività rispetto al più competitivo gemello closed source.
Recentemente, sulla piattaforma di condivisione di modelli Hugging Face, dove sono presenti classifiche comparative tra vari Large Language Model, si sono verificati due eventi notevoli che segnano la fine del predominio tecnologico del mondo closed source e delle Big Tech:

  1. un modello open weights, Command R Plus, ha superato le prestazioni di alcune versioni di GPT-4 nella classifica di riferimento LMSys Chatbot Arena
  2. un modello open source, WizardLM2, ha superato le prestazioni di alcune versioni di GPT-4 nel framework di valutazione MT-Bench

Tuttavia, questi risultati sono validi esclusivamente se si considerano confronti sulla inglese. Infatti, nonostante i Large Language Model open source specializzati sull’inglese continuino a crescere in popolarità e a mostrare miglioramenti significativi in termini di qualità, i modelli per altre lingue, come quella italiana, rimangono piuttosto limitati.
In questo articolo, esamineremo due modelli open source particolarmente interessanti e le loro evoluzioni sviluppate da Moxoff:

  1. Mistral 7B v0.2 : un modello multilingua sviluppato da Mistral AI.
  2. Gemma 7B : un modello di Google che è stato allenato esclusivamente su dati in lingua inglese.

Tenteremo quindi di rispondere a queste domande:

  1. È possibile intervenire sui modelli multilingua (e.g. Mistral) addestrando ulteriormente su una lingua specifica come l’italiano?
  2. È possibile intervenire su modelli in lingua specifica (e.g. Gemma) per fargli “apprendere” altre lingue?
  3. La differenza di risultato tra le due operazioni è significativa o i risultati ottenuti sono paragonabili?

Prima di entrare nei dettagli, uno spoiler: entrambe le procedure funzionano! Moxoff ha rilasciato nell’ultimo periodo due modelli:

  1. Azzurro, un’evoluzione di Mistral
  2. Volare, un’evoluzione di Gemma

Entrambi i modelli sono stati rilasciati sulla pagina Hugging Face di Moxoff ed hanno ottenuto ottimi risultati, come è possibile osservare su Open Ita LLM Leaderboard, la classifica di riferimento per i Large Language Model in lingua italiana .

Il task

Il fine tuning (*) è una tipologia di addestramento dei Large Language Model che può essere impiegata per specializzarli nell’esecuzione di specifiche attività. Nel contesto del nostro studio, ci siamo concentrati sulla task di Question & Answering (Q&A) con contesto, un’attività di fondamentale importanza nello sviluppo di applicazioni quali i ChatBot basati su tecnologie AI. Queste applicazioni dialogano con gli utenti finali, attingendo tipicamente informazioni da una Knowledge Base e utilizzando tecnologie che prendono il nome di Retrieval-Augmented Generation (RAG).
Per il fine tuning, abbiamo utilizzato una combinazione di dataset open source, come SQUAD-it e dataset sviluppati internamente. Entrambi i modelli sono stati quindi allenati utilizzando metodi di training quali Sparse Fine-Tuning (SFT) e Low-Rank Adaptation (LoRA). Questo approccio ci ha permesso di esplorare l’efficacia del fine tuning nel migliorare la precisione e la pertinenza delle risposte fornite dai modelli in contesti di Q&A.
(*) Per approfondimenti sul metodo di fine tuning utilizzato, vi rimandiamo al nostro articolo precedente disponibile su Moxoff.

I modelli di partenza

Mistral 7B v0.2

Quest’ultima versione del modello Mistral 7B, rilasciata da Mistral AI , è stata progettata per introdurre miglioramenti specifici che facilitano l’uso dei modelli precedentemente rilasciati dalla società:

  1. Un significativo aumento della context window, che è stata estesa da 8.000 a 32.000 token. Questo ampliamento permette al modello di gestire contesti più lunghi, migliorando così la coerenza e la qualità delle risposte generate su testi estesi;
  2. L‘introduzione di Rope Theta impostato a 1e6, una caratteristica tecnica che ottimizza il processo di trattamento dei dati;
  3. L’eliminazione della Sliding-Window Attention, un cambiamento che semplifica la struttura del modello rendendolo più diretto e meno oneroso in termini computazionali.
ModelloTempo di Inferenza per Token
Azzurro2.5s
Volare4.5s
Questo utilizzando una GPU 4090 e una CPU i7-8700.

Benchmark

Passiamo ora a una valutazione più quantitativa tramite i benchmark di riferimento. Le metriche selezionate includono i punteggi su dataset come HellaSwag, ARC, MMLU e metriche effettive come F1.

ModelloHellaSwag_itArc_itm_mmlu_itMediaF1
Azzurro0.60760.44050.51120.5253.26
Volare0.64740.46710.55210.5569.82
I risultati mostrano che Volare supera Azzurro in termini di F1, indicando una correttezza generale più alta delle risposte.

Conclusioni

L’analisi comparativa dei modelli Mistral 7B v0.2 (“Azzurro”) e Gemma 7B (“Volare”) ha rivelato dettagli notevoli sulle prestazioni e sui limiti dei Large Language Model open source nell’elaborazione di testi in italiano.
Entrambi i modelli hanno evidenziato efficacia nel task di Question & Answering (Q&A), mostrando risultati variabili in base al tipo di domanda posta. In particolare, Azzurro ha funzionato molto bene nel fornire risposte accurate e contestualmente adeguate in scenari che richiedevano un livello avanzato di inferenza, come dimostrato dai risultati dei test specifici. D’altra parte, Volare ha ottenuto punteggi superiori nei test di benchmarking, indicando una maggiore accuratezza nelle risposte.

Nonostante Volare abbia mostrato prestazioni leggermente inferiori in alcuni test dove era necessario generasse testo simile ma non uguale al contesto, le sue capacità rimangono notevoli, soprattutto considerando che è stato principalmente addestrato su dati in inglese. Questo mette in luce la capacità dei modelli non nativamente multilingue di adattarsi con successo ad altre lingue attraverso tecniche di fine tuning mirate.
I risultati evidenziano l’importanza di persistere nello sviluppo e nel perfezionamento dei Large Language Model multilingua per non solo migliorare le loro capacità generali, ma anche per ampliarne l’uso e l’applicabilità a livello globale. L’approccio open source, che favorisce trasparenza e collaborazione, è fondamentale per accelerare questi sviluppi e per adattare le tecnologie avanzate alle necessità specifiche di diverse lingue e contesti culturali.

Referenze

  1. Mistral 7B v0.2, modello: https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.2
  2. Mistral 7B v.02, paper: https://arxiv.org/abs/2310.06825
  3. Gemma 7B, modello: https://huggingface.co/google/gemma-7b
  4. Gemma 7B, paper: https://arxiv.org/abs/2403.08295
  5. Azzurro, modello: https://huggingface.co/MoxoffSpA/Azzurro
  6. Volare, modello: https://huggingface.co/MoxoffSpA/Volare
  7. Command R Plus, modello: https://huggingface.co/CohereForAI/c4ai-command-r-plus
  8. WizardLM 2, modello: https://huggingface.co/alpindale/WizardLM-2-8x22B
  9. Open Ita LLM Leaderboard: https://huggingface.co/spaces/FinancialSupport/open_ita_llm_leaderboard

Contattaci per ricevere ulteriori informazioni