Home/ Wiki/ AI/ Fine-Tuning

Fine-Tuning dei Modelli AI

Prendere un modello già addestrato e piegarlo al tuo caso. Come funziona, quanto costa, e perché nove volte su dieci ti serve invece la RAG.

Illustrazione del processo di fine-tuning di un modello AI
Indice dei contenuti
Aggiornato: Aprile 2026 9 min di lettura

Transfer learning e fine-tuning

Il transfer learning è il principio per cui un modello addestrato su un compito generale (per esempio prevedere la parola successiva su miliardi di testi) può essere riadattato a un compito specifico riusando quello che ha già imparato. Il fine-tuning è il modo concreto di farlo: si prende un modello pre-addestrato e lo si riaddestra su un insieme di dati più piccolo e specializzato, ritoccandone i pesi.

Punti chiave

  • Il fine-tuning adatta il comportamento di un modello (stile, tono, formato), non la sua conoscenza fattuale: per quella serve la RAG.
  • La qualità del dataset è il fattore più critico: pochi esempi ben curati battono migliaia di esempi rumorosi.
  • Le tecniche PEFT come LoRA e QLoRA rendono il fine-tuning accessibile anche su una singola GPU, abbattendo i costi.
  • Prima di addestrare, verifica sempre se il prompt engineering basta: è più economico e reversibile.
  • Misura con un evaluation set separato e monitora l'overfitting per ottenere risultati affidabili.

L'idea è nata nella Computer Vision, con ImageNet come punto di partenza per qualsiasi classificatore di immagini, e poi è passata al NLP con BERT, GPT e i modelli di oggi. Il vantaggio è il costo: addestrare da zero vuol dire milioni di dollari e settimane di calcolo, adattare vuol dire qualche ora e qualche migliaio di esempi. È il motivo per cui oggi un modello su misura è alla portata di uno studio professionale, e non solo di un centro di ricerca.

Il fine-tuning modifica il comportamento del modello: stile, formato, tono, capacità di seguire istruzioni specifiche e aderenza a un dominio.

Quando fare fine-tuning (e quando no)

La domanda che mi fanno sempre è: meglio il fine-tuning o la RAG? Dipende da cosa vuoi ottenere, e la risposta più frequente è la RAG:

ObiettivoApproccio consigliato
Accesso a dati aggiornati o proprietariRAG
Citabilità e tracciabilità delle fontiRAG
Adattare stile, tono, formato di rispostaFine-tuning
Ridurre le hallucination su un dominioRAG + Fine-tuning
Insegnare un task specifico (classificazione, estrazione)Fine-tuning
Ridurre la latenza (no retrieval)Fine-tuning

In molti sistemi enterprise si adotta un approccio ibrido: fine-tuning per adattare il comportamento del modello e RAG per fornire conoscenza aggiornata.

Preparazione del dataset

Il dataset è la parte che decide tutto, e anche quella che nessuno vuole fare. Per gli LLM il formato standard è una lista di conversazioni (instruction tuning):

Formato tipico (JSONL)

{"messages": [{"role": "system", "content": "Sei un assistente medico."}, {"role": "user", "content": "Cos'è la tachicardia?"}, {"role": "assistant", "content": "La tachicardia è..."}]}

