In-context learning is het vermogen van een AI-model om een taak op te pikken uit de instructies en voorbeelden in je bericht, zonder dat het opnieuw getraind wordt. Laat een chatbot drie klantmails zien, elk met de juiste categorie erbij, en hij sorteert een vierde mail op dezelfde manier. Het model zelf verandert niet: na afloop van het gesprek zijn de voorbeelden weer weg.
Waar komt de term vandaan?
Brown e.a. (OpenAI, 2020) definieerden de term in de paper over GPT-3. Ze gebruikten hem voor wat een groot taalmodel binnen één doorgang door de tekst doet: het herkent de taak uit de prompt en voert die uit, zonder aanpassing van de gewichten en zonder fine-tuning. Ze testten drie situaties: zero-shot, met alleen een beschrijving van de taak; one-shot, met één voorbeeld; en few-shot, met zoveel voorbeelden als in het contextvenster passen, meestal 10 tot 100. Grotere modellen haalden meer uit de voorbeelden. Het overzichtsartikel van Dong e.a. omschrijft in-context learning als voorspellen op basis van een context waaraan een paar voorbeelden zijn toegevoegd. Few-shot prompting en zero-shot prompting zijn het dagelijkse gebruik van hetzelfde vermogen.
Hoe werkt het?
Niemand weet het precies. Twee verklaringen zijn het meest onderzocht:
- Induction heads. Onderzoekers van Anthropic (Olsson e.a., 2022) beschrijven onderdelen van het attentiemechanisme die patronen aanvullen: kwam token A eerder in de tekst voor token B, dan voorspellen ze B na de volgende A. Die heads ontstaan tijdens de training op hetzelfde moment dat in-context learning sterk verbetert. Het bewijs is causaal voor kleine modellen en correlationeel voor grote.
- Verborgen gradient descent. Dai e.a. en von Oswald e.a. (2022) betogen dat attentie kan werken als een kleine trainingsstap op de voorbeelden. Shen e.a. (2023) vergeleken de twee in een echt voorgetraind model, LLaMA-7B, zagen dat ze zich verschillend gedragen en noemen de gelijkstelling een open hypothese.
Ook wat de voorbeelden precies leren, is verrassend. Min e.a. (2022) vervingen de juiste antwoorden in de voorbeelden door willekeurige, en de prestaties op classificatie- en meerkeuzetaken daalden nauwelijks, bij 12 modellen waaronder GPT-3. Wat telde, was dat de voorbeelden de mogelijke antwoorden, het soort invoer en de vorm lieten zien.
Waar gaat het mis?
- Keuze en volgorde van voorbeelden. Zhao e.a. (2021) lieten zien dat de vorm van de prompt, de gekozen voorbeelden en zelfs hun volgorde de nauwkeurigheid van GPT-3 kunnen laten schommelen tussen gokniveau en bijna de beste gepubliceerde resultaten. Modellen geven de voorkeur aan antwoorden die aan het eind van de prompt staan of vaak in hun trainingsdata voorkomen. Lu e.a. (2021) vonden dat een volgorde die voor het ene model goed werkt, niet opgaat voor een ander.
- Lengte en kosten. Voorbeelden nemen ruimte in het contextvenster in en worden bij elk verzoek betaald als tokens. Agarwal e.a. (2024) testten honderden tot duizenden voorbeelden in lange contextvensters: de resultaten bleven op veel taken verbeteren, soms tot het niveau van fine-tuning, terwijl de kosten per verzoek evenredig met het aantal voorbeelden stegen.
- Er wordt niets opgeslagen. Elk nieuw gesprek heeft de voorbeelden opnieuw nodig; prompt caching maakt dat herhaalde deel goedkoper.
Voorbeeld
Stel: een tuincentrum wil dat de assistent in zijn webshop binnenkomende vragen labelt als "bestelling", "retour", "plantverzorging" of "overig". De prompt noemt de vier labels en een paar echte vragen met het juiste label, en het model labelt nieuwe vragen zonder enige training. Voordat het tuincentrum erop vertrouwt, controleert het een reeks echte vragen met de hand, probeert het de voorbeelden in een andere volgorde en voegt het een voorbeeld toe voor elke verwarring die het vindt, zoals een retourverzoek voor een plant die is doodgegaan.
Bronnen
- Brown et al. (OpenAI): Language Models are Few-Shot Learners (GPT-3, 2020)arXiv
- Dong et al.: A Survey on In-context Learning (2022)arXiv
- Olsson et al. (Anthropic): In-context Learning and Induction Heads (2022)arXiv
- Min et al.: Rethinking the Role of Demonstrations, What Makes In-Context Learning Work? (2022)arXiv
- Zhao et al.: Calibrate Before Use, Improving Few-Shot Performance of Language Models (2021)arXiv
- Dai et al.: Why Can GPT Learn In-Context? Language Models Implicitly Perform Gradient Descent as Meta-Optimizers (2022)arXiv
