Nel 2022, addestrare un modello linguistico da miliardi di parametri su un nuovo dominio richiedeva infrastrutture da decine di migliaia di dollari e settimane di calcolo distribuito. Nel 2023, con l’introduzione di QLoRA, è diventato possibile fare la stessa operazione su una singola GPU consumer in poche ore. Questo salto rapido, concreto, misurabile è la storia del fine-tuning moderno: non più appannaggio esclusivo dei laboratori di frontiera, ma tecnica alla portata di team di ingegneria con budget ordinari.

Cos’è il fine-tuning

 Diagramma processo fine-tuning

Il fine-tuning è il processo di addestramento aggiuntivo in cui un modello già pre-addestrato viene specializzato su un dataset specifico e più ristretto, per adattarlo a un dominio o compito particolare senza ripartire da zero. In altre parole: si prende un modello che ha già appreso la struttura generale del linguaggio su miliardi di token, e lo si affina su dati curati e pertinenti al proprio caso d’uso.

La distinzione con il pre-training è netta e non va trascurata. Il pre-training è la fase più costosa e computazionalmente intensiva: il modello impara da enormi corpus non etichettati, acquisendo conoscenza generalista su linguaggio, fatti, ragionamento. Il fine-tuning opera su una base già costruita, aggiornando i pesi del modello con un segnale di supervisione molto più specifico, coppie istruzione-risposta, testo di dominio, feedback su stile o formato.

Il concetto non è nato con i Large Language Model. Howard e Ruder lo hanno formalizzato per il NLP nel 2018 con ULMFiT, mostrando che un modello linguistico pre-addestrato poteva essere adattato a task di classificazione con una quantità di dati etichettati molto inferiore rispetto all’addestramento da zero. L’idea di fondo, trasferire la conoscenza appresa in un contesto generale a uno specifico, è quella del transfer learning, di cui il fine-tuning è l’implementazione pratica dominante nell’era degli LLM.

Come funziona tecnicamente

Durante il fine-tuning, i parametri del modello vengono aggiornati attraverso lo stesso meccanismo del pre-training: gradient descent e backpropagation. La differenza sta nel dataset e nell’obiettivo. Invece di prevedere il token successivo su testo generico, il modello ottimizza la propria funzione di perdita su esempi curati tipicamente coppie (istruzione, risposta attesa) nel caso dell’instruction tuning, o testo di dominio nel caso di adattamento stilistico.

Il processo introduce un rischio strutturale che ogni professionista che lavora con LLM deve conoscere: il catastrophic forgetting. Quando un modello viene addestrato intensivamente su nuovi dati, tende a degradare le competenze acquisite in precedenza. Un modello fine-tunato in modo aggressivo su documentazione medica può perdere capacità generali di ragionamento o di generazione di codice. Questo non è un difetto del modello specifico, è una proprietà fondamentale delle reti neurali addestrate con gradient descent sequenziale.

Le tecniche moderne di fine-tuning sono progettate esattamente per contenere questo rischio, minimizzando la perturbazione sui parametri originali.

Le tecniche principali: LoRA, QLoRA, PEFT

grafico di comparazione full fine-tuning contro LoRA

Il full fine-tuning, aggiornare tutti i parametri del modello è raramente la scelta ottimale per chi lavora fuori dai laboratori di frontiera. Il costo computazionale scala linearmente con la dimensione del modello, e il rischio di catastrophic forgetting aumenta con la portata degli aggiornamenti. Per questo motivo, la ricerca ha prodotto una famiglia di tecniche riunite sotto l’etichetta PEFT (Parameter-Efficient Fine-Tuning), che aggiornano solo una piccola frazione dei parametri del modello.

LoRA (Low-Rank Adaptation) è oggi lo standard de facto. Introdotta da Hu et al. nel 2021 (arXiv:2106.09685), la tecnica congela i pesi originali del modello e introduce piccole matrici aggiuntive a basso rango, vengono chiamate adapter, all’interno degli strati di attention. Il nome “basso rango” descrive una proprietà matematica precisa: invece di apprendere una matrice di aggiornamento piena, LoRA decompone l’aggiornamento nel prodotto di due matrici molto più piccole. Il risultato pratico è una riduzione drastica del numero di parametri addestrabili, nell’ordine di migliaia di volte rispetto al full fine-tuning e senza perdita significativa di qualità sul task target.

