Logit_bias er en valgfri parameter som endrer sannsynligheten for at angitte tokener vises i utdata generert av en modell.
Denne parameteren godtar et JSON-objekt som tilordner tokener til en tilknyttet bias-verdi fra -100 (som i de fleste tilfeller hindrer at den tokenen genereres) til 100 (eksklusiv valg av tokenen, som gjør det mer sannsynlig at den genereres). Moderate verdier som -1 og 1 endrer sannsynligheten for at en token blir valgt, i mindre grad.
Siden parameteren tar inn tokener, ikke tekst, bør du bruke et tokeniseringsverktøy til å konvertere tekst til token-ID-er. La oss gå gjennom noen eksempler.
Eksempel 1: Fjern «time»
Hvis vi kaller Completions-endepunktet med prompten «Once upon a», vil fullføringen svært sannsynlig starte med « time».
Ordet «time» tokeniseres til ID-en 2435, og ordet « time» (som har et mellomrom i starten) tokeniseres til ID-en 640. Vi kan sende disse gjennom logit_bias med -100 for å forhindre at de vises i fullføringen, slik:
completion = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "system", "content": "Du fullfører brukerens setninger."},
"role": "user", "content": "Once upon a"} ]
logit_bias={2435:-100, 640:-100}
)Nå genererer prompten «Once upon a» fullføringen «midnight dreary, while I pondered, weak and weary.»
Legg merke til at ordet «time» ikke finnes noe sted, fordi vi i praksis har blokkert dette tokenet med logit_bias.
Eksempel 2: Styr resultatet med målrettede logit bias-verdier
La oss gå gjennom et nytt eksempel med et prompt til en oppskriftsgenerator.
Mange oppskrifter foreslår å bruke gryter, men anta at vi ikke har noen gryte. Da vil vi hindre at ordet «pot» genereres som en del av fullføringen. «Pot» tokeniseres til 1787, så vi kan utelate det fra genereringen ved å angi logit_bias som vist nedenfor.
logit_bias={1787:-100}Nå kan fullføringen vår inkludere ordet «saucepan» i stedet. Perfekt!
Eksempel 3: Øk sannsynligheten for at et ord forekommer
Anta at vi vil øke sannsynligheten for at et ord forekommer.
Tenk deg for eksempel at vi driver et nettsted med oppskrifter på mat som kan lages i mikrobølgeovn, og derfor vil sikre at ordet «microwave» står i oppskriften. «Microwave» tokeniseres til ID 27000. Vi kan øke sannsynligheten for at dette tokenet forekommer, ved å angi en positiv logit_bias-verdi slik:
logit_bias={27000:5}Nå er det mer sannsynlig at fullføringen inneholder ordet «microwave».
Vi satte logit_bias til 5, siden vi fant ut at en logit_bias på 1 ofte ikke førte til at ordet «microwave» dukket opp i fullføringen, mens høyere logit_bias-verdier som 10 gjorde at ordet « microwave» dukket opp for ofte.
