Перейти к содержимому
Обучение аналитика · 11 августа 2026

Temperature и top-p: как нейросеть выбирает следующее слово

автор web3D.pro чтение 6 мин обновлено 12 сентября 2026 Telegram X
Temperature и top-p: как нейросеть выбирает следующее слово

Если вы когда-либо получали от нейросети неожиданно скучный или неожиданно бессвязный ответ, то скорее всего дело в Temperature и top-p. Эти два параметра управляют степенью «случайности» в ответах модели и напрямую влияют на то, насколько предсказуемым или творческим будет текст. Понимание этих параметров полезно как тем, кто пишет промпты в API, так и тем, кто просто хочет разобраться, почему нейросеть иногда отвечает так странно.

Как нейросеть «выбирает» следующее слово

Языковая модель работает по принципу предсказания следующего токена (примерно: части слова или целого слова). На каждом шаге модель вычисляет вероятность каждого возможного следующего токена из своего словаря (десятки тысяч вариантов). Например, после фразы «Столица Франции это» модель даст высокую вероятность токену «Париж» и низкую всем остальным.

Без каких-либо параметров модель бы всегда выбирала самый вероятный следующий токен. Это называется greedy decoding. Результат: очень предсказуемый, часто повторяющийся текст. Читать нудно, хотя фактически правильно.

Temperature: регулятор случайности

Temperature это множитель, который применяется к логитам (необработанным числам вероятности) перед тем, как они превратятся в финальные вероятности через softmax функцию. Простыми словами:

  • Temperature = 0: всегда выбирается самый вероятный токен. Ответы детерминированные и повторяемые. Хорошо для кода и фактических ответов.
  • Temperature = 1: используются исходные вероятности модели без изменений. Это дефолт в большинстве систем.
  • Temperature = 0.3-0.7: умеренно предсказуемые ответы с небольшим разнообразием. Хорошо для бизнес-текстов и аналитики.
  • Temperature = 1.5-2.0: высокая случайность. Ответы творческие, но часто нелогичные. Для экспериментального письма.

Высокий Temperature «выравнивает» распределение вероятностей: разница между «Париж» (90%) и «Лион» (3%) уменьшается. Модель начинает выбирать менее очевидные варианты чаще.

Top-p (Nucleus Sampling): фильтр по накопленной вероятности

Top-p работает иначе. Параметр задаёт порог накопленной вероятности. Модель берёт все возможные следующие токены, сортирует их по вероятности от высокого к низкому, берёт минимальное множество токенов, чья суммарная вероятность достигает p, и выбирает только из этих токенов.

Пример с top-p = 0.9: если три токена (Париж, Лион, Марсель) в сумме дают 90% вероятности, модель выбирает только среди них, игнорируя тысячи остальных малоправдоподобных вариантов. При top-p = 0.5 ограничение ещё жёстче: только токены с суммарной вероятностью 50%, то есть скорее всего один-два наиболее вероятных варианта.

Temperature vs top-p: в чём разница

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

Популярные комбинации в разных применениях:

  • Код и фактические ответы: temperature 0.0-0.3, top-p 0.9
  • Творческое письмо: temperature 0.8-1.2, top-p 0.95
  • Чат-бот: temperature 0.7, top-p 0.9
  • Генерация данных (много уникальных вариантов): temperature 1.0-1.5, top-p 1.0

Top-k: альтернативный способ фильтрации

Top-k задаёт фиксированное число вариантов, из которых выбирает модель. Top-k = 50 означает: берём 50 самых вероятных токенов, выбираем среди них. В отличие от top-p, top-k не адаптируется к ситуации: когда модель очень уверена (один токен 99%), top-k всё равно рассматривает 50 вариантов, добавляя лишний шум. Поэтому top-p чаще предпочтительнее top-k.

Практическое использование в API

В Anthropic API (Claude): параметры temperature и top-p передаются при вызове Messages API. По умолчанию temperature = 1 для большинства задач. Для кода Claude рекомендует temperature = 0. В ChatGPT API аналогичные параметры, дефолты немного другие.

Важно: ChatGPT и Claude в веб-интерфейсах уже используют настроенные значения temperature «под капотом». Пользователь обычно не управляет ими напрямую если только не использует API или специальные настройки системного промпта.

Вывод

Temperature и top-p это не магия, а управление вероятностным выбором следующего слова. Temperature = 0 для точных ответов, temperature выше 1 для творчества. Top-p ограничивает выбор разумным множеством вариантов. Большинству пользователей достаточно знать: хотите предсказуемость снизьте temperature, хотите разнообразие повысьте. Для API-разработчиков это фундамент тонкой настройки поведения модели.

Что такое temperature и как она работает

Temperature — параметр, управляющий случайностью при выборе следующего токена. При temperature=0 модель всегда выбирает токен с наибольшей вероятностью (детерминированный режим). При temperature=1 выбор происходит пропорционально вероятностям токенов (стандартный режим). При temperature>1 различия в вероятностях сглаживаются, и модель начинает чаще выбирать маловероятные токены, что даёт более «творческие», но менее предсказуемые ответы. Если нужен точный фактический ответ, дата, расчёт — temperature=0 или 0.1. Для написания текста, генерации идей — 0.7-0.9. Для браinstorming и максимального разнообразия — 1.0-1.2.

Практические значения temperature и top-p

  • temperature=0: классификация, извлечение данных, SQL-запросы, работа с кодом. Одинаковые ответы при одинаковых промптах.
  • temperature=0.3-0.5: резюме, переводы, технические инструкции. Предсказуемо, но с небольшим разнообразием в формулировках.
  • temperature=0.7-0.9: написание статей, копирайтинг, email-тексты. Баланс между связностью и творческим разнообразием.
  • temperature=1.0+: brainstorming, генерация идей, поэзия. Больше неожиданных связей, но выше риск нелогичных ответов.
  • top-p=0.9: параллельный параметр. Ограничивает выбор 90% наиболее вероятными токенами. Обычно используют ИЛИ temperature, ИЛИ top-p, не оба одновременно.

Частые вопросы

Чем temperature отличается от top-p?

Temperature масштабирует весь logit-вектор перед softmax, изменяя форму распределения. Top-p (nucleus sampling) отсекает хвост распределения: берёт минимальный набор токенов, чья суммарная вероятность достигает p. Результат похожий, но механизм разный. OpenAI рекомендует изменять только один параметр, оставляя другой по умолчанию.

Какой temperature выставлен по умолчанию в ChatGPT?

В ChatGPT через веб-интерфейс temperature не настраивается вручную. OpenAI использует внутренние дефолты, предположительно около 0.7-1.0 для чата. В API GPT-4o дефолтный temperature=1. При обращении через API temperature задаётся явно в каждом запросе.

Меняет ли temperature умственные способности модели?

Нет. Temperature влияет на вариативность выбора токена, но не на знания модели или её способность рассуждать. Высокий temperature не делает модель умнее: она может генерировать более «интересные» тексты, но при этом чаще ошибаться в фактах. Для задач, требующих точности, всегда используй низкий temperature.

Почему при temperature=0 ответы всё равно иногда немного отличаются?

Это связано с недетерминизмом GPU-вычислений (порядок операций в матричных умножениях может варьироваться). Кроме того, некоторые системы добавляют шум на уровне инфраструктуры. Абсолютный детерминизм возможен только при фиксированном seed (если API его поддерживает) и CPU-инференсе.

Читайте также

Оставить комментарий

© 2026 web3D.pro · все права защищены тема web3D Pro · made with html