In-context learning
In-context learning er en metode, hvor en sprogmodel lærer at udføre en opgave udelukkende ved hjælp af eksempler i prompten, uden at opdatere sine vægte.
Kort fortalt
Modellen får et par eksempler på, hvad den skal gøre, og så fortsætter den selv – helt uden at blive genoptrænet.
- Kategori
- teknik
- Niveau
- øvet
Betydninger
1- 1
Evnen hos en stor sprogmodel til at generalisere til en ny opgave ved at få præsenteret eksempler som en del af input-sekvensen, uden at der foretages parameteropdateringer.
- Med in-context learning kan man få GPT-3 til at oversætte dansk til engelsk ved at give den to-tre eksempler i prompten. — Brown et al., 2020
- In-context learning adskiller sig fra finjustering, fordi modellens vægte forbliver uændrede.
Hvornår bruges det
In-context learning bruges typisk til at tilpasse en stor sprogmodel til en ny opgave ved at medtage få eksempler i prompten. Det er særligt nyttigt, når man ikke har adgang til at finjustere modellen, eller når opgaven kun skal løses et begrænset antal gange.
Kodeeksempel
import openai
openai.api_key = "sk-..."
prompt = """Translate Danish to English:
dan: Hej, hvordan har du det?
eng: Hello, how are you?
dan: Jeg elsker at lære nye ting.
eng: I love learning new things.
dan: Det er en smuk dag i dag.
eng:"""
response = openai.Completion.create(
engine="text-davinci-003",
prompt=prompt,
max_tokens=20
)
print(response.choices[0].text.strip())Eksempel på in-context learning med OpenAI API: Modellen oversætter sætningen ved at følge mønsteret fra de to givne eksempler.
Oprindelse
Udtrykket kommer af 'in-context' (i konteksten) og 'learning' (læring), hvilket henviser til, at modellen 'lærer' direkte fra de eksempler, der gives i prompt-konteksten.