Logit_bias е незадължителен параметър, който променя вероятността определени токени да се появят в изход, генериран от модел.
Този параметър приема JSON обект, който съпоставя токени със свързана стойност на отклонение от -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“ в завършването.
