Logit_bias je neobavezan parametar koji mijenja vjerojatnost pojavljivanja određenih tokena u izlazu koji generira model.
Ovaj parametar prihvaća JSON objekt koji preslikava tokene na pridruženu vrijednost pristranosti od -100 (što će u većini slučajeva blokirati generiranje tog tokena) do 100 (isključiv odabir tokena, zbog čega je vjerojatnije da će se generirati). Umjerene vrijednosti poput -1 i 1 promijenit će vjerojatnost odabira tokena u manjoj mjeri.
Budući da parametar prima tokene, a ne tekst, upotrijebite alat za tokenizaciju za pretvaranje teksta u ID-jeve tokena. Prođimo kroz nekoliko primjera.
Primjer 1: Uklonite „time”
Ako pozovemo krajnju točku Completions s upitom „Once upon a,”, dovršetak će vrlo vjerojatno početi s „ time.”
Riječ „time” tokenizira se u ID 2435, a riječ „ time” (koja na početku ima razmak) tokenizira se u ID 640. Možemo ih proslijediti kroz logit_bias s vrijednošću -100 kako bismo zabranili njihovo pojavljivanje u dovršetku, ovako:
completion = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "system", "content": "Dovršavate korisnikove rečenice."},
"role": "user", "content": "Once upon a"} ]
logit_bias={2435:-100, 640:-100}
)Sada upit „Once upon a” generira dovršetak „midnight dreary, while I pondered, weak and weary.”
Primijetite da se riječ „time” nigdje ne pojavljuje jer smo taj token učinkovito zabranili pomoću logit_bias.
Primjer 2: Usmjeravajte ciljanim vrijednostima pristranosti logita
Prođimo kroz još jedan primjer, koristeći upit za generator recepata.
Mnogi recepti predlažu upotrebu lonaca, ali pretpostavimo da nemamo lonac. Željet ćemo ukloniti riječ pot iz generiranja kao dijela našeg dovršetka. „Pot” se tokenizira u 1787, pa ga možemo ukloniti iz našeg generiranja postavljanjem vrijednosti logit_bias kao u nastavku.
logit_bias={1787:-100}Sada bi naš dovršetak umjesto toga mogao sadržavati riječ „saucepan”. Savršeno!
Primjer 3: Povećajte izglede za pojavljivanje riječi
Pretpostavimo da želimo povećati vjerojatnost pojavljivanja riječi.
Na primjer, možda vodimo web-mjesto koje nudi recepte koje možete pripremiti s mikrovalnom pećnicom, pa želimo biti sigurni da se riječ „microwave” pojavljuje u receptu. „Microwave” se tokenizira u ID 27000. Možemo povećati vjerojatnost pojavljivanja tog tokena postavljanjem pozitivne vrijednosti logit_bias, ovako:
logit_bias={27000:5}Sada će naš dovršetak vjerojatnije sadržavati riječ „microwave”.
Postavili smo logit_bias na 5 jer smo ustanovili da postavljanje logit_bias na 1 često nije dovodilo do pojavljivanja riječi „microwave” u dovršetku, dok su veće vrijednosti logit_bias, poput 10, uzrokovale prečesto pojavljivanje riječi „ microwave” u dovršetku.
