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» у доповненні.
