OpenAI
Šo lapu tulkoja mašīntulks. Skatīt oriģinālo rakstu angļu valodā.

Logit bias izmantošana, lai mainītu tekstvienību varbūtību ar OpenAI API

Uzziniet, kā izmantot parametru logit bias, lai mainītu modeļa izvades

Atjaunināts: 8 days ago

Logit_bias ir neobligāts parametrs, kas maina varbūtību, ka norādītas tekstvienības parādīsies modeļa ģenerētā izvadē.

Šis parametrs pieņem JSON objektu, kurā tekstvienībām tiek piesaistīta attiecīgā nobīdes vērtība no -100 (kas vairumā gadījumu bloķēs šīs tekstvienības ģenerēšanu) līdz 100 (ekskluzīva tekstvienības izvēle, kas palielina tās ģenerēšanas iespējamību). Mērenas vērtības, piemēram, -1 un 1, mazākā mērā mainīs tekstvienības atlasīšanas varbūtību.

Tā kā parametrs pieņem tekstvienības, nevis tekstu, izmantojiet tekstvienību dalīšanas rīku, lai tekstu pārveidotu par tekstvienību ID. Apskatīsim dažus piemērus.

1. piemērs: noņemiet „time”

Ja izsaucam Completions galapunktu ar uzvedni „Once upon a,”, turpinājums, ļoti iespējams, sāksies ar „ time.”

Vārdam „time” atbilst tekstvienības ID 2435, bet vārdam „ time” (kam sākumā ir atstarpe) atbilst tekstvienības ID 640. Varam tos nodot caur logit_bias ar vērtību -100, lai aizliegtu to parādīšanos turpinājumā, šādi:

completion = client.chat.completions.create( 
model="gpt-3.5-turbo",
messages=[{"role": "system", "content": "Jūs pabeidzat lietotāja teikumus."},
"role": "user", "content": "Once upon a"} ]
logit_bias={2435:-100, 640:-100}
)

Tagad uzvedne „Once upon a” ģenerē turpinājumu „midnight dreary, while I pondered, weak and weary.”

Ņemiet vērā, ka vārds „time” nekur nav atrodams, jo mēs faktiski aizliedzām šo tekstvienību, izmantojot logit_bias.

2. piemērs: virziet ģenerēšanu ar mērķētām logit nobīdes vērtībām

Apskatīsim vēl vienu piemēru, izmantojot recepšu ģeneratora uzvedni.

Daudzās receptēs iesaka izmantot katlus, bet pieņemsim, ka mums nav katla. Mēs vēlēsimies nepieļaut, ka vārds „pot” tiek ģenerēts kā daļa no mūsu turpinājuma. „Pot”, dalot tekstvienībās, iegūst ID 1787, tāpēc mēs varam to izņemt no ģenerēšanas, iestatot logit_bias šādi.

logit_bias={1787:-100}

Tagad mūsu turpinājumā tā vietā varētu būt vārds „saucepan”. Lieliski!

3. piemērs: palieliniet iespēju, ka parādīsies vārds

Pieņemsim, ka vēlamies palielināt varbūtību, ka parādīsies kāds vārds.

Piemēram, varbūt mēs uzturam vietni, kas piedāvā receptes, kuras var pagatavot mikroviļņu krāsnī, tāpēc vēlamies pārliecināties, ka receptē parādās vārds „microwave”. „Microwave”, dalot tekstvienībās, iegūst ID 27000. Mēs varam palielināt varbūtību, ka šī tekstvienība parādīsies, iestatot pozitīvu logit_bias, šādi:

logit_bias={27000:5}

Tagad mūsu turpinājumā, visticamāk, būs vārds „microwave”.

Mēs iestatījām logit_bias uz 5, jo konstatējām, ka logit_bias iestatīšana uz 1 bieži nenodrošināja vārda „microwave” parādīšanos turpinājumā, savukārt augstākas logit_bias vērtības, piemēram, 10, pārāk bieži izraisīja vārda „ microwave” parādīšanos turpinājumā.

Vai šis raksts bija noderīgs?