Vai al contenuto

Ottimizzazione dei piccoli modelli di lingua con Azure Machine Learning

Scopri come i piccoli modelli di lingua possono essere ottimizzati attraverso Azure Machine Learning per massimizzare l’efficienza e ridurre i costi, offrendo un’eccellente prestazione ed ampia accessibilità a ricercatori e imprese.

La crescente necessità di risorse computazionali per la formazione e l’implementazione dei modelli di apprendimento automatico ha portato alla ricerca di soluzioni efficaci per ridurre i costi e massimizzare l’efficienza. I cosiddetti Small Language Models (SLM), o piccoli modelli di lingua, si presentano come una risposta a queste sfide, promuovendo un approccio più accessibile ed efficiente all’uso degli algoritmi di apprendimento automatico.

I SLM sono modelli con meno parametri, il che li rende più efficienti dal punto di vista computazionale, richiedendo meno memoria e storage e permettendo di operare più velocemente. Il costo di formazione e implementazione di questi modelli è dunque inferiore, rendendo gli SLM accessibili a un’ampia gamma di imprese e adatti per applicazioni di edge computing.

I SLM offrono una maggiore adattabilità a specifiche applicazioni e possono essere ottimizzati per compiti precisi con maggiore facilità rispetto ai modelli di maggiori dimensioni. Infatti, mentre i modelli grandi hanno mostrato chiari benefici, il potenziale dei modelli meno dimensionali quando addestrati con una grande quantità di dati è stato meno esplorato. L’obiettivo degli SLM è precisamente dimostrare che questi possono raggiungere un’elevata performance quando addestrati con una sufficiente quantità di dati.

Un’altra caratteristica peculiare dei SLM è la loro efficienza durante la fase di inferenza, aspecto critico quando si tratta di utilizzare i modelli in applicazioni reali su sistemi con risorse limitate. L’efficienza dei SLM si traduce in tempi di risposta più veloci e in una riduzione dei costi di calcolo e dell’energia consumata.

Essendo open-source e di minori dimensioni, gli SLM sono più accessibili a una gamma più ampia di ricercatori che potrebbero non disporre delle risorse necessarie per lavorare con modelli più grandi. L’accessibilità di questi modelli offre una piattaforma per sperimentazioni e innovazioni nel campo della ricerca sui modelli di lingue, senza la necessità di risorse computazionali estese.

Essendo stati sviluppati con l’obiettivo di migliorare l’efficienza computazionale, i SLM incorporano diverse ottimizzazioni architetturali e di velocità. Queste miglioramenti permettono ai SLM di addestrarsi più rapidamente e con meno memoria, rendendo possibile la loro formazione su GPU comunemente disponibili.

La formazione dei dati e il processo utilizzato per gli SLM sono pensati per essere efficaci e riproducibili, utilizzando un mix di dati di linguaggio naturale e di codice, mirando a rendere l’addestramento pre-training accessibile e trasparente.

Infine, grazie alla loro eccellente performance e compatta dimensione, i SLM sono adatti ad applicazioni finali, potenzialmente anche su dispositivi mobili, fornendo una piattaforma leggera per un’ampia gamma di applicazioni.

Un esempio concreto di utilizzo e ottimizzazione di un SLM è fornito da Microsoft Research con il loro modello Phi-2. Questo modello è stato migliorato rispetto al predecessore Phi-1.5, raddoppiando il numero di parametri e ampliando il set di dati di addestramento. Phi-2 supera notevolmente Phi-1.5 e i modelli di lingue larghe che sono 25 volte più grandi su vari benchmark pubblici, pur non essendo allineato o sintonizzato. Dimentica i costi esorbitanti dei grandi modelli di lingua. Phi-2 funziona in modo efficiente anche su hardware modesto, democratizzando l’accesso all’intelligenza artificiale all’avanguardia per le startup e le piccole imprese. Non più fatture astronomiche del cloud, solo soluzioni intelligenti e convenienti, proprio come Microsoft immagina.

Nel seguente paragrafo viene illustrato, infine, come è possibile effettuare il fine-tuning di Phi-2 utilizzando QLoRA. QLoRA è una tecnica di ottimizzazione efficiente che quantizza un modello di lingua pre-addestrato a 4 bit e aggiunge piccoli “adattatori a basso rango” che vengono ottimizzati. Questo permette l’ottimizzazione di modelli con fino a 65 miliardi di parametri su una singola GPU; nonostante la sua efficacia, QLoRA eguaglia la performance dell’ottimizzazione a piena precisione e raggiunge risultati all’avanguardia sui compiti di linguaggio.