Загрузка...

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 энтузиасты заставляют нейросети писать липограммы — тексты, в которых намеренно пропущена определенная буква или целая группа слов. Например, если запретить все токены, содержащие букву «о», модель начнет выкручиваться, подбирая невероятно сложные синонимы и перестраивая предложения, чтобы выполнить задачу. Это похоже на игру, в которой ИИ приходится проявлять максимум творчества, чтобы обойти жесткие математические ограничения, наложенные на его словарный запас.