Температуру почти всегда объясняют одной фразой: «чем выше, тем креативнее». Это упрощение, из которого следуют неверные решения — например, попытка «сделать модель точной», выставив ноль. Точнее она от этого не станет.
#Что происходит на самом деле
На каждом шаге модель выдаёт не один токен, а число для каждого токена словаря — логит. Дальше логиты превращают в вероятности, и перед этим делят на температуру:
p_i ∝ exp(logit_i / T)
Деление на маленькое T растягивает разрыв между кандидатами: и без того вероятный токен становится почти неизбежным. Деление на большое T сглаживает распределение: у слабых кандидатов появляется шанс.
| T | Что с распределением | Что видно в ответах |
|---|---|---|
| 0 | выбирается самый вероятный токен | одинаковые формулировки, склонность к шаблонам и повторам |
| 0,2–0,4 | разрыв усилен | ровные фактические ответы, код, извлечение данных |
| 0,7–0,9 | распределение близко к исходному | обычный диалог, тексты |
| >1,2 | распределение сглажено | оригинально до потери связности, растёт доля выдумок |
Из таблицы следует правило, которое стоит запомнить вместо «креативности»: температура управляет разнообразием формулировок, а не содержанием знаний. Значения выше единицы дают не идеи, а рост доли маловероятных продолжений — и часть из них будет ложной.
#Где путают
Заблуждение первое: на нуле модель говорит правду. Ноль означает «всегда самый вероятный токен», а самый вероятный не значит верный. Если модель не знает даты, на нуле она уверенно назовёт правдоподобную дату — и назовёт её каждый раз одну и ту же. Природа этой уверенности разобрана в справке про галлюцинацию ИИ.
Заблуждение второе: температура ноль даёт воспроизводимость. На одной машине с одной сборкой — почти всегда да. У облачного провайдера — нет, и причины к температуре отношения не имеют; они собраны в справке про seed и детерминизм.
Заблуждение третье: плохой ответ лечится температурой. В большинстве случаев виноваты промпт, шаблон чата или подмешанный контекст, а не сэмплинг. Отдельный разбор — когда модель не виновата.
#Как проверить на своём запросе
Возьмите один вопрос с проверяемым ответом — например, извлечение трёх полей из письма — и прогоните его по пять раз при T = 0, T = 0.7 и T = 1.3. Смотреть надо на две вещи: расходятся ли формулировки и расходятся ли сами факты. Нормальная картина — расхождение формулировок при устойчивых фактах. Если факты плывут уже при 0,7, задача для этой модели слишком сложна, и температура тут ни при чём.
Температура почти никогда не настраивается в одиночку: рядом стоят обрезающие фильтры, описанные в справке про top-p и top-k.
#Частые вопросы
#Какую температуру ставить по умолчанию?
Для фактических задач — низкую, в районе 0,2–0,4. Для свободного диалога — то, что рекомендует карточка самой модели: у многих моделей в шаблоне уже прописано своё значение, и оно подобрано под их обучение. Значение «универсально правильной» температуры не существует.
#Почему при температуре 0 модель начинает повторяться?
Потому что она каждый раз выбирает самый вероятный токен, а самый вероятный часто продолжает уже начатую конструкцию. Отсюда циклы вида «и так далее, и так далее». Лечится не температурой, а штрафом за повторы или чуть более высоким значением.
#Температура влияет на скорость генерации?
Практически нет. Стоимость шага определяется размером модели и пропускной способностью памяти, а не тем, как выбирается токен из готового распределения.
#Есть ли смысл в температуре выше 1,5?
Для рабочих задач — нет. Выше полутора распределение сглажено настолько, что растёт вероятность синтаксически поломанного текста и смешения языков. Это инструмент экспериментов, а не настройка ассистента.
Остальные параметры генерации и весь понятийный ряд собраны в глоссарии терминов ИИ.