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« fortsættelsen »midnight dreary, while I pondered, weak and weary.«
Bemærk, at ordet »time« ikke forekommer nogen steder, fordi vi reelt har udelukket denne token ved hjælp af logit_bias.
Eksempel 2: Styr resultatet med målrettede logit bias-værdier
Lad os gennemgå endnu et eksempel med et prompt til en opskriftsgenerator.
I mange opskrifter anbefales det at bruge gryder, men lad os antage, at vi ikke har en gryde. Vi vil derfor forhindre, at ordet »pot« genereres som en del af vores fortsættelse. »Pot« tokeniseres til 1787, så vi kan udelukke det fra genereringen ved at indstille logit_bias som vist nedenfor.
logit_bias={1787:-100}Nu kan vores fuldførelse i stedet indeholde ordet »saucepan«. Perfekt!
Eksempel 3: Øg sandsynligheden for, at et ord forekommer
Antag, at vi vil øge sandsynligheden for, at et ord forekommer.
Måske driver vi f.eks. et websted med opskrifter, der kan tilberedes i en mikrobølgeovn, og derfor vil vi sikre, at ordet »microwave« forekommer i opskriften. Microwave tokeniseres til id'et 27000. Vi kan øge sandsynligheden for, at denne token forekommer, ved at sætte logit_bias til en positiv værdi som her:
logit_bias={27000:5}Nu er der større sandsynlighed for, at vores fortsættelse indeholder ordet »microwave«.
Vi satte logit_bias til 5, fordi vi konstaterede, at en værdi på 1 ofte ikke fik ordet »microwave« til at forekomme i fortsættelsen, mens højere logit_bias-værdier som 10 fik ordet » microwave« til at forekomme for ofte.
