Что такое температура в ИИ?

Температура — это гиперпараметр сэмплирования, который управляет тем, насколько случайными или предсказуемыми будут ответы модели ИИ. Узнайте, как она работает, почему важна и как её настраивать.

Температура в ИИ — это гиперпараметр, который управляет случайностью вывода модели, изменяя распределение вероятностей, используемое моделью для выбора следующего токена, слова или пикселя. Чаще всего о нём говорят в контексте больших языковых моделей (LLM) и других генеративных моделей, где он выступает регулятором между предсказуемостью и креативностью. Уменьшите значение — и модель будет каждый раз выбирать наиболее вероятный вариант; увеличьте — и она станет чаще рисковать, выбирая менее вероятные.

Как работает температура

Перед генерацией каждого токена модель вычисляет сырое значение, называемое логитом, для каждого варианта из своего словаря. Эти логиты преобразуются в вероятности с помощью функции softmax, и именно здесь вступает температура. Каждый логит делится на значение температуры T до применения softmax.

При T = 1 распределение остаётся неизменным. При T < 1 вероятности расходятся: и без того вероятные токены становятся ещё вероятнее, поэтому сэмплинг остаётся близким к «лучшей догадке» модели. При T > 1 распределение уплощается, и менее вероятные токены получают большую долю, поэтому вывод становится разнообразнее. Например, если модель считает, что следующее слово — «the» с вероятностью 60%, а «a» — 20%, то при температуре 0.2 она почти всегда выберет «the», а при температуре 1.2 примерно в одном случае из пяти выберет «a».

Почему это важно

Температура — один из самых простых и мощных инструментов управления поведением модели без её дообучения. Низкие температуры предпочтительны для задач, требующих точности: генерации кода, фактологических вопросов-ответов и извлечения структурированных данных, где галлюцинации обходятся дорого. Более высокие температуры полезны для мозгового штурма, сторителлинга и диалогов, где новизна и разнообразие важнее точности.

Температура также является ключевой частью prompt-инжиниринга. Большинство API LLM, включая API от OpenAI, Anthropic и Google, предоставляют температуру как настраиваемый параметр наряду с такими связанными настройками, как top-p (nucleus sampling) и top-k. Поскольку она напрямую влияет на пользовательский опыт, это один из первых параметров, которые разработчики настраивают при переносе модели из демо в продакшн.

Основные диапазоны температур и когда их использовать

  • 0.0 — Жадное декодирование. Модель всегда выбирает токен с наивысшей вероятностью. Максимальный детерминизм; полезно для воспроизводимого кода или математических вычислений.
  • 0.0–0.3 — Низкая и сфокусированная. Подходит для перевода, суммаризации, классификации и фактологических ответов.
  • 0.4–0.7 — Сбалансированная. Распространённое значение по умолчанию для универсальных чат-ассистентов.
  • 0.7–1.0 — Более разнообразная. Полезна для творческого письма, маркетинговых текстов и генерации идей.
  • 1.0+ — Высокая случайность. Вывод может стать несвязным; редко используется вне исследований или экспериментального искусства.

Температуру лучше всего воспринимать как ручку настройки, а не как приговор. Сочетайте её с сэмплингом top-p или top-k и подстраивайте под конкретную задачу, модель и аудиторию, поскольку одно и то же значение может ощущаться совершенно по-разному в разных приложениях.

Вам также может понравиться

Похожие статьи