Logit_bias е незадължителен параметър, който променя вероятността определени токени да се появят в изхода, генериран от модел.
Този параметър приема JSON обект, който съпоставя токени със свързана стойност на bias от -100 (което в повечето случаи ще блокира генерирането на този токен) до 100 (изключителен избор на токена, което го прави по-вероятно да бъде генериран). Умерени стойности като -1 и 1 ще променят вероятността токенът да бъде избран в по-малка степен.
Тъй като параметърът приема токени, а не текст, ще искате да използвате инструмент за токенизиране, за да преобразувате текста в ID на токени. Нека разгледаме няколко примера.
Пример 1: Премахване на „time“
Ако извикаме крайната точка Completions с подканата „Once upon a,“ е много вероятно допълнението да започне с „ time.“
Думата „time“ се токенизира до ID 2435, а думата „ time“ (която има интервал в началото) се токенизира до ID 640. Можем да ги подадем чрез logit_bias със стойност -100, за да забраним появата им в допълнението, ето така:
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}
)Сега подканата „Once upon a“ генерира допълнението „midnight dreary, while I pondered, weak and weary.“
Обърнете внимание, че думата „time“ никъде не се среща, защото на практика сме забранили този токен чрез logit_bias.
Пример 2: Задаване на насока с целеви стойности на logit bias
Нека разгледаме още един пример с подкана за генератор на рецепти.
Много рецепти предлагат да се използват тенджери, но да предположим, че нямаме тенджера. Ще искаме да премахнем думата pot, така че да не се генерира като част от нашето допълнение. „Pot“ се токенизира до 1787, така че можем да я премахнем от генерирането, като зададем logit_bias както е показано по-долу.
logit_bias={1787:-100}Сега нашето допълнение може вместо това да включва думата „saucepan“. Чудесно!
Пример 3: Увеличаване на шанса дадена дума да се появи
Да предположим, че искаме да увеличим вероятността дадена дума да се появи.
Например може да поддържаме сайт, който предлага рецепти, които можете да приготвите с микровълнова фурна, така че искаме да сме сигурни, че думата „microwave“ ще се появи в рецептата. Microwave се токенизира до ID 27000. Можем да увеличим вероятността този токен да се появи, като зададем положителен logit_bias, ето така:
logit_bias={27000:5}Сега нашето допълнение е по-вероятно да включва думата „microwave“.
Зададохме logit_bias на 5, тъй като установихме, че задаването на logit_bias на 1 често не водеше до появата на думата „microwave“ в допълнението, докато по-високи стойности на logit_bias като 10 водеха до твърде честа поява на думата „ microwave“ в допълнението.
