OpenAI
Ta stran je bila strojno prevedena. Oglejte si izvirni članek v angleščini.

Uporaba logit bias za spreminjanje verjetnosti žetonov z API-jem OpenAI

Naučite se uporabljati parameter logit bias za spreminjanje izhodov modela

Posodobljeno: 8 days ago

Logit_bias je izbirni parameter, ki spremeni verjetnost, da se določeni žetoni pojavijo v izhodu, ki ga ustvari model.

Ta parameter sprejme objekt JSON, ki žetone preslika v povezano vrednost pristranskosti od -100 (kar bo v večini primerov preprečilo generiranje tega žetona) do 100 (izključna izbira žetona, zaradi česar je verjetneje, da bo generiran). Zmerne vrednosti, kot sta -1 in 1, bodo v manjši meri spremenile verjetnost, da bo žeton izbran.

Ker parameter sprejema žetone in ne besedila, uporabite orodje za tokenizacijo za pretvorbo besedila v ID-je žetonov. Oglejmo si nekaj primerov.

Primer 1: Odstranite »time«

Če končno točko Completions pokličemo s pozivom »Once upon a«, se bo dokončanje zelo verjetno začelo z » time«.

Beseda »time« se tokenizira v ID 2435, beseda » time« (ki ima na začetku presledek) pa se tokenizira v ID 640. Te lahko posredujemo prek logit_bias z vrednostjo -100, da jim preprečimo pojavljanje v dokončanju, takole:

completion = client.chat.completions.create( 
model="gpt-3.5-turbo",
messages=[{"role": "system", "content": "Dokončaš uporabnikove stavke."},
"role": "user", "content": "Once upon a"} ]
logit_bias={2435:-100, 640:-100}
)

Zdaj poziv »Once upon a« ustvari dokončanje »midnight dreary, while I pondered, weak and weary.«

Opazite, da besede »time« ni nikjer, ker smo ta žeton učinkovito prepovedali z uporabo logit_bias.

Primer 2: Usmerjanje s ciljnimi vrednostmi pristranskosti logitov

Oglejmo si še en primer z uporabo poziva za generator receptov.

Veliko receptov priporoča uporabo loncev, vendar recimo, da lonca nimamo. Želeli bomo preprečiti, da bi se beseda pot generirala kot del našega dokončanja. »Pot« se tokenizira v 1787, zato ga lahko odstranimo iz našega generiranja tako, da nastavimo logit_bias, kot je prikazano spodaj.

logit_bias={1787:-100}

Zdaj bo naše dokončanje morda namesto tega vsebovalo besedo »saucepan«. Odlično!

Primer 3: Povečanje možnosti, da se beseda pojavi

Recimo, da želimo povečati verjetnost, da se beseda pojavi.

Morda na primer upravljamo spletno mesto, ki ponuja recepte, ki jih lahko pripravite z mikrovalovno pečico, zato želimo zagotoviti, da se beseda »microwave« pojavi v receptu. Microwave se tokenizira v ID 27000. Verjetnost, da se ta žeton pojavi, lahko povečamo tako, da nastavimo pozitivni logit_bias, takole:

logit_bias={27000:5}

Zdaj je bolj verjetno, da bo naše dokončanje vsebovalo besedo »microwave«.

Vrednost logit_bias smo nastavili na 5, saj smo ugotovili, da nastavitev logit_bias na 1 pogosto ni povzročila, da bi se beseda »microwave« pojavila v dokončanju, medtem ko so višje vrednosti logit_bias, na primer 10, povzročile, da se je beseda » microwave« v dokončanju pojavljala prepogosto.

Ali vam je bil ta članek v pomoč?