Я шесть раз попросил домашнюю модель придумать название для кофейни рядом с библиотекой, и шесть раз спросил, сколько будет 17 умножить на 23. С кофейнями вышло пять разных ответов из шести, с умножением — шесть раз 391. Модель та же, запрос тот же, изменилась только одна настройка. Называется она температура.
Откуда берётся разница
Вспомните первый урок: модель пишет текст по одному кусочку и каждый раз оценивает, какой кусочек подойдёт дальше. У одних вероятность выше, у других ниже. Выбрать можно по-разному: всегда брать самый вероятный или иногда рисковать и брать второй, третий.
Температура решает, насколько модель рискует. Ноль — почти всегда берёт самый вероятный кусочек. Чем выше, тем чаще берёт менее вероятный. Отсюда и название: в горячем веществе частицы движутся хаотичнее.
Сама модель от этого не становится ни умнее, ни глупее. Меняется только способ выбирать из того, что она и так считает возможным.
Опыт 1: кофейня и таблица умножения
Два запроса, три температуры, по шесть попыток на каждую, модель Gemma 3 на 4 миллиарда параметров:
- Температура 0. Кофейня: все шесть раз один и тот же список («Страницы и Кофе», «Книжный Чердак», «Библиотекарий»), только один раз в кавычках. Умножение: 391.
- Температура 0,7. Кофейня: пять разных вариантов из шести, появились «Книжный Завар» и «Буквоед». Умножение: 391.
- Температура 1,5. Кофейня: тоже пять из шести, плюс «Книжный Эспрессо» и «Чтение и Напитки». Умножение: 391.
Заметьте две вещи. Даже при нуле повторяемость оказалась не абсолютной: кавычки появились в первом запуске и больше не возвращались. И на высокой температуре «Страницы и Кофе» всё равно встречается почти всегда: модель рискует, но в пределах того, что считает разумным. Безумия не случилось.
Умножение не изменилось вовсе. Когда модель уверена, у правильного кусочка вероятность так велика, что рисковать не с чем. То же вышло с разбором комментариев из прошлого урока: восемь попыток при температурах 0, 1 и 2 дали восемь одинаковых «отзыв». Температура влияет там, где у модели есть выбор.
Опыт 2: случайность можно зафиксировать
У случайности в компьютере есть зерно — число, с которого она начинается. Оно называется seed. Я дважды запустил кофейню при температуре 1 с одним и тем же seed: ответы совпали до буквы. Это удобно, когда надо воспроизвести результат: для отладки, для сравнения двух промптов.
Правда, только у себя дома и только на той же версии модели. Обновили модель или перешли на другую — результат другой.
Другие ручки
- top_p — ограничивает выбор кусочками, которые вместе набирают заданную долю вероятности. При 0,1 все мои пять попыток дали один и тот же список, при 0,95 — пять разных. Обычно крутят что-то одно: или температуру, или top_p.
- Предел длины (num_predict, max_tokens) — сколько токенов модель может написать. Это не просьба быть краткой, а обрезка: с пределом 20 токенов объяснение цвета неба оборвалось на «Солне». Краткость просите в промпте, а предел ставьте как страховку от бесконечного ответа и лишних расходов.
- Усилие (effort) — ручка новых облачных моделей: сколько думать над задачей. Чем больше, тем дольше и дороже. У свежих версий Claude температуры в API больше нет: запрос с ней вернёт ошибку. Осталось усилие. Так что ручки зависят от модели, смотрите документацию своей.
Что когда ставить
- Около нуля: разбор данных, классификация, вычитка текста, код. Нужен один предсказуемый ответ.
- 0,5–0,8: обычное письмо, объяснения. Часто это значение по умолчанию.
- Около 1 и выше: мозговой штурм, названия, варианты. Нужна разница между попытками.
И главное: низкая температура не делает ответ правдивым. Выдуманный рассказ Чехова из третьего урока при нуле просто будет выдуман одинаково. Повторяемость и правда — разные вещи.
Попробуйте сами
В чате с нейросетью ручек обычно нет, так что возьмите домашнюю модель или песочницу вашего сервиса. В Ollama:
ollama run gemma3:4b
>>> /set parameter temperature 0
>>> Придумай название для кофейни. Только название.
>>> /set parameter temperature 1.5
>>> Придумай название для кофейни. Только название.
Повторите каждый запрос раза три. Если ручек нет совсем, задайте один вопрос в трёх новых чатах: увидите разброс при температуре по умолчанию.
Что запомнить
- Температура решает, насколько часто модель берёт не самый вероятный кусочек.
- Низкая — для точной работы, высокая — для идей. Где модель уверена, разницы почти нет.
- Seed повторяет случайность, но только на той же модели. Ноль тоже не гарантирует полного совпадения.
- Предел длины обрезает ответ, а не сокращает. Низкая температура не лечит галлюцинации.
Проверьте себя
- Почему при любой температуре умножение дало 391, а названия менялись?
- Какую температуру поставить для программы, которая раскладывает письма по папкам, и какую для подбора десяти слоганов?
- Модель при температуре 0 назвала несуществующую книгу. Поможет ли запустить ещё раз с тем же значением?
В следующем уроке — локальная модель или облачная: что реально тянет домашний компьютер и когда лучше платить за облако.
Если что-то осталось непонятным — спрашивайте в комментариях, вопросы попадут в следующие уроки.