few-shot prompting

Few-shot prompting er en prompting-teknik, hvor brugeren inkluderer et lille antal eksempler (typisk 2-5) i prompten for at guide modellens respons uden at opdatere modelvægtene.

Kort fortalt

Du giver modellen nogle få eksempler på, hvad du forventer, så den forstår opgaven – uden at du træner den om.

Kategori
teknik
Niveau
øvet
Udtale
/fjuː ʃɒt ˈprɒmptɪŋ/

Betydninger

1
  1. 1

    Teknik inden for prompting, hvor man inkluderer et lille antal (typisk 2-5) komplette eksempler på input-output-par i prompten for at demonstrere den ønskede opgave for modellen, uden at foretage nogen modelopdatering.

    • For at få modellen til at oversætte dansk til engelsk, kan man bruge few-shot prompting: 'dansk: 'Jeg elsker at læse' -> engelsk: 'I love to read'; dansk: 'Det er koldt i dag' -> engelsk: 'It is cold today'; dansk: 'Hvordan har du det?' -> engelsk:'Eksempel konstrueret til artiklen
    • Few-shot prompting forbedrer ofte nøjagtigheden på komplekse opgaver sammenlignet med zero-shot prompting, da eksemplerne giver modellen en klar kontekst.Brown et al., 2020

Hvornår bruges det

Few-shot prompting bruges i sprogmodeller som GPT-4 og Claude til at udføre specifikke opgaver, f.eks. oversættelse, sentimentanalyse eller spørgsmålsbesvarelse, ved at give 2-5 illustrerende eksempler i prompten. Det er især nyttigt, når der ikke er adgang til finjustering, eller når opgaven er hurtigt skiftende.

Kodeeksempel

import openai

response = openai.ChatCompletion.create(
    model="gpt-4",
    messages=[
        {"role": "system", "content": "Oversæt dansk til engelsk."},
        {"role": "user", "content": "dansk: 'Jeg elsker at læse' -> engelsk: 'I love to read'"},
        {"role": "user", "content": "dansk: 'Det er koldt i dag' -> engelsk: 'It is cold today'"},
        {"role": "user", "content": "dansk: 'Hvordan har du det?' -> engelsk:"}
    ]
)
print(response.choices[0].message.content)

Eksempel på few-shot prompting med OpenAI API: modellen får to eksempler og skal derefter oversætte en tredje sætning.

Oprindelse

Udtrykket stammer fra maskinlæring, hvor 'few-shot' refererer til læring med meget få træningseksempler; 'prompting' refererer til at give modellen en tekstinstruktion med eller uden eksempler.

Kilder

1
  • Brown et al., Language Models are Few-Shot Learners (2020)