# Logit Bias (Логит-смещение)

> **Logit Bias (логит-смещение)** — это параметр в настройках больших языковых моделей (таких как ChatGPT), который позволяет разработчику искусственно увеличивать или уменьшать вероятность генерации определенных слов или символов (токенов).

Современные нейросети не мыслят словами в привычном нам понимании. Они оперируют **токенами** — кусочками слов, слогами или отдельными символами. Когда языковая модель пишет текст, она математически предсказывает, какой токен должен идти следующим, основываясь на контексте. Каждому возможному следующему токену присваивается базовая числовая оценка — **логит (logit)**. Затем эти сырые оценки пропускаются через математическую функцию (обычно Softmax), которая превращает их в проценты вероятности (от 0 до 100%).

Чем выше изначальный логит, тем больше шансов, что нейросеть выберет именно этот токен. И вот здесь в игру вступает **Logit Bias**. Этот параметр работает как «математический штраф» или «бонус», который мы можем вручную добавить к логиту конкретного слова до того, как модель сделает окончательный выбор.

## Как это работает на практике?

Представьте, что нейросеть выбирает следующее слово в предложении: *«На завтрак я люблю есть...»*. Модель рассчитывает вероятности:

- «яйца» — 40%
- «кашу» — 30%
- «гвозди» — 0.001%

Если мы применим положительный Logit Bias к токену «гвозди», мы искусственно завысим его оценку. Если смещение будет достаточно большим, нейросеть с уверенностью выдаст: *«На завтрак я люблю есть гвозди»*. И наоборот, если мы применим отрицательный Logit Bias к слову «яйца» (например, установив значение -100), модель навсегда «забудет» это слово и никогда его не сгенерирует, выбрав вместо него «кашу» или другой подходящий вариант.

## Настройка Logit Bias в API

В программных интерфейсах популярных моделей параметр Logit Bias обычно принимает словарь, где ключами являются идентификаторы токенов (Token ID), а значениями — числа от -100 до +100.

- **От -1 до -10:** Легкое снижение вероятности. Слово будет появляться реже.
- **-100:** Полный запрет (бан). Вероятность сводится к абсолютному нулю.
- **От +1 до +10:** Повышение шансов на использование слова.
- **+100:** Экстремальное принуждение. Модель будет использовать этот токен везде, где это хоть немного синтаксически возможно (что часто приводит к поломке текста и бесконечным повторениям).

## Примеры использования Logit Bias

Этот инструмент активно используется разработчиками для тонкой настройки поведения искусственного интеллекта. Вот несколько классических сценариев:

- **Создание жестких фильтров (цензура):** Установив максимальный отрицательный bias на нецензурные или запрещенные слова, разработчики гарантируют, что бот никогда их не произнесет.
- **Форматирование ответов:** Если нужно, чтобы ИИ отвечал только «Да» или «Нет» в автоматизированной системе, всем остальным словам задается отрицательный вес, а этим двум — положительный.
- **Устранение клише:** Языковые модели часто злоупотребляют фразами вроде *«Как искусственный интеллект, я...»*. Понижение вероятности этих токенов делает текст более живым и естественным.

### Интересный факт: Цифровое табу и липограммы

С помощью Logit Bias энтузиасты заставляют нейросети писать **липограммы** — тексты, в которых намеренно пропущена определенная буква или целая группа слов. Например, если запретить все токены, содержащие букву «о», модель начнет выкручиваться, подбирая невероятно сложные синонимы и перестраивая предложения, чтобы выполнить задачу. Это похоже на игру, в которой ИИ приходится проявлять максимум творчества, чтобы обойти жесткие математические ограничения, наложенные на его словарный запас.
