In-Context Learning (IT)
Apprendimento nel contesto (ingl. In-Context Learning, ICL) — è una capacità fondamentale dei grandi modelli linguistici (LLM) di apprendere nuovi compiti «al volo», utilizzando esclusivamente gli esempi (dimostrazioni) forniti nel contesto (prompt) della richiesta. La caratteristica chiave è che questo processo di adattamento avviene senza aggiornare i pesi (parametri) del modello, ovvero senza il tradizionale fine-tuning[1][2].
Questo meccanismo consente ai modelli di mostrare una notevole flessibilità, risolvendo compiti per i quali non sono stati appositamente addestrati. ICL è diventato uno dei principali breakthrough che ha reso i grandi modelli linguistici così potenti e versatili[3].
Meccanismi di funzionamento
La comprensione precisa di come funziona ICL rimane un'area di ricerca attiva, tuttavia esistono diverse teorie principali che spiegano questo fenomeno.
Transformer come meta-ottimizzatore
Una delle teorie più diffuse sostiene che l'architettura Transformer, durante il pre-addestramento, impara a implementare algoritmi di apprendimento nei propri forward pass. Quando il modello riceve un prompt con esempi, esegue implicitamente una sorta di ottimizzazione per risolvere il compito presentato, regolando i propri stati interni (attivazioni) anziché i pesi[4].
Inferenza Bayesiana
Un'altra teoria considera ICL come una forma di inferenza Bayesiana. Il modello, pre-addestrato su enormi quantità di dati, possiede una rappresentazione a priori di una moltitudine di concetti. Gli esempi nel contesto fungono da evidenze che permettono al modello di affinare la propria distribuzione di probabilità a posteriori sulle concetti latenti. In altre parole, gli esempi aiutano il modello a «capire» quale, tra le migliaia di compiti che conosce, debba essere risolto in quel momento[5].
Tipi di In-Context Learning
In base al numero di esempi forniti, ICL si suddivide in tre tipologie principali.
- Few-shot Learning (apprendimento su pochi esempi): È l'approccio più comune ed equilibrato. Al modello vengono forniti alcuni (di solito da 2 a 10) esempi dimostrativi.
Esempio (classificazione del sentiment):
Текст: "Какой прекрасный день!" Тональность: Позитивная Текст: "Я ненавижу стоять в пробках." Тональность: Негативная Текст: "Этот фильм был довольно средним." Тональность:
Risposta attesa:
Нейтральная
- One-shot Learning (apprendimento su un singolo esempio): Al modello viene fornito un solo esempio. Spesso è sufficiente per definire il formato della risposta e migliorare significativamente le prestazioni rispetto all'approccio zero-shot.
- Zero-shot Learning (apprendimento senza esempi): Al modello non vengono forniti esempi, ma solo un'istruzione o la descrizione del compito. In questo caso il modello si affida interamente alle conoscenze acquisite durante il pre-addestramento.
Applicazioni pratiche
Un utilizzo corretto di ICL consente di affrontare un'ampia gamma di compiti senza costosi sviluppi e fine-tuning.
- Per compiti creativi e stilistici (generazione di codice in uno stile specifico, scrittura di testi nello stile di un determinato autore):
- Si raccomanda il Few-shot Learning.
- Gli esempi aiutano il modello a cogliere lo stile, il formato e la struttura dell'output desiderati.
- Per compiti semplici con istruzioni chiare (traduzione, riassunto, risposte a domande semplici):
- Spesso è sufficiente il Zero-shot Learning.
- I modelli moderni gestiscono tali compiti abbastanza bene se questi facevano parte del loro pre-addestramento.
- Per compiti in cui il formato dell'output è importante (generazione di JSON, estrazione di entità):
- Si raccomanda il One-shot o il Few-shot Learning.
- Anche un solo esempio può definire chiaramente la struttura della risposta richiesta, prevenendo errori di formattazione.
Vantaggi e svantaggi
| Vantaggi | Svantaggi |
|---|---|
|
|
Confronto con altri paradigmi
ICL vs. Fine-tuning
Il Fine-tuning modifica i pesi del modello, «imprimendo» in esso nuove conoscenze. Questo rende il modello un esperto in un dominio ristretto, ma ne riduce la flessibilità generale. ICL, al contrario, non modifica i pesi ed è più flessibile, ma può risultare inferiore nelle prestazioni su compiti altamente specializzati che richiedono una conoscenza approfondita del dominio.
ICL vs. RAG (Retrieval-Augmented Generation)
Entrambi i metodi ampliano il contesto del modello, ma per scopi diversi:
- ICL utilizza esempi per insegnare al modello come eseguire un compito (dimostrazione di abilità).
- RAG utilizza informazioni recuperate per comunicare al modello i fatti necessari per rispondere (fornitura di conoscenze).
In pratica, ICL e RAG vengono spesso combinati per ottenere i migliori risultati.
Bibliografia
- Brown, T. B. et al. (2020). Language Models are Few-Shot Learners. arXiv:2005.14165.
- Dai, D. et al. (2022). Why Can GPT Learn In-Context? Language Models Implicitly Perform Gradient Descent as Meta-Optimizers. arXiv:2212.10559.
- Panwar, M.; Ahuja, K.; Goyal, N. (2024). In-Context Learning through the Bayesian Prism. arXiv:2306.04891.
- Müller, S. et al. (2021). Transformers Can Do Bayesian Inference. arXiv:2112.10510.
- Garg, S. et al. (2022). What Can Transformers Learn In-Context? A Case Study of Simple Function Classes. arXiv:2208.01066.
- Min, S. et al. (2022). Rethinking the Role of Demonstrations: What Makes In-Context Learning Work?. arXiv:2202.12837.
- Wang, X. et al. (2023). Explaining and Finding Good Demonstrations for In-Context Learning. arXiv:2302.13971.
- Xie, S. et al. (2024). A Survey on In-Context Learning. arXiv:2301.00234.
- Yu, Z.; Ananiadou, S. (2024). How Do Large Language Models Learn In-Context? Query and Key Matrices of In-Context Heads Are Two Towers for Metric Learning. arXiv:2402.02872.
- Wibisono, K. C.; Wang, Y. (2024). From Unstructured Data to In-Context Learning: Exploring What Tasks Can Be Learned and When. arXiv:2406.00131.
- Chan, J. K. et al. (2022). Data Distributional Properties Drive Emergent In-Context Learning in Transformers. arXiv:2205.05055.
- Hahn, M.; Goyal, N. (2023). A Theory of Emergent In-Context Learning as Implicit Structure Induction. arXiv:2303.07971.
Note
- ↑ What is In-Context Learning (ICL)? // Lakera.ai
- ↑ In-Context Learning (ICL) // Hopsworks.ai
- ↑ In-Context Learning, In Context // The Gradient
- ↑ Why Can GPT Learn In-Context? Language Models Secretly Perform Gradient Descent as Meta-Optimizers // arXiv, 2022.
- ↑ Understanding In-Context Learning // Stanford Human-Centered AI, 2023.