Технологии

Что такое температура модели

Температура — не регулятор креативности, а ширина выбора следующего токена. На нуле модель не становится правдивее: она просто перестаёт колебаться.

Температуру почти всегда объясняют одной фразой: «чем выше, тем креативнее». Это упрощение, из которого следуют неверные решения — например, попытка «сделать модель точной», выставив ноль. Точнее она от этого не станет.

#Что происходит на самом деле

На каждом шаге модель выдаёт не один токен, а число для каждого токена словаря — логит. Дальше логиты превращают в вероятности, и перед этим делят на температуру:

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?

Для рабочих задач — нет. Выше полутора распределение сглажено настолько, что растёт вероятность синтаксически поломанного текста и смешения языков. Это инструмент экспериментов, а не настройка ассистента.

Остальные параметры генерации и весь понятийный ряд собраны в глоссарии терминов ИИ.

Хотите ИИ, который помнит вас?

Persona держит контекст между чатами и работает на вашем железе — если развернуть её у себя и подключить локальную модель.

Создать аккаунт