Logit_bias este un parametru opțional care modifică probabilitatea ca tokenurile specificate să apară într-o ieșire generată de model.
Acest parametru acceptă un obiect JSON care mapează tokenurile la o valoare de bias asociată, de la -100 (care, în majoritatea cazurilor, va bloca generarea acelui token) până la 100 (selecție exclusivă a tokenului, ceea ce îl face mai probabil să fie generat). Valorile moderate, precum -1 și 1, vor modifica într-o măsură mai mică probabilitatea ca un token să fie selectat.
Deoarece parametrul primește tokenuri, nu text, veți dori să folosiți un instrument de tokenizare pentru a converti textul în ID-uri de token. Să parcurgem câteva exemple.
Exemplul 1: eliminarea „time”
Dacă apelăm punctul final Completions cu solicitarea „Once upon a,”, completarea va începe foarte probabil cu „ time”.
Cuvântul „time” se tokenizează la ID-ul 2435, iar cuvântul „ time” (care are un spațiu la început) se tokenizează la ID-ul 640. Le putem transmite prin logit_bias cu -100 pentru a le interzice să apară în completare, astfel:
completion = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "system", "content": "Tu termini propozițiile utilizatorului."},
"role": "user", "content": "Once upon a"} ]
logit_bias={2435:-100, 640:-100}
)Acum, solicitarea „Once upon a” generează completarea „midnight dreary, while I pondered, weak and weary.”
Observați că termenul „time” nu se găsește nicăieri, deoarece am interzis efectiv acel token folosind logit_bias.
Exemplul 2: oferirea unei direcții cu valori țintite de logit bias
Să parcurgem un alt exemplu, folosind o solicitare pentru un generator de rețete.
Multe rețete sugerează folosirea oalelor, dar să presupunem că nu avem o oală. Vom dori să eliminăm cuvântul pot din generarea ca parte a completării noastre. „Pot” se tokenizează la 1787, așa că îl putem elimina din generarea noastră setând logit_bias ca mai jos.
logit_bias={1787:-100}Acum, completarea noastră ar putea include în schimb cuvântul „saucepan”. Perfect!
Exemplul 3: creșterea șanselor ca un cuvânt să apară
Să presupunem că vrem să creștem probabilitatea ca un cuvânt să apară.
De exemplu, poate rulăm un site care oferă rețete pe care le puteți prepara cu un cuptor cu microunde, așa că vrem să ne asigurăm că termenul „microwave” apare în rețetă. Microwave se tokenizează la ID-ul 27000. Putem crește probabilitatea ca acest token să apară setând un logit_bias pozitiv, astfel:
logit_bias={27000:5}Acum, completarea noastră are mai multe șanse să includă cuvântul „microwave”.
Am setat logit_bias la 5, deoarece am constatat că setarea logit_bias la 1 adesea nu ducea la apariția cuvântului „microwave” în completare, în timp ce valorile mai mari pentru logit_bias, precum 10, făceau ca termenul „ microwave” să apară prea des în completare.
