Logit_bias je opcionalni parametar koji mijenja vjerovatnoću pojavljivanja navedenih tokena u izlazu koji generira model.
Ovaj parametar prihvata JSON objekt koji mapira tokene na povezanu vrijednost pristranosti od -100 (što će u većini slučajeva blokirati generiranje tog tokena) do 100 (isključivi odabir tokena, zbog čega je vjerovatnije da će biti generiran). Umjerene vrijednosti poput -1 i 1 u manjoj će mjeri promijeniti vjerovatnoću odabira tokena.
Pošto parametar prima tokene, a ne tekst, trebate koristiti alat za tokenizaciju da pretvorite tekst u ID-jeve tokena. Prođimo kroz nekoliko primjera.
Primjer 1: Uklonite „time“
Ako pozovemo krajnju tačku Completions s upitom „Once upon a“, dovršetak će vrlo vjerovatno početi s „ time“.
Riječ „time“ tokenizira se u ID 2435, a riječ „ time“ (koja ima razmak na početku) tokenizira se u ID 640. Možemo ih proslijediti kroz logit_bias s -100 kako bismo zabranili da se pojave u dovršetku, ovako:
completion = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "system", "content": "Dovršavaš korisnikove rečenice."},
"role": "user", "content": "Once upon a"} ]
logit_bias={2435:-100, 640:-100}
)Sada upit „Once upon a“ generira nastavak „midnight dreary, while I pondered, weak and weary.“
Primijetite da riječi „time“ nema nigdje jer smo taj token praktično zabranili pomoću parametra logit_bias.
Primjer 2: Usmjerite generiranje ciljanim vrijednostima parametra logit_bias
Pogledajmo još jedan primjer koristeći upit za generator recepata.
Mnogi recepti predlažu korištenje lonaca, ali pretpostavimo da nemamo lonac. Želimo spriječiti generiranje riječi „pot“ u našem nastavku. Riječ „Pot“ tokenizira se u 1787, pa je možemo isključiti iz generiranja postavljanjem parametra 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 vjerovatnoću pojavljivanja riječi
Pretpostavimo da želimo povećati vjerovatnoću pojavljivanja neke riječi.
Recimo da vodimo web-stranicu s receptima za jela koja se mogu pripremiti u mikrovalnoj pećnici, pa želimo osigurati da se u receptu pojavi riječ „microwave“. Riječ „Microwave“ tokenizira se u ID 27000. Vjerovatnoću pojavljivanja tog tokena možemo povećati postavljanjem pozitivne vrijednosti parametra logit_bias, ovako:
logit_bias={27000:5}Sada je veća vjerovatnoća da će naš nastavak sadržavati riječ „microwave“.
Postavili smo logit_bias na 5 jer smo ustanovili da se pri vrijednosti parametra logit_bias od 1 riječ „microwave“ često nije pojavljivala u nastavku, dok se pri višim vrijednostima parametra logit_bias, poput 10, riječ „ microwave“ pojavljivala prečesto.
