In-Context Learning (NL)
Contextueel leren (Engels: In-Context Learning, ICL) is een fundamenteel vermogen van grote taalmodellen (LLM) om nieuwe taken "on the fly" te leren, waarbij uitsluitend gebruik wordt gemaakt van voorbeelden (demonstraties) die in de context (de prompt) van een verzoek zijn opgenomen. Een belangrijk kenmerk is dat dit aanpassingsproces plaatsvindt zonder dat de gewichten (parameters) van het model worden bijgewerkt, dat wil zeggen zonder traditioneel fine-tuning[1][2].
Dit mechanisme stelt modellen in staat om opvallende flexibiliteit te tonen bij het oplossen van taken waarvoor ze niet specifiek zijn getraind. ICL is een van de sleuteldoorbraken die grote taalmodellen zo krachtig en veelzijdig heeft gemaakt[3].
Werkingsmechanismen
Een nauwkeurig begrip van hoe ICL werkt, blijft een actief onderzoeksgebied, maar er zijn verschillende leidende theorieën die dit fenomeen verklaren.
Transformer als meta-optimizer
Een populaire theorie stelt dat de Transformer-architectuur tijdens het voorafgaande trainingsproces leert om leeralgoritmen te implementeren in zijn forward passes. Wanneer het model een prompt met voorbeelden ontvangt, voert het impliciet een soort optimalisatie uit om de gepresenteerde taak op te lossen, waarbij het zijn interne toestanden (activaties) aanpast in plaats van zijn gewichten[4].
Bayesiaanse inferentie
Een andere theorie beschouwt ICL als een vorm van Bayesiaanse inferentie. Een model dat vooraf getraind is op enorme hoeveelheden data, heeft een a-priori representatie van een groot aantal concepten. De voorbeelden in de context dienen als bewijs waarmee het model zijn a-posteriori kansverdeling over verborgen concepten kan verfijnen. Met andere woorden: de voorbeelden helpen het model te "begrijpen" welke van de duizenden bekende taken het op dat moment moet oplossen[5].
Typen In-Context Learning
Al naar gelang het aantal verstrekte voorbeelden wordt ICL onderverdeeld in drie hoofdtypen.
- Few-shot Learning (leren op basis van enkele voorbeelden): Dit is de meest gangbare en gebalanceerde aanpak. Het model krijgt enkele (doorgaans 2 tot 10) demonstratievoorbeelden aangeboden.
Voorbeeld (sentimentclassificatie):
Текст: "Какой прекрасный день!" Тональность: Позитивная Текст: "Я ненавижу стоять в пробках." Тональность: Негативная Текст: "Этот фильм был довольно средним." Тональность:
Verwacht antwoord:
Нейтральная
- One-shot Learning (leren op basis van één voorbeeld): Het model krijgt slechts één voorbeeld. Dit is vaak voldoende om het antwoordformaat vast te leggen en de prestaties aanzienlijk te verbeteren ten opzichte van de zero-shot aanpak.
- Zero-shot Learning (leren zonder voorbeelden): Het model krijgt geen voorbeelden, maar alleen een instructie of taakomschrijving. In dit geval vertrouwt het model volledig op de kennis die tijdens het voorafgaande trainingsproces is opgedaan.
Praktische toepassing
Een correcte toepassing van ICL maakt het mogelijk een breed scala aan taken op te lossen zonder kostbare ontwikkeling en fine-tuning.
- Voor creatieve en stilistische taken (codegeneratie in een bepaalde stijl, tekstschrijven in de stijl van een specifieke auteur):
- Few-shot Learning wordt aanbevolen.
- Voorbeelden helpen het model de gewenste stijl, het formaat en de uitvoerstructuur op te pikken.
- Voor eenvoudige taken met duidelijke instructies (vertaling, samenvatting, beantwoording van eenvoudige vragen):
- Zero-shot Learning is vaak voldoende.
- Moderne modellen presteren goed bij dergelijke taken, mits deze deel uitmaakten van hun voorafgaande training.
- Voor taken waarbij het uitvoerformaat belangrijk is (JSON-generatie, entiteitsextractie):
- One-shot of Few-shot Learning wordt aanbevolen.
- Zelfs één voorbeeld kan de vereiste antwoordstructuur duidelijk vastleggen en opmaakfouten voorkomen.
Voordelen en nadelen
| Voordelen | Nadelen |
|---|---|
|
|
Vergelijking met andere paradigma's
ICL vs. Fine-tuning
Fine-tuning past de gewichten van het model aan en "prент" er nieuwe kennis in. Dit maakt het model tot een expert op een smal vakgebied, maar vermindert zijn algemene flexibiliteit. ICL daarentegen wijzigt de gewichten niet en is flexibeler, maar kan bij sterk gespecialiseerde taken die diepgaande domeinkennis vereisen minder goed presteren.
ICL vs. RAG (Retrieval-Augmented Generation)
Beide methoden breiden de context van het model uit, maar voor verschillende doeleinden:
- ICL gebruikt voorbeelden om het model te leren hoe een taak uit te voeren (demonstratie van een vaardigheid).
- RAG gebruikt opgehaalde informatie om het model feiten te verstrekken die nodig zijn voor een antwoord (aanreiken van kennis).
In de praktijk worden ICL en RAG vaak gecombineerd om de beste resultaten te behalen.
Literatuur
- 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.
Noten
- ↑ 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.