Inference

temperature

Параметр, масштабирующий логиты перед softmax; управляет степенью случайности генерации.

Что такое temperature

Temperature — гиперпараметр сэмплинга, контролирующий «случайность» выбора следующего токена. Математически: перед применением softmax к логитам каждый логит делится на temperature T.

  • T → 0: распределение вырождается в argmax — модель всегда выбирает наиболее вероятный токен (детерминированно, но «механически»)
  • T = 1.0: стандартное распределение, выученное моделью
  • T > 1.0: распределение уплощается, вероятности выравниваются — больше неожиданных токенов, больше «креативности», но и больше ошибок

Практические значения

Temperature Применение
0 или 0.1 Извлечение данных, код, математика — нужна воспроизводимость
0.3–0.7 Сбалансированный диалог, Q&A, суммаризация
0.7–1.0 Творческое письмо, storytelling
>1.2 Эксперименты, поэзия (высокий риск бессмыслицы)

Взаимодействие с top-p

Temperature и top-p работают вместе: сначала применяется temperature (масштабирование логитов), затем top-p (обрезка хвоста распределения). Использовать оба одновременно с нестандартными значениями — не рекомендуется: обычно фиксируют один параметр.

# OpenAI API
response = client.chat.completions.create(
    model="gpt-4",
    messages=[...],
    temperature=0.7,   # 0.0 = детерминировано, 2.0 = максимальный хаос
    top_p=1.0          # при temperature ≠ 1 top_p оставляют = 1
)

Связанные термины

  • top-p — дополнительный параметр сэмплинга
  • логиты — что масштабирует temperature
  • softmax — применяется после temperature-скалирования
  • decode — фаза, где выполняется сэмплинг

Готовы запустить GPU-задачу?

Запустить GPU-сервер