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: 19 hours 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 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.

Da li je ovaj članak bio koristan?