Fine-tuning (deep learning) (IT)
Ottimizzazione mirata (in inglese Fine-tuning), nota anche come messa a punto fine, è un metodo di transfer learning nel machine learning in cui i parametri di un modello pre-addestrato (pre-trained model) vengono adattati per risolvere un nuovo compito specifico. Invece di addestrare un modello da zero, operazione che richiede enormi quantità di dati e risorse computazionali, il fine-tuning permette di sfruttare le conoscenze già codificate nei pesi del modello e di «calibrarle» in base alle esigenze concrete.
Questo approccio è diventato lo standard de facto nel campo del deep learning, in particolare quando si lavora con i grandi modelli linguistici (LLM) e con i modelli di computer vision.
Concetto
Il processo di fine-tuning può essere suddiviso in due fasi principali:
1. Pre-addestramento (Pre-training): Il modello (ad esempio BERT o GPT) viene addestrato su un insieme di dati molto ampio e generico (ad esempio l'intera internet) utilizzando un compito auto-supervisionato (ad esempio la predizione della parola successiva). In questa fase il modello apprende pattern generali, sintassi, semantica e conoscenze sul mondo.
2. Ottimizzazione mirata (Fine-tuning): Il modello pre-addestrato viene utilizzato come base e i suoi pesi vengono aggiornati su un insieme di dati piccolo ma etichettato, specifico per il compito target.
L'idea chiave è che le conoscenze acquisite nella fase di pre-addestramento sono universali e possono essere trasferite con successo per risolvere molti altri compiti più specifici.
Processo di fine-tuning
Il tipico processo di fine-tuning comprende i seguenti passi:
1. Scelta del modello pre-addestrato: Si seleziona un modello le cui capacità di base siano adatte al compito target (ad esempio BERT per compiti di comprensione del testo, GPT per la generazione).
2. Adattamento dell'architettura: Al modello pre-addestrato viene aggiunto un nuovo strato «testa» (head) specifico per il compito target. Ad esempio:
- Per la classificazione del testo si aggiunge un semplice strato completamente connesso con funzione softmax.
- Per il riconoscimento delle entità nominate (NER) il classificatore viene aggiunto all'output di ogni token.
3. Addestramento sul dataset target: L'intero modello (o una sua parte) viene addestrato sul nuovo dataset etichettato. In questa fase i pesi del modello, inclusi i pesi degli strati pre-addestrati, vengono aggiornati tramite discesa del gradiente per minimizzare la funzione di perdita sul nuovo compito. 4. Utilizzo di un tasso di apprendimento più basso: Durante il fine-tuning si utilizza generalmente un tasso di apprendimento significativamente inferiore rispetto al pre-addestramento. Questo è necessario per non «distruggere» le conoscenze utili già codificate nei pesi del modello, ma semplicemente correggerle con cautela.
Tipologie di fine-tuning
Full Fine-tuning - Ottimizzazione completa
- Principio: Vengono aggiornati tutti i parametri del modello pre-addestrato insieme al nuovo strato «testa».
- Vantaggi: Garantisce potenzialmente le migliori prestazioni, poiché l'intero modello si adatta al nuovo compito.
- Svantaggi: Richiede risorse computazionali e memoria significative, poiché è necessario memorizzare e aggiornare i gradienti per tutti i parametri. Esiste il rischio del catastrophic forgetting (dimenticanza catastrofica), in cui il modello «dimentica» le conoscenze generali acquisite durante il pre-addestramento.
Parameter-Efficient Fine-Tuning - Ottimizzazione a efficienza parametrica (PEFT)
Si tratta di una famiglia di metodi volti a ridurre i costi computazionali durante il fine-tuning. L'idea principale è congelare la maggior parte dei parametri del modello pre-addestrato e addestrare solo un piccolo numero di parametri nuovi o selezionati tra quelli esistenti.
- Esempi di metodi PEFT:
- Adapters (Adattatori): Nell'architettura del Transformer vengono inseriti piccoli strati adattatori aggiuntivi, e vengono addestrati solo questi.
- LoRA (Low-Rank Adaptation): Invece di aggiornare le matrici dei pesi complete, LoRA addestra i loro aggiornamenti a basso rango. Ciò consente di ridurre il numero di parametri addestrabili di migliaia di volte.
- Prompt Tuning: Agli input vengono aggiunti vettori-«prompt» addestrabili, che vengono calibrati per risolvere il compito, mentre il modello stesso rimane congelato.
- Vantaggi del PEFT:
- Efficienza: Riduce significativamente i requisiti di memoria e le esigenze computazionali.
- Modularità: Permette di adattare facilmente un singolo modello pre-addestrato a molteplici compiti, conservando solo piccoli insiemi di pesi adattati per ciascuno.
Instruction Tuning - Ottimizzazione tramite istruzioni
Si tratta di un tipo specifico di fine-tuning volto a migliorare la capacità degli LLM di seguire istruzioni in linguaggio naturale.
- Principio di funzionamento: Il modello viene ottimizzato su un dataset composto da coppie «istruzione — output desiderato».
- Obiettivo: Migliorare la capacità di generalizzazione del modello su compiti nuovi e mai visti in precedenza, che possono essere descritti sotto forma di istruzioni. Modelli come InstructGPT e FLAN-T5 sono esempi emblematici di questo approccio.
Vedi anche
- Grandi modelli linguistici
- BERT
- GPT
Letteratura
- Howard, J.; Ruder, S. (2018). Universal Language Model Fine-tuning for Text Classification. arXiv:1801.06146.
- Houlsby, N. et al. (2019). Parameter-Efficient Transfer Learning for NLP. arXiv:1902.00751.
- Pfeiffer, J. et al. (2020). AdapterFusion: Non-Destructive Task Composition for Transfer Learning. arXiv:2005.00247.
- Hu, E. J. et al. (2021). LoRA: Low-Rank Adaptation of Large Language Models. arXiv:2106.09685.
- Lester, B.; Al-Rfou, R.; Constant, N. (2021). The Power of Scale for Parameter-Efficient Prompt Tuning. arXiv:2104.08691.
- Ben Zaken, A.; Goldberg, Y.; Ravfogel, S. (2022). BitFit: Simple Parameter-Efficient Fine-Tuning for Transformer-based Masked Language-Models. ACL 2022.
- Ouyang, L. et al. (2022). Training Language Models to Follow Instructions with Human Feedback. arXiv:2203.02155.
- Han, Z. et al. (2024). Parameter-Efficient Fine-Tuning for Large Models: A Comprehensive Survey. arXiv:2403.14608.
- Bian, J. et al. (2025). A Survey on Parameter-Efficient Fine-Tuning for Foundation Models in Federated Learning. arXiv:2504.21099.
- Li, X. et al. (2025). Revisiting Fine-Tuning: A Survey of Parameter-Efficient Techniques and Future Directions. Preprints.org.