QLoRA, introdotta da Dettmers et al. nel 2023 (arXiv:2305.14314), combina LoRA con la quantizzazione del modello base: i pesi originali vengono compressi a 4 bit, riducendo drasticamente l’occupazione di memoria, mentre gli adapter LoRA vengono addestrati in precisione piena. Questo ha reso possibile il fine-tuning di modelli da 65 miliardi di parametri su una singola GPU con 48 GB di VRAM una soglia che, prima di QLoRA, richiedeva cluster multi-GPU.

La libreria PEFT di Hugging Face implementa queste tecniche e molte varianti in un’interfaccia unificata, ed è diventata il punto di ingresso standard per chi vuole fare fine-tuning senza gestire i dettagli di implementazione delle singole tecniche. L’ecosistema open source costruito attorno a PEFT, Transformers e Accelerate rappresenta oggi l’infrastruttura di riferimento per il fine-tuning al di fuori dei laboratori proprietari.

Quando conviene il fine-tuning

diagramma su cosa c'è da cambiare come risponde e cosa c'è da sapere , fine-tuning e rag

La domanda che quasi ogni team di sviluppo si pone prima o poi è questa: fine-tuning o RAG? La risposta dipende da cosa si vuole cambiare nel modello.

Il fine-tuning è la scelta giusta quando l’obiettivo è modificare come il modello risponde :

il tono, il formato, lo stile, la capacità di seguire istruzioni specifiche oppure quando si vuole trasferire una competenza procedurale che non può essere acquisita attraverso il semplice recupero di documenti. Esempi concreti: addestrare un modello a generare output sempre in formato JSON strutturato; adattare un LLM al registro formale della comunicazione legale italiana; insegnare a un modello a classificare ticket di supporto secondo una tassonomia proprietaria.

Il fine-tuning è invece la scelta sbagliata quando il problema è che il modello non conosce dati specifici e aggiornati, documentazione interna, knowledge base aziendale, notizie recenti. In questi casi, l’architettura giusta è il RAG, che arricchisce il contesto del modello con documenti recuperati in tempo reale senza toccare i pesi. Un LLM fine-tunato non “memorizza” informazioni fattuali in modo affidabile: può apprendere pattern da documenti di training, ma rimane soggetto ad allucinazioni su dati specifici che richiedono retrieval preciso.

La regola pratica è semplice: fine-tuning per cambiare come il modello risponde, RAG per cambiare cosa sa. Le due strategie non sono mutualmente esclusive e un modello fine-tunato può lavorare dentro un’architettura RAG, ottenendo il meglio di entrambi gli approcci.

Limiti, rischi e costi nascosti

Il fine-tuning ha un costo che non sempre appare nei calcoli iniziali. Oltre al compute necessario per l’addestramento anche con LoRA c’è il costo della preparazione del dataset. I dati di fine-tuning devono essere curati con attenzione: esempi mal formulati, risposte incoerenti o bias presenti nel corpus di training si trasmettono direttamente al modello. La regola del garbage in, garbage out vale qui più che altrove, perché il fine-tuning amplifica i pattern presenti nei dati con cui viene eseguito.

L’overfitting è un rischio reale, specialmente con dataset piccoli. Un modello eccessivamente fine-tunato su pochi esempi può imparare a replicare quei esempi specifici piuttosto che generalizzare il pattern sottostante. Il monitoraggio del gap tra loss di training e loss di validazione durante il fine-tuning non è opzionale è il segnale più affidabile per rilevare l’overfitting prima che comprometta l’utilità del modello in produzione.

C’è poi la questione della manutenzione. Un modello fine-tunato è una versione derivata dal modello base: quando il provider rilascia una versione aggiornata del base model, il fine-tuning precedente non si trasferisce automaticamente. Il processo va ripetuto. Per team che usano modelli in rapida evoluzione, questo crea un overhead operativo non trascurabile che va considerato nella valutazione di sostenibilità a lungo termine.

