Logit_bias on valikuline parameeter, mis muudab määratud tokenite ilmumise tõenäosust mudeli genereeritud väljundis.
See parameeter võtab vastu JSON-objekti, mis seostab tokenid vastava kallutatuse väärtusega vahemikus -100 (mis enamasti blokeerib selle tokeni genereerimise) kuni 100 (tokeni eksklusiivne valik, mis muudab selle genereerimise tõenäolisemaks). Mõõdukad väärtused, nagu -1 ja 1, muudavad tokeni valimise tõenäosust vähemal määral.
Kuna parameeter võtab vastu tokeneid, mitte teksti, tasub teksti tokeni-ID-deks teisendamiseks kasutada tokeniseerimistööriista. Vaatame läbi mõned näited.
Näide 1: eemalda „time“
Kui kutsume Completionsi lõpp-punkti viibaga „Once upon a,“, algab lõpetus suure tõenäosusega tekstiga „ time.“
Sõna „time“ tokeniseerub ID-ks 2435 ja sõna „ time“ (mille alguses on tühik) tokeniseerub ID-ks 640. Saame need edastada parameetri logit_bias kaudu väärtusega -100, et keelata nende ilmumine lõpetuses, näiteks nii:
completion = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "system", "content": "Sa lõpetad kasutaja lauseid."},
"role": "user", "content": "Once upon a"} ]
logit_bias={2435:-100, 640:-100}
)Nüüd genereerib viip „Once upon a“ jätku „midnight dreary, while I pondered, weak and weary.“
Pange tähele, et sõna „time“ ei esine kusagil, sest oleme selle tokeni parameetriga logit_bias sisuliselt keelanud.
Näide 2: suunamine logiti nihke sihtväärtustega
Vaatame veel üht näidet, kasutades retseptigeneraatori viipa.
Paljudes retseptides soovitatakse kasutada potte, kuid oletame, et meil pole potti. Tahame vältida sõna „pot“ genereerimist meie jätku osana. „Pot“ tokeniseerub ID-ga 1787 tokeniks, seega saame selle genereerimise välistada, määrates parameetri logit_bias järgmiselt.
logit_bias={1787:-100}Nüüd võib meie lõpetus selle asemel sisaldada sõna „saucepan“. Suurepärane!
Näide 3: sõna esinemise tõenäosuse suurendamine
Oletame, et tahame suurendada mingi sõna esinemise tõenäosust.
Näiteks võib meil olla veebisait, mis pakub mikrolaineahjus valmistatavaid retsepte, ja seetõttu tahame tagada, et retseptis esineks sõna „microwave“. „Microwave“ tokeniseerub ID-ga 27000 tokeniks. Selle tokeni esinemise tõenäosust saame suurendada, määrates parameetrile logit_bias positiivse väärtuse, näiteks nii:
logit_bias={27000:5}Nüüd sisaldab meie jätk suurema tõenäosusega sõna „microwave“.
Määrasime parameetri logit_bias väärtuseks 5, sest väärtuse 1 korral ei ilmunud sõna „microwave“ sageli jätku, samas kui suuremate logit_bias-väärtuste, näiteks 10 korral, ilmus sõna „ microwave“ jätku liiga sageli.
