Что такое logit bias и где он используется?
Ответ от нейросети
sobes.tech AI
Что хотят услышать интервьюеры:
Logit bias — это способ вручную сдвигать вероятности токенов до выбора следующего токена моделью. Обычно его используют, чтобы запретить, поощрить или снизить вероятность конкретных токенов. Это инструмент управления генерацией на уровне токенов, а не на уровне смысла.
Определение:
Logit bias — это добавка к логитам модели перед применением softmax. Логиты — это «сырые» оценки вероятности токенов; если увеличить логит конкретного токена, он станет более вероятным, если уменьшить — менее вероятным. На практике logit bias позволяет точечно управлять тем, какие токены модель чаще или реже выбирает.
Пример использования:
Например, в чат-боте нужно избежать генерации слова с нежелательным токеном или, наоборот, подталкивать модель к использованию конкретного термина в доменной предметной области.
# Упрощённый пример идеи: логиты токенов до softmax
logits = {
"apple": 2.1,
"banana": 1.4,
"orange": 1.8
}
# Вручную повышаем вероятность "banana" и понижаем "orange"
logit_bias = {
"banana": +1.0,
"orange": -2.0
}
biased_logits = {
token: logits[token] + logit_bias.get(token, 0.0)
for token in logits
}
# Далее к biased_logits применяется softmax и выбор следующего токена
print(biased_logits)
Пояснение кода:
Код показывает принцип работы без привязки к конкретному API.
- Есть исходные логиты токенов — это внутренние оценки модели перед нормализацией.
- Для отдельных токенов задаётся bias: положительный делает токен более вероятным, отрицательный — менее вероятным.
- Bias прибавляется к логиту каждого токена.
- После этого модель применяет softmax и выбирает токен уже с учётом этих смещений.
Ключевые моменты:
- Logit bias влияет не на текст напрямую, а на вероятности токенов перед выбором.
- Это точечный инструмент управления генерацией на уровне токенов.
- Его используют для ограничения нежелательных токенов, продвижения терминов, тонкой настройки стиля.
- Он не гарантирует абсолютный запрет смысла, если запретить только отдельные токены: модель может выразить то же самое другими токенами.
- Эффективность зависит от токенизации: одно слово может состоять из нескольких токенов.
- Это удобный механизм для контролируемой генерации, но не замена полноценно настроенным правилам или фильтрам.