Словарь ИИ
Что такое температура
Коротко
Температура это настройка генерации, которая управляет случайностью ответа языковой модели: при низком значении ответы предсказуемее, при высоком разнообразнее.
Языковые модели · temperature
Михаил МозгПроверено: 1 минута чтения
Ребенку
Представь, что ты выбираешь, какой мультик посмотреть. В спокойный день ты включаешь любимый, который видел сто раз. А в веселый день можешь взять что-то совсем неожиданное. У нейросети есть похожий переключатель настроения: в спокойном положении она отвечает привычно, а в веселом придумывает необычные слова и идеи.
Простыми словами
Модель пишет ответ по кусочку и на каждом шаге выбирает следующее слово из списка подходящих вариантов. У каждого варианта своя вероятность. Эта настройка меняет шансы. На низком значении модель почти всегда берет наиболее вероятный вариант и на один и тот же вопрос раз за разом отвечает одинаково. На высоком шансы редких вариантов растут, ответы становятся живее и разнообразнее, но чаще уходят в сторону. Например, для придумывания названий новой кофейни значение поднимают, а для извлечения реквизитов из счета опускают почти до нуля.
Для бизнеса
Температура задается в настройках сервиса или в запросе к API и ничего не стоит, но заметно влияет на качество. Для задач с одним правильным ответом, таких как классификация заявок, извлечение данных из документов и ответы по регламенту, ее ставят низкой, чтобы результат был стабильным и воспроизводимым. Для черновиков рекламы, идей и вариантов писем ее повышают. Ошибка в настройке выглядит как проблема модели: агент поддержки с высоким значением иногда придумывает условия, которых нет в базе знаний. Низкое значение при этом не устраняет выдумки полностью. Зафиксируйте параметр в конфигурации и прогоните тестовый набор вопросов несколько раз подряд, такую проверку делают на пилоте.
Для специалиста
Температура (temperature) T делит логиты (logits) модели перед функцией softmax: p_i = exp(z_i / T) / Σ exp(z_j / T). При T меньше 1 распределение заостряется, при T, стремящемся к нулю, выбор сводится к жадному декодированию (greedy decoding), при T больше 1 распределение сглаживается и растет доля маловероятных токенов. В библиотеке Hugging Face Transformers значение по умолчанию равно 1,0, если модель не задает свое в generation_config.json, а сэмплирование включает флаг do_sample. Параметр сочетают с усечением распределения: top-k оставляет k наиболее вероятных токенов, top-p (nucleus sampling) по Holtzman и соавторам (2019) оставляет наименьший набор токенов с суммарной вероятностью не ниже p. Авторы показали, что декодирование с максимизацией правдоподобия дает скучный и повторяющийся текст, а отсечение ненадежного хвоста сохраняет связность и разнообразие. Нулевое значение не дает полной воспроизводимости из-за недетерминизма вычислений на GPU.
Пример
Маркетолог просит модель предложить двадцать названий для акции и ставит высокую температуру, чтобы варианты не повторялись. Бухгалтер для разбора счетов использует ту же модель со значением около нуля, чтобы суммы извлекались одинаково при каждом запуске.
Связанные термины
Вопросы и ответы
Что такое температура в нейросетях?
Какое значение ставить для рабочих задач?
Источники
Где это применяют в компании
Не уверены, нужно ли это вашей компании?
Карта ИИ-решений