OpenAI
Tato stránka byla přeložena strojově. Zobrazit původní článek v angličtině.

Použití logit bias ke změně pravděpodobnosti tokenu pomocí OpenAI API

Naučte se používat parametr logit bias k úpravě výstupů modelu

Aktualizováno: 5 days ago

Logit_bias je volitelný parametr, který upravuje pravděpodobnost, že se zadané tokeny objeví ve výstupu vygenerovaném modelem.

Tento parametr přijímá objekt JSON, který mapuje tokeny na přidruženou hodnotu biasu od -100 (což ve většině případů zabrání vygenerování daného tokenu) až po 100 (výhradní výběr tokenu, díky němuž je pravděpodobnější, že bude vygenerován). Střední hodnoty, například -1 a 1, změní pravděpodobnost výběru tokenu v menší míře.

Protože parametr přijímá tokeny, ne text, použijte nástroj pro tokenizaci k převodu textu na ID tokenů. Pojďme si projít několik příkladů.

Příklad 1: Odstranění „time“

Když zavoláme koncový bod Completions s promptem „Once upon a,“ doplnění velmi pravděpodobně začne řetězcem „ time.“

Slovo „time“ se tokenizuje na ID 2435 a slovo „ time“ (které má na začátku mezeru) se tokenizuje na ID 640. Můžeme je předat přes logit_bias s hodnotou -100, abychom zakázali jejich výskyt v doplnění, takto:

completion = client.chat.completions.create( 
model="gpt-3.5-turbo",
messages=[{"role": "system", "content": "Dokončujete věty uživatele."},
"role": "user", "content": "Once upon a"} ]
logit_bias={2435:-100, 640:-100}
)

Prompt „Once upon a“ nyní vygeneruje doplnění „midnight dreary, while I pondered, weak and weary.“

Všimněte si, že slovo „time“ se v něm vůbec nevyskytuje, protože jsme tento token pomocí logit_bias fakticky zakázali.

Příklad 2: Směrování výstupu pomocí cílených hodnot logit bias

Projděme si další příklad, tentokrát s promptem pro generátor receptů.

Mnoho receptů doporučuje použít hrnec, ale předpokládejme, že žádný nemáme. Budeme chtít zabránit tomu, aby se v generovaném doplnění objevilo slovo „pot“. Slovo „Pot“ se převede na token s ID 1787, takže ho můžeme z generovaného výstupu odstranit nastavením hodnoty logit_bias podle následujícího příkladu.

logit_bias={1787:-100}

Nyní může naše doplnění místo toho obsahovat slovo „saucepan“. Perfektní!

Příklad 3: Zvýšení pravděpodobnosti výskytu slova

Předpokládejme, že chceme zvýšit pravděpodobnost výskytu určitého slova.

Představme si například, že provozujeme web s recepty na jídla připravovaná v mikrovlnné troubě, a proto chceme mít jistotu, že se v receptu objeví slovo „microwave“. Slovo „Microwave“ se převede na token s ID 27000. Pravděpodobnost výskytu tohoto tokenu můžeme zvýšit nastavením kladné hodnoty logit_bias následovně:

logit_bias={27000:5}

Naše doplnění nyní bude s větší pravděpodobností obsahovat slovo „microwave“.

Hodnotu logit_bias jsme nastavili na 5. Zjistili jsme totiž, že při hodnotě logit_bias 1 se slovo „microwave“ v doplnění často neobjevilo, zatímco při vyšších hodnotách logit_bias, například 10, se slovo „ microwave“ objevovalo příliš často.

Byl tento článek užitečný?