Implicazioni pratiche per chi lavora in Italia e in Europa

Il contesto normativo europeo aggiunge una dimensione specifica alla conversazione sul fine-tuning. L’AI Act classifica i sistemi AI in livelli di rischio, e un modello fine-tunato per applicazioni ad alto rischio su sistemi decisionali in ambito sanitario, giudiziario, creditizio, ricade in requisiti di documentazione, validazione e audit che il team tecnico deve anticipare nella fase di progettazione, non aggiungere a posteriori.

Sul fronte dei dati, il fine-tuning su dati aziendali proprietari o dati personali richiede una valutazione GDPR che va oltre il semplice consenso al trattamento: i dati usati per addestrare un modello possono essere estratti dal modello stesso attraverso tecniche di membership inference attack. Prima di includere dati sensibili in un dataset di fine-tuning, è necessario un’analisi del rischio che coinvolge sia il team legale sia quello di sicurezza informatica.

Per i professionisti STEM italiani che lavorano in ambienti enterprise, il fine-tuning con LoRA su modelli open weights come LLaMA, Mistral, Qwen rappresenta oggi la via più praticabile per ottenere modelli specializzati senza dipendere da API esterne e senza esporre dati sensibili a provider terzi. L’infrastruttura necessaria è accessibile: una GPU da 24-48 GB di VRAM, la libreria PEFT di Hugging Face, e un dataset curato di alcune migliaia di esempi sono sufficienti per addestrare adapter LoRA su modelli da 7 a 13 miliardi di parametri con risultati significativamente superiori al prompting zero-shot su task specializzati.

Fonti e riferimenti

Domande frequenti sul fine-tuning

Qual è la differenza tra fine-tuning e RAG?

Il fine-tuning modifica i pesi del modello per cambiarne il comportamento: stile, formato, competenze procedurali. RAG arricchisce il contesto del modello con documenti recuperati in tempo reale senza toccare i pesi. La regola pratica: fine-tuning per cambiare come il modello risponde, RAG per cambiare cosa sa. Le due strategie sono complementari e possono essere combinate nello stesso sistema.

Quanti dati servono per fare fine-tuning?

Dipende dal task e dalla tecnica. Con LoRA, è possibile ottenere adattamenti significativi su task specifici con poche centinaia o poche migliaia di esempi curati. La qualità del dataset è più importante della quantità: 500 esempi ben costruiti producono risultati superiori a 10.000 esempi eterogenei o rumorosi. Per task complessi o domini molto specializzati, dataset da 10.000 a 100.000 esempi sono più comuni.

Cos’è il catastrophic forgetting nel fine-tuning?

Il catastrophic forgetting è il fenomeno per cui un modello, addestrato intensivamente su nuovi dati, perde le competenze acquisite in precedenza. Un LLM fine-tunato in modo aggressivo su un dominio specifico può degradare le proprie capacità generali di ragionamento o generazione. LoRA e le tecniche PEFT mitigano questo rischio congelando i pesi originali e addestrando solo piccole matrici aggiuntive.

Quale GPU serve per fare fine-tuning con LoRA?

Con LoRA e QLoRA, i requisiti hardware sono molto più contenuti rispetto al full fine-tuning. Per modelli da 7 miliardi di parametri, una GPU con 16-24 GB di VRAM è sufficiente. Per modelli da 13 miliardi di parametri, servono 24-48 GB. QLoRA ha reso possibile il fine-tuning di modelli da 65 miliardi di parametri su una singola GPU da 48 GB — un risultato impensabile con il fine-tuning tradizionale.

Il fine-tuning funziona con modelli closed source come GPT-4?

Alcuni provider offrono API di fine-tuning sui propri modelli: OpenAI ha reso disponibile il fine-tuning su GPT-3.5 Turbo e su alcune versioni di GPT-4. In questi casi il processo è gestito dal provider — si carica il dataset, si avvia il job, si usa il modello risultante via API — senza accesso ai pesi o al processo di addestramento. I modelli open weights come LLaMA e Mistral permettono invece fine-tuning locale completo.