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

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

Všimněte si, že slovo „time“ se nikde nevyskytuje, protože jsme tento token pomocí logit_bias účinně zakázali.

Příklad 2: Nasměrování pomocí cílených hodnot logit biasu

Projděme si další příklad s použitím promptu generátoru receptů.

Mnoho receptů doporučuje použít hrnce, ale předpokládejme, že hrnec nemáme. Budeme chtít zabránit tomu, aby se slovo „pot“ vygenerovalo jako součást našeho doplnění. „Pot“ se tokenizuje na ID 1787, takže ho můžeme z našeho generování odstranit nastavením logit_bias takto.

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, že se určité slovo objeví.

Například možná provozujeme web, který nabízí recepty, jež můžete připravit v mikrovlnné troubě, takže chceme mít jistotu, že se v receptu objeví slovo „microwave“. Slovo „Microwave“ se tokenizuje na ID 27000. Pravděpodobnost, že se tento token objeví, můžeme zvýšit nastavením kladné hodnoty logit_bias takto:

logit_bias={27000:5}

Nyní bude naše doplnění pravděpodobněji obsahovat slovo „microwave“.

Nastavili jsme logit_bias na 5, protože jsme zjistili, že nastavení logit_bias na 1 často nevedlo k tomu, že se v doplnění objevilo slovo „microwave“, zatímco vyšší hodnoty logit_bias, například 10, vedly k tomu, že se slovo „ microwave“ v doplnění objevovalo příliš často.

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