К тренажеру
ВопросMediumllm-generationРеальный собес

Как работает temperature при генерации текста

В какой момент применяется temperature при генерации LLM, какая формула scaling и что происходит после softmax?

Короткий ответ

Temperature применяется к logits перед softmax: softmax(logits / T). T < 1 делает распределение острее, T > 1 - более плоским. После softmax токен либо выбирают argmax, либо sampling из распределения.

Полный разбор

Модель на каждом decode step выдает logits по словарю. Перед превращением logits в вероятности можно применить temperature:

`p_i = exp(z_i / T) / sum_j exp(z_j / T)`.

Если `T < 1`, большие logits становятся еще более доминирующими, распределение острее, генерация более deterministic. Если `T > 1`, распределение выравнивается, растет разнообразие и риск мусора. При `T -> 0` поведение приближается к greedy argmax.

После softmax можно выбрать самый вероятный токен или сэмплировать из распределения, часто вместе с top-k/top-p фильтрацией.

Теория

Temperature не обучает модель и не меняет веса. Это inference-time преобразование распределения следующего токена.

Типичные ошибки

  • Говорить, что temperature применяется после выбора токена.
  • Перепутать эффект T < 1 и T > 1.
  • Не объяснить sampling как случайный выбор из categorical distribution.

Как отвечать на собеседовании

  • Запиши softmax(logits / T).
  • Объясни крайние случаи: T -> 0 и большая T.