Come si mette insieme un dataset che serva:

  • Quantità: da 50 a 10.000 esempi, a seconda della complessità del task. Per task semplici (classificazione) bastano poche centinaia; per task complessi servono migliaia.
  • Qualità: ogni esempio deve rappresentare il comportamento desiderato. Errori nel dataset si amplificano nel modello, perché l'addestramento li interpreta come pattern da imitare.
  • Diversità: coprire tutti i casi d'uso, edge case e variazioni che il modello incontrerà in produzione.
  • Bilanciamento: evitare che una classe o un tipo di risposta domini il dataset (vedi Errori Comuni nell'AI).

LoRA e QLoRA

Il fine-tuning completo (full fine-tuning) aggiorna tutti i parametri del modello, richiedendo enorme memoria GPU. Le tecniche PEFT (Parameter-Efficient Fine-Tuning) risolvono questo problema aggiornando solo una frazione dei pesi.

LoRA (Low-Rank Adaptation) è la tecnica PEFT più diffusa. Invece di aggiornare le matrici di peso originali W, LoRA le congela e aggiunge due piccole matrici A e B tali che il nuovo peso sia W + BA. Il rango r (tipicamente 8-64) controlla la dimensione di queste matrici. Il risultato è che si addestrano milioni di parametri invece di miliardi, ottenendo "adattatori" leggeri da pochi MB che si possono salvare, scambiare e attivare al volo senza duplicare il modello base.

QLoRA aggiunge a LoRA la quantizzazione a 4 bit del modello di base, e con quella si fa fine-tuning di modelli da 70 miliardi di parametri su una sola GPU da 24 GB. È il punto in cui sperimentare ha smesso di richiedere un data center: la qualità resta vicina al fine-tuning completo e il costo si misura in decine di euro.

Confronto risorse

Full fine-tuning di Llama 3 70B: ~8x A100 80 GB (~$50/ora cloud)

LoRA: ~2x A100 80 GB (~$12/ora)

QLoRA: ~1x A100 40 GB o RTX 4090 (~$3/ora)

Hyperparameters chiave

Gli iperparametri governano l'addestramento e vanno provati:

  • Learning rate: tipicamente 1e-5 a 5e-5 per full fine-tuning, 1e-4 a 3e-4 per LoRA. Un valore troppo alto causa instabilità; troppo basso rallenta la convergenza.
  • Epochs: 1-5 per i LLM. Troppo poche e il modello non impara; troppe causano overfitting.
  • Batch size: limitato dalla VRAM. Si usa il gradient accumulation per simulare batch più grandi.
  • Warmup ratio: percentuale di step iniziali con learning rate crescente (tipicamente 3-10%).
  • LoRA rank (r): valori più alti catturano più informazione ma richiedono più memoria. 16-32 è un buon punto di partenza.
  • LoRA alpha: scaling factor, spesso impostato a 2*r.

Costi e risorse

Quanto costa, a seconda della strada:

MetodoModello 7BModello 70BTempo tipico
API fine-tuning (OpenAI)$5-50N/D1-3 ore
QLoRA (cloud)$3-10$15-602-8 ore
Full fine-tuning (cloud)$30-100$200-8004-24 ore

Per chi inizia, le API di fine-tuning (OpenAI, Together AI, Fireworks) sono il percorso più semplice: si carica il dataset JSONL e la piattaforma gestisce l'infrastruttura. Per maggiore controllo, framework come Hugging Face TRL, Axolotl e Unsloth offrono fine-tuning locale o su cloud.

Quello che consiglio

Le raccomandazioni che darei a chi ci si mette adesso:

  • Parti dal prompt engineering: prima di fare fine-tuning, verifica se il comportamento desiderato è ottenibile con un prompt migliore. È più economico e reversibile.
  • Valuta con metriche oggettive: definisci un evaluation set separato dal training set. Usa metriche automatiche (es. accuracy per classificazione) e valutazione umana per task generativi.
  • Monitora l'overfitting: confronta training loss e validation loss. Se la validation loss inizia a salire, fermati (early stopping).
  • Versiona tutto: dataset, hyperparameters, modello risultante. La riproducibilità è fondamentale.
  • Testa su casi reali: le metriche aggregate nascondono fallimenti su specifiche categorie di input. Costruisci una suite di test con esempi reali e edge case.

Il fine-tuning serve a insegnare a un modello come parlare e ragionare nel tuo campo. Per fargli sapere cose aggiornate c'è la RAG, che costa molto meno e si corregge in un minuto: la maggior parte dei progetti che ho visto partire con il fine-tuning sarebbe finita prima con una RAG e tre prompt scritti bene.

Per capire cosa succede davvero durante l'addestramento conviene passare prima dalle reti neurali e da token e tokenizzazione: sono le due cose che rendono leggibili gli errori quando qualcosa non funziona.

Vuoi imparare ad applicarlo davvero?

Scopri i corsi e la formazione di Federico Boggia su AI, dati e digitale.

Vai ai corsi
Federico BoggiaRispondo io, in giornata

Ciao! Dimmi che ti serve: un corso online, una giornata in aula a Livorno o la formazione per la tua azienda.

Scrivimi su WhatsApp