Температура (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 → выбирается токен ↓ Токен добавляется в ответ ↓ Цикл повторяется до завершения
- Вы отправляете промпт.
- Модель получает распределение вероятных продолжений.
temperatureвлияет на то, насколько охотно система берёт менее вероятные токены.- В некоторых стеках рядом применяются
top_pиtop_k; Google прямо рассматривает их вместе. - Если 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: <значение, если модель поддерживает параметр>
- Если задача фактическая — начните с
temperature 0там, где платформа это поддерживает. Это прямо соответствует рекомендации OpenAI для factual extraction и truthful Q&A. - Если вы работаете через Hugging Face — проверьте, включён ли
do_sample. Без sampling temperature может не дать ожидаемого эффекта. - Если вы работаете с Gemini 3.x — сначала оставьте
temperature,top_pиtop_kна значениях по умолчанию. Если страница модели указывает, что параметр устарел или не поддерживается, удалите его из запроса. - Сравнивайте повторяемость на одинаковом промпте. Если ответы стали менее устойчивыми, это не обязательно ошибка модели — возможно, вы просто усилили вариативность декодирования.
Если вам нужен отдельный прикладной разбор сочетания 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 и Top-p для контроля генерации
- Beam Search
- Perplexity (перплексия)
- Learning rate (скорость обучения)
Источники
- Models API | Gemini API | Google AI for Developers
- Prompting strategies | Gemini API | Google AI for Developers
- Latest model | Gemini API | Google AI for Developers
- Best practices for prompt engineering with the OpenAI API
- Text generation
- Your data | OpenAI Platform
Вопросы и ответы
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 и аккаунта и описаны в отдельной документации.