Home/ Wiki/ AI/ Fine-Tuning

Fine-Tuning dei Modelli AI

Come personalizzare un modello pre-addestrato sul proprio dominio: transfer learning, tecniche PEFT, preparazione dataset e criteri di scelta rispetto alla 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 task generico (es. predire la parola successiva su miliardi di testi) può essere adattato a un compito specifico riutilizzando la conoscenza già acquisita. Il fine-tuning è la tecnica concreta con cui si realizza questo trasferimento: si prende un modello pre-addestrato e lo si ri-addestra su un dataset più piccolo e specializzato, aggiornandone 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 (ImageNet come base per qualsiasi classificatore di immagini) e si è poi estesa al NLP con modelli come BERT, GPT e i moderni LLM. Il vantaggio fondamentale è il risparmio: invece di addestrare un modello da zero (milioni di dollari e settimane di GPU), si parte da una base solida e si adatta con poche ore e poche migliaia di esempi. Questo approccio democratizza l'AI, perché permette anche a piccole aziende e professionisti di ottenere modelli su misura senza budget da centro di ricerca.

Il fine-tuning non insegna nuova conoscenza fattuale al modello, ma ne modifica il comportamento: stile, formato, tono, capacità di seguire istruzioni specifiche e aderenza a un dominio.

Quando fare fine-tuning (e quando no)

La domanda più frequente è: "Meglio fine-tuning o RAG?". La risposta dipende dall'obiettivo:

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

La qualità del dataset è il fattore più critico nel fine-tuning. Il formato standard per i LLM è 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 è..."}]}

Linee guida per il dataset:

  • 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 estende LoRA combinandola con la quantizzazione a 4 bit del modello base. Questo permette di fare fine-tuning di modelli con 70+ miliardi di parametri su una singola GPU consumer (24 GB VRAM), riducendo i costi di ordini di grandezza. È la scelta ideale per chi vuole sperimentare in autonomia, perché abbatte la barriera d'ingresso hardware mantenendo una qualità vicina al full fine-tuning.

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 hyperparameters controllano il processo di addestramento e richiedono sperimentazione:

  • 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

I costi variano enormemente in base all'approccio scelto:

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.

Best practice

Dopo aver lavorato con decine di progetti di fine-tuning, queste sono le raccomandazioni chiave:

  • 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 è uno strumento potente, ma non è una soluzione universale. Comprendere quando usarlo, in combinazione con RAG e prompt engineering, è la competenza chiave per progettare sistemi AI efficaci.

Per approfondire i concetti di base su cui si fonda il fine-tuning, consulta gli articoli sulle Reti Neurali e su Token e Tokenizzazione, essenziali per comprendere cosa succede durante il processo di addestramento.

Vuoi imparare ad applicarlo davvero?

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

Vai ai corsi