Sobes.tech
Назад к вопросам
Middle — Senior
13

Что такое 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.

  1. Есть исходные логиты токенов — это внутренние оценки модели перед нормализацией.
  2. Для отдельных токенов задаётся bias: положительный делает токен более вероятным, отрицательный — менее вероятным.
  3. Bias прибавляется к логиту каждого токена.
  4. После этого модель применяет softmax и выбирает токен уже с учётом этих смещений.

Ключевые моменты:

  • Logit bias влияет не на текст напрямую, а на вероятности токенов перед выбором.
  • Это точечный инструмент управления генерацией на уровне токенов.
  • Его используют для ограничения нежелательных токенов, продвижения терминов, тонкой настройки стиля.
  • Он не гарантирует абсолютный запрет смысла, если запретить только отдельные токены: модель может выразить то же самое другими токенами.
  • Эффективность зависит от токенизации: одно слово может состоять из нескольких токенов.
  • Это удобный механизм для контролируемой генерации, но не замена полноценно настроенным правилам или фильтрам.