---
title: "Температура (LLM)"
source: "https://systems-analysis.info/wiki/%D0%A2%D0%B5%D0%BC%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D1%83%D1%80%D0%B0_(LLM)"
wiki: "systems-analysis.info/wiki"
article: "Температура_(LLM)"
language: "ru"
categories:
  - "Категория:Russian"
  - "Категория:Базовые понятия LLM"
  - "Категория:Большие языковые модели"
  - "Категория:Машинное обучение"
revision_id: 414
wiki_created_at: 2026-09-06T22:08:32Z
wiki_modified_at: 2026-09-06T22:08:32Z
downloaded_at: 2026-09-07T22:19:39Z
---

# Температура (LLM)

**Температура** (англ. Temperature) в контексте [больших языковых моделей](https://systems-analysis.info/wiki/%D0%91%D0%BE%D0%BB%D1%8C%D1%88%D0%B8%D0%B5_%D1%8F%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2%D1%8B%D0%B5_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8 "Большие языковые модели") (LLM) — это гиперпараметр, который контролирует уровень случайности и «креативности» при генерации текста. Он регулирует «резкость» или, наоборот, «разглаженность» вероятностного распределения следующего [токена](https://systems-analysis.info/wiki/%D0%A2%D0%BE%D0%BA%D0%B5%D0%BD "Токен") на каждом шаге декодирования. Манипулируя температурой, можно управлять балансом между предсказуемостью (когерентностью) и разнообразием (креативностью) генерируемого текста.

## Простое объяснение

**Температура** — это параметр, который задаёт, **насколько осторожно или, наоборот, свободно модель выбирает следующее слово**. У большой языковой модели почти никогда нет только одного возможного продолжения: обычно на каждом шаге есть несколько подходящих вариантов, и у каждого из них своя вероятность. Температура влияет не на сами знания модели и не на то, «что она знает», а на то, **как именно она выбирает** между этими вариантами при генерации.

При **низкой температуре** модель ведёт себя более консервативно. Она сильнее «доверяет» самым вероятным словам и реже отклоняется от наиболее ожидаемого продолжения. В результате текст обычно получается более ровным, предсказуемым, формально правильным и последовательным. Такой режим полезен там, где важны точность формулировок, стабильность ответа, повторяемость результата и минимизация лишней вариативности. Однако у этого подхода есть и обратная сторона: текст может становиться слишком шаблонным, сухим, однообразным и иногда излишне «осторожным». При чрезмерно низкой температуре модель может даже начать бесконечно повторять одни и те же конструкции (попадать в цикл), «застревая» на самых вероятных, но не всегда уместных продолжениях.

При **высокой температуре** модель ведёт себя смелее. Она чаще допускает выбор не только самых вероятных, но и менее очевидных слов. За счёт этого ответы становятся более разнообразными, живыми, нестандартными и иногда более оригинальными. Это может быть полезно в творческих задачах, при мозговом штурме, генерации идей, художественных текстов или поиске нескольких разных формулировок. Но вместе с ростом разнообразия увеличивается и риск: текст может стать менее связным, менее точным, а в крайних случаях — странным, нелогичным или случайным.

Удобная интуиция состоит в том, что температура — это **не регулятор знаний, а регулятор риска при выборе слов**. Низкая температура заставляет модель почти всегда выбирать «самый безопасный» вариант. Высокая — позволяет ей чаще «рисковать» и пробовать менее очевидные продолжения.

Ещё один полезный образ: температуру можно сравнить с тем, как человек отвечает на вопрос. Если требуется официальный, точный и аккуратный ответ, человек, как правило, выбирает наиболее нейтральные и ожидаемые формулировки — это похоже на низкую температуру. Если же задача состоит в том, чтобы придумать необычную идею, метафору, сюжетный ход или несколько нестандартных вариантов, формулировки становятся свободнее и смелее — это похоже на высокую температуру.

Таким образом, температура отвечает за баланс между двумя свойствами генерации:

- **предсказуемостью и устойчивостью** ответа;
- **разнообразием и неожиданностью** формулировок.

Чем ниже температура, тем ближе модель к наиболее вероятному и стандартному продолжению. Чем выше температура, тем больше пространство для вариативности, но тем слабее контроль над строгостью и связностью результата.

## Теоретическое определение

Математически, температура ($T$) вводится как делитель в функцию **softmax**, которая преобразует выходные логиты модели ($u_{i}$) в распределение вероятностей ($P_{i}$). Формула выглядит следующим образом:

$P_{i}^{(T)} = \frac{e^{u_{i}/T}}{\sum\limits_{j}e^{u_{j}/T}}$

Где:

- $P_{i}^{(T)}$ — итоговая вероятность $i$-го токена при температуре $T$.
- $u_{i}$ — логит (не нормализованная оценка) для $i$-го токена, выданный моделью.
- $T$ — параметр температуры (строго положительное число). Например, в API OpenAI для большинства моделей допустимый диапазон составляет от 0 до 2.0, где 0 — специальный случай greedy decoding (см. ниже). В других библиотеках (Hugging Face Transformers, [llama](https://systems-analysis.info/wiki/LLaMA "LLaMA").cpp) температура может принимать любое положительное значение.

**Важно:** температура влияет на вывод **только в режимах с sampling**. В режимах без сэмплирования (greedy decoding, классический beam search) параметр температуры не оказывает эффекта. Например, в Hugging Face Transformers для работы температуры необходимо включить `do_sample=True`.

### Влияние значения температуры

- **$T = 1$ (стандартное значение):** Распределение вероятностей остаётся без изменений. Это стандартный softmax, который отражает исходные предсказания модели.
- **$T < 1$ (низкая температура, например, $0.2$ – $0.7$):** Распределение становится более **острым** или **пиковым**. Вероятности наиболее вероятных токенов увеличиваются, а маловероятных — уменьшаются. Это делает генерацию более детерминированной и предсказуемой. Модель чаще выбирает очевидные, высокочастотные слова, что повышает когерентность и грамматическую правильность текста, но снижает его разнообразие.
- **$T > 1$ (высокая температура, например, $1.1$ – $1.5$):** Распределение становится более **гладким** или **равномерным**. Разница между вероятностями токенов сглаживается, что увеличивает шанс выбора менее вероятных (и более «неожиданных») токенов. Это делает текст более креативным, разнообразным и непредсказуемым, но повышает риск генерации бессвязных или грамматически неверных фраз.

### Граничные случаи

- **$T \rightarrow 0$:** В пределе, когда температура стремится к нулю, softmax-функция превращается в argmax. Модель всегда будет выбирать токен с наивысшим логитом. Этот режим эквивалентен **жадному декодированию (greedy decoding)** и является полностью детерминированным. Он часто приводит к повторяющемуся и шаблонному тексту. **Примечание:** значение $T = 0$ нельзя подставить в формулу напрямую (деление на ноль); во многих реализациях оно обрабатывается как специальный режим максимально консервативного выбора, близкий к greedy decoding. При этом не все hosted API гарантируют полную детерминированность при $T = 0$ — например, в Anthropic API даже при нулевой температуре результаты могут незначительно варьироваться.
- **$T \rightarrow \infty$:** Когда температура стремится к бесконечности, распределение вероятностей становится **равномерным**. Все токены в словаре становятся равновероятными, и модель генерирует случайный «поток сознания», полностью теряя когерентность. На практике бесконечность не нужна: уже при $T > 2.0$ распределение становится почти равномерным, и текст превращается в бессвязный набор токенов.

## Практическое применение и рекомендации

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

- **Для творческих задач** (написание рассказов, стихов, маркетинговых слоганов):
  - Рекомендуется **более высокая температура ($T \approx 0.7 - 1.2$)**.
  - Это стимулирует модель генерировать более неожиданные и креативные идеи, использовать разнообразную лексику и избегать шаблонных фраз.

<!-- -->

- **Для задач, требующих точности и фактологичности** (ответы на вопросы, суммаризация, генерация кода):
  - Рекомендуется **низкая температура ($T \approx 0.0 - 0.4$)**.
  - Это снижает вариативность и повышает воспроизводимость результата, заставляя модель придерживаться наиболее вероятных продолжений текста. При $T = 0$ генерация становится детерминированной (при фиксированном seed и отсутствии других источников случайности), что полезно для тестирования и отладки, но может маскировать проблемы, проявляющиеся только при сэмплировании. Однако низкая температура сама по себе **не гарантирует фактическую точность** — если модель не обладает нужным знанием, она может уверенно генерировать неверный ответ. Для максимальной фактологичности рекомендуется комбинировать низкую температуру с методами поиска по базе знаний (RAG) и улучшенным промптингом. В документации OpenAI для задач извлечения данных и фактологических ответов рекомендуется $T = 0$.

<!-- -->

- **Для задач reasoning, математики и генерации кода:**
  - Как правило, используются **более низкие температуры**, однако оптимальное значение заметно зависит от конкретной модели и задачи.
  - **Примечание:** в некоторых reasoning-моделях (например, семейство OpenAI o1/o3) параметры sampling могут быть **ограничены или зафиксированы** на стороне провайдера. Внутренний chain-of-thought требует стабильного распределения, поэтому провайдеры могут полностью блокировать изменение температуры или принимать пользовательские значения только в узком диапазоне.

<!-- -->

- **Для диалоговых систем и чат-ботов:**
  - Рекомендуется **умеренная температура ($T \approx 0.5 - 0.8$)**.
  - Это позволяет найти баланс: ответы остаются связными и по теме, но при этом не становятся слишком сухими и однообразными.

**Примечание:** в документации OpenAI API рекомендуется изменять **либо** temperature, **либо** top_p, но **не оба параметра одновременно** — иначе поведение становится сложно предсказуемым. В справочных примерах OpenAI API в качестве значения по умолчанию обычно фигурирует $T = 1.0$.

## Сравнение с Top-k и Top-p

Температура, в отличие от методов отсечения, таких как **[Top-k](https://systems-analysis.info/wiki/Top-k "Top-k")** и **[Top-p](https://systems-analysis.info/wiki/Top-p "Top-p") (nucleus sampling)**, работает по-другому:

- **Температура** **перераспределяет** вероятности между всеми токенами в словаре, но **не отсекает** ни одного из них. Даже при очень низкой температуре у маловероятных токенов остаётся мизерный, но ненулевой шанс быть выбранными.
- **Top-k** и **Top-p** вводят **жёсткое отсечение**, полностью исключая токены, не попавшие в ядро выборки. Такое отсечение уменьшает риск выбора хвостовых токенов, но само по себе является грубой эвристикой и может отбрасывать правдоподобные продолжения с ненулевой «истинной» вероятностью.

На практике эти параметры часто используются совместно. Например, можно установить умеренную температуру (например, $T = 0.8$) для общей стилистики и добавить Top-p (например, $p = 0.9$), чтобы отсечь «хвост» распределения и уменьшить риск грубых ошибок. При очень низкой температуре ($T \rightarrow 0$) Top-p фактически теряет смысл, так как распределение и без того имеет только один значимый пик.

## Взаимодействие температуры с другими параметрами декодирования

Температура почти никогда не используется в изоляции. На практике её комбинируют с другими гиперпараметрами для тонкой настройки баланса «креативность ↔ надёжность».

### Типичный порядок применения параметров

В распространённых sampling-реализациях (в частности, Hugging Face Transformers) параметры обычно применяются в следующем порядке:

1.  Модель выдаёт **сырые логиты** ($u_{i}$).
2.  Применяются **штрафы за повторения** (repetition / frequency / presence penalty) — изменение логитов на основе уже сгенерированных токенов.
3.  **Температура** масштабирует логиты: $u_{i}/T$.
4.  Применяется **softmax** → получается новое распределение вероятностей.
5.  **Отсечение (truncation):** сначала Top-k (если задан), затем Top-p или Min-p.
6.  Из оставшегося «ядра» происходит **случайная выборка** (sampling).

В этой типичной схеме температура меняет форму распределения **после** применения штрафов за повторения, но **до** softmax и фильтрации. Поэтому одна и та же $top\_ p = 0.9$ при $T = 0.2$ и при $T = 1.5$ даёт совершенно разный размер «ядра». Штрафы и температура взаимодействуют нелинейно — это важно учитывать при подборе параметров. Внутренний порядок применения в hosted API (OpenAI, Anthropic) публично не документирован на таком уровне детализации.

### Top-p (nucleus sampling) и Min-p

**Min-p** (minimum probability sampling) — относительно новый метод отсечения, задающий нижний порог вероятности относительно наиболее вероятного токена (обычно 0.05–0.1). В отличие от Top-p, он отсекает токены по относительному порогу (привязанному к вероятности лучшего токена, а не к фиксированной кумулятивной массе), что особенно эффективно при высокой температуре (\>0.8): предотвращает выбор совсем неподходящих токенов без значительной потери разнообразия. Min-p поддерживается рядом популярных open-source inference-стеков, включая vLLM и llama.cpp.

### Repetition / Frequency / Presence penalty

Frequency_penalty и presence_penalty (OpenAI API) снижают вероятность повторения уже встречавшихся токенов. Они могут компенсировать один из недостатков низкой температуры — склонность к шаблонности и зацикливанию.

### Typical sampling и Mirostat

Typical sampling (Meister et al., 2023) выбирает токены, чья вероятность близка к «ожидаемой» энтропии контекста. Mirostat (v2) динамически подстраивает параметры отсечения, чтобы целевая [perplexity](https://systems-analysis.info/wiki/Perplexity "Perplexity") оставалась постоянной — это полезно для длинных текстов, где стабильность стиля критична.

### Иллюстративные примеры настройки

Ниже приведены **примерные** конфигурации для различных типов задач. Эти значения не являются рекомендациями общего назначения — оптимальные параметры зависят от конкретной модели, задачи и inference-стека.

| Задача                           | Температура | Возможная комбинация               | Логика                                |
|----------------------------------|-------------|------------------------------------|---------------------------------------|
| Factual Q&A, суммаризация        | 0.0–0.3     | T + top_p=0.9                      | Минимизация случайной вариативности   |
| Генерация кода, математика       | 0.1–0.4     | T + repetition_penalty             | Стабильность + избежание зацикливания |
| Диалоги / чат-боты               | 0.6–0.85    | T + top_p=0.92 или min_p=0.1       | Баланс естественности и связности     |
| Творчество (рассказы, маркетинг) | 0.75–1.1    | T + min_p=0.07–0.1                 | Разнообразие с фильтрацией хвоста     |
| Long-form / агенты               | 0.5–0.8     | Mirostat или T + frequency_penalty | Контроль длины и связности            |

**Общий совет:** не стоит сильно менять одновременно temperature и top_p. Как правило, удобнее зафиксировать один из truncation-параметров и управлять креативностью температурой — это делает поведение модели более предсказуемым.

**Особенность современных aligned-моделей:** в сильно выровненных моделях (прошедших [RLHF](https://systems-analysis.info/wiki/RLHF "RLHF") / [Constitutional AI](https://systems-analysis.info/wiki/Constitutional_AI "Constitutional AI") / RLAIF) эффект высокой температуры ослаблен по сравнению с базовыми моделями — модель реже генерирует бессвязный текст даже при $T = 1.2$. Конкретные оптимальные значения могут меняться с выходом новых поколений моделей; приведённые выше рекомендации актуальны по состоянию на 2025–2026 годы.

## См. также

- [Большие языковые модели](https://systems-analysis.info/wiki/%D0%91%D0%BE%D0%BB%D1%8C%D1%88%D0%B8%D0%B5_%D1%8F%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2%D1%8B%D0%B5_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8 "Большие языковые модели")

## Литература

- Holtzman, A. et al. (2020). *The Curious Case of Neural Text Degeneration*. <a href="https://arxiv.org/abs/1904.09751" class="external text" rel="nofollow">arXiv:1904.09751</a>.
- Caccia, M. et al. (2018). *Language GANs Falling Short*. <a href="https://arxiv.org/abs/1811.02549" class="external text" rel="nofollow">arXiv:1811.02549</a>.
- Fan, A. et al. (2018). *Hierarchical Neural Story Generation*. <a href="https://arxiv.org/abs/1805.04833" class="external text" rel="nofollow">arXiv:1805.04833</a>.
- Meister, C. et al. (2023). *Locally Typical Sampling*. <a href="https://arxiv.org/abs/2202.00666" class="external text" rel="nofollow">arXiv:2202.00666</a>.
- Hewitt, J.; Manning, C.; Liang, P. (2022). *Truncation Sampling as Language Model Desmoothing*. <a href="https://arxiv.org/abs/2210.15191" class="external text" rel="nofollow">arXiv:2210.15191</a>.
- Su, Y.; Collier, N. (2022). *Contrastive Search Is What You Need for Neural Text Generation*. <a href="https://arxiv.org/abs/2210.14140" class="external text" rel="nofollow">arXiv:2210.14140</a>.
- O'Brien, S.; Lewis, M. (2023). *Contrastive Decoding Improves Reasoning in Large Language Models*. <a href="https://arxiv.org/abs/2309.09117" class="external text" rel="nofollow">arXiv:2309.09117</a>.
- Finlayson, M. et al. (2023). *Closing the Curious Case of Neural Text Degeneration*. <a href="https://arxiv.org/abs/2310.01693" class="external text" rel="nofollow">arXiv:2310.01693</a>.
- Shi, C. et al. (2024). *A Thorough Examination of Decoding Methods in the Era of Large Language Models*. <a href="https://arxiv.org/abs/2402.06925" class="external text" rel="nofollow">arXiv:2402.06925</a>.
- Ravfogel, S. et al. (2023). *Conformal Nucleus Sampling*. <a href="https://arxiv.org/abs/2305.02633" class="external text" rel="nofollow">arXiv:2305.02633</a>.
- Sen, J. et al. (2025). *Advancing Decoding Strategies: Enhancements in Locally Typical Sampling for LLMs*. <a href="https://arxiv.org/abs/2506.05387" class="external text" rel="nofollow">arXiv:2506.05387</a>.
- Basu, S. et al. (2021). *Mirostat: A Perplexity-Controlled Neural Text Decoding Algorithm*. <a href="https://arxiv.org/abs/2007.14966" class="external text" rel="nofollow">arXiv:2007.14966</a>.
- Nguyen, M. N. et al. (2025). *Turning Up the Heat: Min-p Sampling for Diverse and High-Quality Text Generation*. <a href="https://arxiv.org/abs/2407.01082" class="external text" rel="nofollow">arXiv:2407.01082</a>.
- Renze, M.; Guven, E. (2024). *The Effect of Sampling Temperature on Problem Solving in Large Language Models*. <a href="https://arxiv.org/abs/2402.05201" class="external text" rel="nofollow">arXiv:2402.05201</a>.
- Zhang, S. et al. (2024). *EDT: Improving Large Language Models' Generation by Entropy-based Dynamic Temperature Sampling*. <a href="https://arxiv.org/abs/2403.14541" class="external text" rel="nofollow">arXiv:2403.14541</a>.
- Li, L. et al. (2025). *Exploring the Impact of Temperature on Large Language Models: Hot or Cold?*. <a href="https://arxiv.org/abs/2506.07295" class="external text" rel="nofollow">arXiv:2506.07295</a>.
