In ''deep learning'', ilIl '''fine-tuning''' , in [[Apprendimento profondo|deep learning]], è una pratica di [https://en.wikipedia.org/wiki/Transfer_learning Transfertransfer learning ] utilizzata per adattare un [[Modello linguistico di grandi dimensioni|modello pre-addestrato]] (spesso tramite [https://en.wikipedia.org/wiki/Self-supervised_learningapprendimento self-supervised learning]autosupervisionato) a un compito specifico. Questo avviene mediante un ulteriore addestramento su un insieme di dati più piccolo e mirato. Nel contesto dell'[[Elaborazione del linguaggio naturale|NLP]], il fine-tuning è ampiamente utilizzato per specializzare modelli linguistici pre-addestrati, come [ https://it.wikipedia.org/wiki/BERT [BERT ]] o [ https://en.wikipedia.org/wiki/Generative_pre[Generative pre- trained_transformertrained transformer|GPT]], su compiti specifici quali la [https://en.wikipedia.org/wiki/Document_classification Classificazioneclassificazione del testo ], la [[ Traduzionetraduzione automatica]] o la generazione controllata di testi.<ref>Howard, J., & Ruder, S. (2018). Universal Language Model Fine-tuning for Text Classification. ACL.</ref> ▼
== Fine-tuning degli LLM ==
▲In ''deep learning'', il '''fine-tuning''' è una pratica di [https://en.wikipedia.org/wiki/Transfer_learning Transfer learning] utilizzata per adattare un [[Modello linguistico di grandi dimensioni|modello pre-addestrato]] (spesso tramite [https://en.wikipedia.org/wiki/Self-supervised_learning self-supervised learning]) a un compito specifico. Questo avviene mediante un ulteriore addestramento su un insieme di dati più piccolo e mirato. Nel contesto dell'[[Elaborazione del linguaggio naturale|NLP]], il fine-tuning è ampiamente utilizzato per specializzare modelli linguistici pre-addestrati, come [https://it.wikipedia.org/wiki/BERT BERT] o [https://en.wikipedia.org/wiki/Generative_pre-trained_transformer GPT]], su compiti specifici quali la [https://en.wikipedia.org/wiki/Document_classification Classificazione del testo], la [[Traduzione automatica]] o la generazione controllata di testi.<ref>Howard, J., & Ruder, S. (2018). Universal Language Model Fine-tuning for Text Classification. ACL.</ref>
== Esempi di applicazione ==
Tra gli esempi più rilevanti di fine-tuning figurano modelli come '''BERT''' (''Bidirectional Encoder Representations from Transformers''), che dimostrano come un addestramento aggiuntivo possa incrementare notevolmente l'accuratezza del modello.<ref name="Devlin">Devlin et al., 2019.</ref> Analogamente, modelli generativi quali '''GPT''' (''Generative Pre-trained Transformer''), sviluppati da [[OpenAI]], sono frequentemente oggetto di fine-tuning per specifiche applicazioni, come [[Assistente virtuale|assistenti virtuali]] e strumenti educativi.<ref>Radford, A., Wu, J., Child, R., et al. (2019). Language Models are Unsupervised Multitask Learners. OpenAI.</ref> Ad esempio, il fine-tuning di [[GPT-3]] su dataset specifici ha permesso di creare chatbot specializzati in domini come il supporto clienti o la consulenza medica.
== Tecniche di fine-tuning ==
Il fine-tuning può essere applicato in diversi modi, a seconda delle risorse disponibili e del compito specifico. Nel '''full fine-tuning''', tutti i parametri del modello vengono aggiornati, mentre nel '''partial fine-tuning''' solo alcuni strati vengono addestrati, lasciando gli altri congelati.<ref>Howard, J., & Ruder, S. (2018). Universal Language Model Fine-tuning for Text Classification. ACL.</ref> Tecniche più recenti, come '''[https://en.wikipedia.org/wiki/Fine-tuning_(deep_learning) LoRA]''' (''Low-Rank Adaptation''), permettono di aggiornare solo una piccola parte dei parametri del modello, riducendo notevolmente il costo computazionale.<ref>Hu et al., 2022. LoRA: Low-Rank Adaptation of Large Language Models.</ref> Altre tecniche, come il '''prefix-tuning''' e il '''prompt-tuning''', modificano solo piccole parti dell'input o del modello, rendendo il fine-tuning più efficiente.<ref>Li, X., & Liang, P. (2021). Prefix-Tuning: Optimizing Continuous Prompts for Generation. arXiv:2101.00190.</ref>
Durante il fine-tuning, la scelta degli [https://en.wikipedia.org/wiki/Hyperparameter_[iperparametro (machine_learningapprendimento automatico) |iperparametri]] è cruciale. Un '''learning rate''' troppo alto può causare instabilità, mentre uno troppo basso può rallentare la convergenza. Tecniche come il '''mixed precision training''' e il '''gradient accumulation''' sono spesso utilizzate per ottimizzare l'uso della memoria e accelerare l'addestramento.<ref>Micikevicius, P., et al. (2018). Mixed Precision Training. ICLR.</ref> Inoltre, il rischio di [[Overfittingoverfitting]] può essere mitigato tramite tecniche di regolarizzazione e [https://en.wikipedia.org/wiki/Early_stopping [early stopping]].
== Vantaggi e rischi ==
Il fine-tuning degli [[ModelliModello linguistici di grandi dimensioni|LLM]] ha reso disponibili tecnologie linguistiche avanzate anche in contesti aziendali e accademici con risorse limitate, consentendo un uso efficace e mirato dei modelli pre-addestrati.<ref>Bommasani, R., Hudson, D. A., Adeli, E., et al. (2021). On the Opportunities and Risks of Foundation Models. arXiv:2108.07258.</ref> Tuttavia, è necessario prestare attenzione al rischio di overfitting, che potrebbe ridurre la capacità di generalizzazione del modello.<ref>Brown, T., Mann, B., Ryder, N., et al. (2020). Language Models are Few-Shot Learners. NeurIPS.</ref> Inoltre, il fine-tuning può portare al cosiddetto '''"catastrophic forgetting"''', dove il modello dimentica le conoscenze apprese durante il [[Pre-training (apprendimento automatico)|pre-training]]. Problemi etici, come il [[Bias nei modelli di apprendimento automatico|bias]] nei dati di fine-tuning, rappresentano un ulteriore rischio da considerare.
== Note ==
|