Fine-tuning o embeddings congelate : quando adattare il LLM e quando mantenere la testa Sklearn ?

Per specializzare un grande modello linguistico (LLM) su un dominio specifico, l’approccio classico consiste nel fine-tuner, ovvero nel proseguire il suo addestramento su un set di dati specifico. Un tutorial confronta questo metodo con una soluzione più leggera: mantenere il modello congelato e addestrare solo un piccolo classificatore posto sopra. In un compito di classificazione di articoli di stampa, la prima strategia ottiene la migliore precisione, ma richiede molto più tempo.

La prima strategia si basa su LoRA (Low-Rank Adaptation), un algoritmo che congela i pesi pre-addestrati del modello e vi aggiunge piccole matrici di adattamento addestrabili. Queste matrici rappresentano tipicamente l’1-2% della dimensione del modello. Il tutorial utilizza una variante quantizzata, detta QLoRA, che mantiene il modello in precisione 4 bit per risparmiare memoria. La seconda strategia, detta delle embeddings congelate, consiste nell’usare il LLM solo come estrattore di caratteristiche. Ogni testo viene trasformato in un vettore numerico, chiamato embedding, a partire dall’ultimo strato nascosto del modello, poi questi vettori servono per addestrare un classificatore classico: una foresta casuale (random forest) di 100 alberi, proveniente dalla libreria scikit-learn.

Gli esperimenti sono stati condotti su Google Colab, con una GPU T4. Il modello utilizzato è Qwen/Qwen2.5-1.5B, e il set di dati è ag_news, che raccoglie articoli di attualità classificati in quattro categorie. Per mantenere il confronto rapido, gli autori lavorano su un sottoinsieme di 800 articoli di addestramento e 200 articoli di test.

Risultati contrastanti

Con la strategia delle embeddings congelate, l’estrazione dei vettori richiede 96,5 secondi, e l’addestramento del classificatore solo 2,866 secondi. La precisione raggiunge 82,0 % sul set di test. Il tutorial sottolinea che l’essenziale del tempo è dedicato all’estrazione delle caratteristiche, l’addestramento del classificatore essendo quasi istantaneo.

La strategia LoRA mostra una precisione di 87,0 %, per un addestramento di 300,3 secondi. Il guadagno in precisione ha quindi un costo: secondo il tutorial, l’intero processo ha richiesto tre volte più tempo, e questo divario potrebbe diventare nettamente più marcato con set di dati più voluminosi.

Quando privilegiare l’una o l’altra

Gli autori raccomandano le embeddings congelate quando si cerca un addestramento rapido e un basso carico computazionale, evitando al contempo il sovradattamento del modello di base. Il fine-tuning con QLoRA si impone invece quando ridurre il divario di precisione è determinante per il dominio mirato, o quando il modello deve apprendere sfumature specifiche profondamente radicate in quel dominio.

Il ragionamento cambia per i compiti puramente generativi, come la produzione di testo o di codice, dove l’adattamento del modello, ad esempio tramite fine-tuning, è generalmente necessario per ottenere comportamenti specializzati. Il tutorial nota tuttavia che le embeddings congelate possono costituire un’alternativa valida per alcuni usi generativi in deployment gratuiti, quando la massima performance è un criterio leggermente negoziabile.