OpenAI
Ova stranica je mašinski prevedena. Pogledaj originalni članak na engleskom jeziku.

Korištenje logit bias za izmjenu vjerovatnoće tokena uz OpenAI API

Saznajte kako koristiti parametar logit bias za izmjenu izlaza modela

Ažurirano: 8 days ago

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 dovršetak „midnight dreary, while I pondered, weak and weary.“

Primijetite da riječi „time“ nema nigdje, jer smo taj token učinkovito zabranili pomoću logit_bias.

Primjer 2: Usmjerite pomoću ciljanih vrijednosti logit pristranosti

Prođimo kroz još jedan primjer, koristeći upit za generator recepata.

Mnogi recepti predlažu korištenje lonaca, ali pretpostavimo da nemamo lonac. Željet ćemo spriječiti generiranje riječi „pot“ kao dijela našeg dovršetka. „Pot“ se tokenizira u ID 1787, pa ga možemo ukloniti iz generiranja postavljanjem 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 da se riječ pojavi

Pretpostavimo da želimo povećati vjerovatnoću pojavljivanja neke riječi.

Na primjer, možda vodimo stranicu koja nudi recepte koje možete napraviti u mikrovalnoj pećnici, pa želimo biti sigurni da se riječ „microwave“ pojavljuje u receptu. Microwave se tokenizira u ID 27000. Možemo povećati vjerovatnoću da se ovaj token pojavi postavljanjem pozitivnog logit_bias, ovako:

logit_bias={27000:5}

Sada će naš dovršetak vjerovatnije sadržavati riječ „microwave“.

Postavili smo logit_bias na 5, jer smo utvrdili 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, dovodile do toga da se riječ „ microwave“ prečesto pojavljuje u dovršetku.

Da li je ovaj članak bio koristan?