COMRAD404 / GLOSSARY

Temperature (температура)

Temperature

Температура (temperature) — параметр генерации в LLM, который регулирует случайность выбора следующего токена. Ниже — как она работает, когда помогает и почему в части новых моделей её лучше не менять вручную.

TL;DR

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

Температура (temperature) — это параметр генерации в LLM, который управляет случайностью выбора следующего токена. Низкие значения обычно делают ответ более предсказуемым и менее «сюрпризным», высокие — более вариативным.

Практический вердикт: если вам нужен фактический ответ, извлечение данных из текста или правдивый Q&A, начинайте с низкой temperature; в рекомендациях OpenAI для таких задач прямо упоминается 0. Но сначала проверьте, поддерживает ли конкретная модель этот параметр: по состоянию на 2026-08-16 Google для Gemini 3.x в целом советует не менять temperature, top_p и top_k относительно значений по умолчанию, а в части новых моделей эти параметры уже помечены как устаревшие или убраны.

Английский термин: temperature. Контекст: параметр генерации при sampling. Важно: допустимые диапазоны и даже сама поддержка параметра зависят от модели и endpoint.

Простыми словами

Грубо говоря, temperature — это ручка, которая регулирует, насколько модель готова отходить от самого очевидного продолжения. При низкой temperature она чаще выбирает наиболее вероятные токены. При более высокой — чаще допускает менее вероятные варианты, поэтому формулировки становятся разнообразнее.

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

Как это работает

Во время генерации модель на каждом шаге оценивает множество возможных следующих токенов. Temperature вмешивается именно в момент выбора: официальные описания OpenAI и Google связывают её с тем, как часто система выбирает менее вероятные токены. В документации Hugging Face это параметр генерации, который используется при sampling.

Для Gemini API Google указывает диапазон [0.0, maxTemperature], где верхняя граница зависит от конкретной модели. Для OpenAI точный поддерживаемый диапазон нужно проверять в документации конкретного endpoint: в источниках для этой статьи есть только общее определение и рекомендации по применению, но не единый универсальный предел для всех поверхностей продукта.

Промпт
  ↓
Модель оценивает кандидаты следующего токена
  ↓
Применяется temperature
  ↓
При необходимости учитываются top_p / top_k
  ↓
Если используется sampling → выбирается токен
  ↓
Токен добавляется в ответ
  ↓
Цикл повторяется до завершения
  1. Вы отправляете промпт.
  2. Модель получает распределение вероятных продолжений.
  3. temperature влияет на то, насколько охотно система берёт менее вероятные токены.
  4. В некоторых стеках рядом применяются top_p и top_k; Google прямо рассматривает их вместе.
  5. Если sampling не используется, роль temperature может быть ограничена. В Hugging Face это особенно важно: поведение зависит от включённого do_sample.

Отсюда практическое следствие: temperature — не «улучшатель качества», а регулятор вариативности при декодировании. Она помогает менять характер ответа, но не исправляет плохой промпт и не заменяет проверку фактов.

Где применяется

  • Фактические задачи и извлечение данных. OpenAI рекомендует temperature 0 для factual extraction и truthful Q&A, когда важнее предсказуемость, чем вариативность формулировок.
  • Генерация нескольких вариантов формулировки. Когда вам нужны разные версии ответа, temperature используют как ручку вариативности. Это типичный случай и для API, и для локального инференса.
  • Локальные и open-source пайплайны. В Hugging Face temperature входит в GenerationConfig; если значение не задано в generation_config.json, документация указывает значение по умолчанию 1.0.
  • Тонкая настройка под конкретную модель. В Gemini это применимо только там, где параметр вообще поддерживается. Для Gemini 3.x Google в целом рекомендует не менять sampling-параметры без необходимости, потому что это может вызывать зацикливание или деградацию результата.

Практический пример

Ниже — не «магическое значение», а рабочий сценарий проверки temperature без догадок. Он опирается только на то, что подтверждено документацией.

Схематичный фрагмент GenerationConfig

do_sample: true
temperature: <значение, если модель поддерживает параметр>
  1. Если задача фактическая — начните с temperature 0 там, где платформа это поддерживает. Это прямо соответствует рекомендации OpenAI для factual extraction и truthful Q&A.
  2. Если вы работаете через Hugging Face — проверьте, включён ли do_sample. Без sampling temperature может не дать ожидаемого эффекта.
  3. Если вы работаете с Gemini 3.x — сначала оставьте temperature, top_p и top_k на значениях по умолчанию. Если страница модели указывает, что параметр устарел или не поддерживается, удалите его из запроса.
  4. Сравнивайте повторяемость на одинаковом промпте. Если ответы стали менее устойчивыми, это не обязательно ошибка модели — возможно, вы просто усилили вариативность декодирования.

Если вам нужен отдельный прикладной разбор сочетания temperature и top_p, полезно начать с материала Как настроить Temperature и Top-p для контроля генерации.

Чем отличается от do_sample, top_p и top_k

