OpenAI
Denne side er maskinoversat. Se den originale engelske artikel.

Brug af logit bias til at ændre token-sandsynlighed med OpenAI API

Lær, hvordan du bruger parameteren logit bias til at ændre modeloutput

Opdateret: 26 days ago

Logit_bias er en valgfri parameter, der ændrer sandsynligheden for, at angivne tokens optræder i et output genereret af en model.

Denne parameter accepterer et JSON-objekt, der knytter tokens til en tilhørende biasværdi fra -100 (som i de fleste tilfælde blokerer for, at den pågældende token genereres) til 100 (eksklusivt valg af tokenet, hvilket gør det mere sandsynligt, at det genereres). Moderate værdier som -1 og 1 ændrer sandsynligheden for, at en token vælges, i mindre grad.

Da parameteren tager tokens, ikke tekst, bør du bruge et tokeniseringsværktøj til at konvertere tekst til token-ID'er. Lad os gennemgå et par eksempler.

Eksempel 1: Fjern 'time'

Hvis vi kalder Completions-endepunktet med prompten »Once upon a«, vil fuldførelsen meget sandsynligt starte med » time«.

Ordet »time« tokeniseres til ID 2435, og ordet » time« (som har et mellemrum i starten) tokeniseres til ID 640. Vi kan sende disse gennem logit_bias med -100 for at forhindre dem i at optræde i fuldførelsen, sådan her:

completion = client.chat.completions.create( 
model="gpt-3.5-turbo",
messages=[{"role": "system", "content": "You finish user's sentences."},
"role": "user", "content": "Once upon a"} ]
logit_bias={2435:-100, 640:-100}
)

Nu genererer prompten »Once upon a« fuldførelsen »midnight dreary, while I pondered, weak and weary.«

Bemærk, at ordet »time« ikke er at finde nogen steder, fordi vi effektivt har forbudt den pågældende token ved hjælp af logit_bias.

Eksempel 2: Giv retning med målrettede logit bias-værdier

Lad os gennemgå endnu et eksempel med en prompt til en opskriftsgenerator.

Mange opskrifter foreslår at bruge gryder, men lad os antage, at vi ikke har en gryde. Vi vil gerne forhindre, at ordet pot genereres som en del af vores fuldførelse. »Pot« tokeniseres til 1787, så vi kan fjerne det fra vores generering ved at indstille vores logit_bias som nedenfor.

logit_bias={1787:-100}

Nu kan vores fuldførelse i stedet indeholde ordet »saucepan«. Perfekt!

Eksempel 3: Øg sandsynligheden for, at et ord optræder

Antag, at vi vil øge sandsynligheden for, at et ord optræder.

For eksempel driver vi måske et websted, der tilbyder opskrifter, som man kan lave med en mikrobølgeovn, så vi vil sikre os, at ordet »microwave« optræder i opskriften. »Microwave« tokeniseres til ID 27000. Vi kan øge sandsynligheden for, at denne token optræder, ved at sætte en positiv logit_bias, sådan her:

logit_bias={27000:5}

Nu er det mere sandsynligt, at vores fuldførelse indeholder ordet 'microwave'.

Vi satte logit_bias til 5, da vi fandt ud af, at det ofte ikke fik ordet »microwave« til at optræde i fuldførelsen, når logit_bias blev sat til 1, mens højere værdier for logit_bias som 10 førte til, at ordet » microwave« optrådte for ofte i fuldførelsen.

Var denne artikel nyttig?