Что такое temperature, top-p и как они влияют на вывод
11 часов назад
Никита Вихров
Ответы
Что такое temperature, top-p и как они влияют на вывод
Temperature и top-p — параметры, которые управляют случайностью в ответах модели. Звучит просто, но путаницы вокруг них много: разработчики либо не трогают дефолты вообще, либо крутят наугад и удивляются результату.
Как модель выбирает следующее слово
Модель не «думает» словами — она считает вероятности. На каждом шаге она видит все возможные следующие токены и их вероятности:
Входной текст: "Функция возвращает"
Возможные продолжения:
"значение" → 45%
"None" → 20%
"ошибку" → 15%
"список" → 10%
...остальное → 10%
Temperature и top-p меняют то, как модель выбирает из этого распределения.
Temperature: насколько рискует модель
Temperature = 0 — модель всегда выбирает самый вероятный токен. Детерминированно, предсказуемо, скучно.
Temperature = 1 — дефолт. Модель выбирает токены согласно исходному распределению.
Temperature > 1 — маловероятные токены получают больший шанс. Растёт креативность и количество бреда одновременно.
top-p: отсекаем хвост распределения
top-p (nucleus sampling) — альтернативный способ контролировать случайность. Вместо масштабирования всего распределения — отсекаем редкие токены.
top-p = 0.9: берём токены, которые в сумме дают 90% вероятности
"значение" → 45% ✓
"None" → 20% ✓ (сумма 65%)
"ошибку" → 15% ✓ (сумма 80%)
"список" → 10% ✓ (сумма 90%) — стоп, дальше не берём
Редкие токены с суммарной вероятностью 10% отрезаны
Что использовать на практике
Temperature или top-p — что выбрать
Не нужно использовать оба одновременно — это избыточно. Anthropic рекомендует менять один из параметров, оставляя второй на дефолте.
Практическое правило: используй temperature когда нужно контролировать «смелость» модели в целом. Используй top-p когда хочешь убрать совсем случайные токены, но сохранить нормальное разнообразие среди вероятных.
Для большинства продакшн-задач: temperature между 0 и 0.5. Выше — только если нужна генерация разнообразного контента.
11 часов назад
Никита Вихров