Параметр Что делает Ключевое отличие от temperature
temperature Управляет случайностью выбора следующего токена. Это именно регулятор вариативности: ниже — обычно более детерминированно, выше — более вариативно.
do_sample В Hugging Face включает режим sampling. Это не уровень случайности, а переключатель режима. Без него temperature может не иметь практического эффекта.
top_p / top_k Связанные sampling-параметры, которые в ряде API настраиваются вместе с temperature. Google рассматривает их как соседние регуляторы декодирования и для Gemini 3.x в целом советует оставлять по умолчанию.

Частая путаница возникает и с терминами из других этапов ML. Например, learning rate (скорость обучения) звучит похоже как «числовая ручка модели», но это уже другой слой работы системы.

Ограничения и заблуждения

  • Заблуждение: «чем выше temperature, тем лучше креативность». На практике: официальные источники говорят о большей вариативности, но не обещают роста качества. В Gemini 3.x изменение sampling-параметров может вызвать зацикливание или деградацию результата.
  • Заблуждение: «temperature есть у любой модели». На практике: в последних миграционных заметках Gemini указано, что при переходе с ряда старых моделей нужно удалять устаревшие sampling-параметры, а Gemini 3.6 Flash их уже не поддерживал.
  • Заблуждение: «temperature всегда работает одинаково». На практике: точные диапазоны и правила зависят от конкретной модели и endpoint. Для Gemini Google даёт модельно-зависимую верхнюю границу, для OpenAI диапазон нужно проверять по документации нужного endpoint.
  • Заблуждение: «temperature влияет всегда». На практике: в Hugging Face её смысл привязан к sampling; документация отдельно подчёркивает зависимость от do_sample.
  • Заблуждение: «temperature решает операционные вопросы вокруг API». На практике: она не связана с хранением данных или политиками использования. Для OpenAI такие условия зависят от endpoint и аккаунта и проверяются отдельно в документации по data controls.

Редакционное ограничение: эта статья объясняет принцип temperature и подтверждённые caveats по состоянию на 2026-08-16, но не перечисляет универсальный диапазон значений для всех API. В supplied sources прямо указано, что диапазоны и поддержка зависят от модели или endpoint, поэтому перед внедрением сверяйтесь со страницей конкретной модели.

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

Источники

Вопросы и ответы

Temperature 0 — это всегда полностью детерминированный ответ?

Официальные источники связывают низкую temperature с более детерминированным поведением, а OpenAI рекомендует 0 для factual extraction и truthful Q&A. Но точная реализация зависит от модели и endpoint, поэтому проверяйте документацию конкретной платформы.

Можно ли поднимать temperature на Gemini 3.x ради разнообразия?

Google в целом рекомендует для Gemini 3.x не менять temperature, top_p и top_k относительно значений по умолчанию, потому что это может привести к зацикливанию или ухудшению результата. Кроме того, в части новых моделей эти параметры уже удаляются или не поддерживаются.

Почему temperature иногда как будто ничего не меняет?

В open-source сценариях это часто связано с тем, что sampling не включён. Документация Hugging Face прямо указывает, что поведение temperature зависит от do_sample.

Есть ли один правильный диапазон temperature для всех LLM?

Нет. Для Gemini Google описывает диапазон [0.0, maxTemperature] с модельно-зависимой верхней границей. Для OpenAI точные лимиты и поведение нужно смотреть в документации нужного endpoint.

Связана ли temperature с хранением моих данных в API?

Нет. Это параметр генерации, а не политика данных. Для OpenAI условия хранения и использования данных зависят от endpoint и аккаунта и описаны в отдельной документации.

Источники

SOURCES

Вопросы и ответы

FAQ
Temperature 0 — это всегда полностью детерминированный ответ?

Официальные источники связывают низкую temperature с более детерминированным поведением, а OpenAI рекомендует 0 для factual extraction и truthful Q&A. Но точная реализация зависит от модели и endpoint, поэтому проверяйте документацию конкретной платформы.

Можно ли поднимать temperature на Gemini 3.x ради разнообразия?

Google в целом рекомендует для Gemini 3.x не менять temperature, top_p и top_k относительно значений по умолчанию, потому что это может привести к зацикливанию или ухудшению результата. Кроме того, в части новых моделей эти параметры уже удаляются или не поддерживаются.

Почему temperature иногда как будто ничего не меняет?

В open-source сценариях это часто связано с тем, что sampling не включён. Документация Hugging Face прямо указывает, что поведение temperature зависит от do_sample.

Есть ли один правильный диапазон temperature для всех LLM?

Нет. Для Gemini Google описывает диапазон [0.0, maxTemperature] с модельно-зависимой верхней границей. Для OpenAI точные лимиты и поведение нужно смотреть в документации нужного endpoint.

Связана ли temperature с хранением моих данных в API?

Нет. Это параметр генерации, а не политика данных. Для OpenAI условия хранения и использования данных зависят от endpoint и аккаунта и описаны в отдельной документации.

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

LINKS