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
)
Связанные термины
Готовы запустить GPU-задачу?
Запустить GPU-сервер