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 riječi „time” nema nigdje jer smo taj token zapravo zabranili pomoću logit_bias.
Primjer 2: Usmjerite generiranje ciljanim vrijednostima parametra logit bias
Pogledajmo još jedan primjer s upitom za generator recepata.
U mnogim se receptima preporučuje upotreba lonaca, no pretpostavimo da nemamo lonac. Ne želimo da se riječ „pot” generira kao dio našeg dovršetka. Riječi 'Pot' odgovara token 1787, pa je možemo ukloniti iz generiranog teksta tako da logit_bias postavimo kako slijedi.
logit_bias={1787:-100}Sada bi naš dovršetak umjesto toga mogao sadržavati riječ „saucepan”. Savršeno!
Primjer 3: Povećajte vjerojatnost pojavljivanja riječi
Pretpostavimo da želimo povećati vjerojatnost pojavljivanja neke riječi.
Na primjer, možda vodimo web-mjesto koje nudi recepte za jela koja se mogu pripremiti u mikrovalnoj pećnici, pa želimo biti sigurni da se u receptu pojavljuje riječ „microwave”. Riječ Microwave tokenizira se u ID 27000. Vjerojatnost pojavljivanja tog tokena možemo povećati postavljanjem pozitivne vrijednosti parametra logit_bias, ovako:
logit_bias={27000:5}Sada je vjerojatnije da će naš dovršetak sadržavati riječ 'microwave'.
Postavili smo logit_bias na 5 jer smo ustanovili da se pri vrijednosti 1 riječ „microwave” često nije pojavljivala u dovršetku, dok se pri višim vrijednostima parametra logit_bias, kao što je 10, riječ „ microwave” pojavljivala prečesto.
