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: 17 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}
)

Poziv »Once upon a« zdaj ustvari nadaljevanje »midnight dreary, while I pondered, weak and weary.«

Besede »time« ni nikjer, saj smo ta žeton z nastavitvijo logit_bias dejansko prepovedali.

2. primer: usmerjanje s ciljno izbranimi vrednostmi odmika logitov

Oglejmo si še en primer s pozivom za ustvarjanje receptov.

Številni recepti priporočajo uporabo loncev, a denimo, da lonca nimamo. Zato želimo preprečiti, da bi se v ustvarjenem nadaljevanju pojavila beseda »pot«. Besedi »Pot« ustreza ID žetona 1787, zato jo lahko izločimo iz ustvarjenega besedila tako, da logit_bias nastavimo, kot je prikazano spodaj.

logit_bias={1787:-100}

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

3. primer: povečanje verjetnosti, da se pojavi beseda

Denimo, da želimo povečati verjetnost, da se pojavi določena beseda.

Morda na primer upravljamo spletno mesto z recepti za jedi, ki jih je mogoče pripraviti v mikrovalovni pečici, zato želimo zagotoviti, da se v receptu pojavi beseda »microwave«. Besedi »Microwave« ustreza ID žetona 27000. Verjetnost, da se ta žeton pojavi, lahko povečamo tako, da nastavimo pozitivno vrednost logit_bias:

logit_bias={27000:5}

Zdaj je verjetneje, da bo naše nadaljevanje vsebovalo besedo »microwave«.

Vrednost logit_bias smo nastavili na 5, saj pri vrednosti 1 besede »microwave« pogosto ni bilo v nadaljevanju, pri višjih vrednostih logit_bias, kot je 10, pa se je beseda » microwave« pojavljala prepogosto.

Ali vam je bil ta članek v pomoč?