Logit_bias on valinnainen parametri, joka muuttaa määritettyjen tokenien todennäköisyyttä esiintyä mallin luomassa tulosteessa.
Tämä parametri hyväksyy JSON-objektin, joka yhdistää tokenit niihin liittyvään bias-arvoon välillä -100 (mikä useimmissa tapauksissa estää kyseisen tokenin luomisen) ja 100 (tokenin yksinomainen valinta, mikä tekee sen luomisesta todennäköisempää). Kohtuulliset arvot, kuten -1 ja 1, muuttavat tokenin valinnan todennäköisyyttä vähäisemmässä määrin.
Koska parametri käyttää tokeneita eikä tekstiä, kannattaa käyttää tokenisointityökalua tekstin muuntamiseen tokenien ID-tunnuksiksi. Käydään läpi muutama esimerkki.
Esimerkki 1: Poista ”time”
Jos kutsumme Completions-endpointia kehotteella ”Once upon a,”, täydennys alkaa hyvin todennäköisesti merkkijonolla ” time.”
Sana ”time” tokenisoituu tunnukseksi 2435, ja sana ” time” (jossa on alussa välilyönti) tokenisoituu tunnukseksi 640. Voimme välittää nämä logit_bias-parametrin kautta arvolla -100 estääksemme niiden näkymisen täydennyksessä näin:
completion = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "system", "content": "You finish user's sentences."},
"role": "user", "content": "Once upon a"} ]
logit_bias={2435:-100, 640:-100}
)Nyt kehote ”Once upon a” tuottaa täydennyksen ”midnight dreary, while I pondered, weak and weary.”
Huomaa, ettei sanaa ”time” näy missään, sillä olemme käytännössä estäneet kyseisen tokenin logit_bias-arvon avulla.
Esimerkki 2: Ohjaa tulosta kohdennetuilla logit bias -arvoilla
Käydään läpi toinen esimerkki, jossa käytetään reseptigeneraattorille tarkoitettua kehotetta.
Monissa resepteissä suositellaan kattilan käyttöä, mutta oletetaan, ettei meillä ole kattilaa. Haluamme estää sanan ”pot” muodostamisen osana täydennystä. Sana ”Pot” tokenisoituu tunnukseksi 1787, joten voimme estää sen muodostamisen asettamalla logit_bias-arvon alla kuvatulla tavalla.
logit_bias={1787:-100}Nyt täydennyksemme saattaa sen sijaan sisältää sanan ”saucepan”. Täydellistä!
Esimerkki 3: Lisää sanan esiintymisen todennäköisyyttä
Oletetaan, että haluamme lisätä tietyn sanan esiintymisen todennäköisyyttä.
Voimme esimerkiksi ylläpitää sivustoa, joka tarjoaa mikroaaltouunissa valmistettavia reseptejä. Siksi haluamme varmistaa, että sana ”microwave” esiintyy reseptissä. Sana Microwave tokenisoituu tunnukseksi 27000. Voimme lisätä tämän tokenin esiintymisen todennäköisyyttä asettamalla positiivisen logit_bias-arvon näin:
logit_bias={27000:5}Nyt täydennyksemme sisältää todennäköisemmin sanan ”microwave”.
Asetimme logit_bias-arvoksi 5, koska arvolla 1 sana ”microwave” jäi usein pois täydennyksestä, kun taas suuremmilla arvoilla, kuten 10, sana ” microwave” esiintyi täydennyksessä liian usein.
