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. 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.

Afledte ord

2

Kilder

1