Temperature и top-p: как настроить генерацию под задачу
Temperature и top-p часто называют регуляторами креативности, но такое объяснение слишком грубое для рабочей настройки. Параметры влияют на выбор следующего токена, а итог зависит ещё от версии модели, промпта, длины контекста и включённых инструментов. Поэтому не существует универсального «правильного» значения. Есть воспроизводимый тест, который показывает, какой режим подходит именно вашей задаче.
Зафиксируйте условия эксперимента
Выберите одну модель и запишите её точное имя, версию, дату, режим рассуждения и лимиты. Отключите поиск, память и внешние инструменты, если они могут менять входные данные. Сохраните промпт в отдельном файле и не исправляйте его между прогонами.
Подготовьте три разных типа задания:
- извлечь факты и сохранить даты, числа и отрицания;
- предложить новые темы без повторов;
- написать небольшую функцию с заданным тестом.
Для каждого задания сделайте минимум три повтора. Начните с низкой случайности, затем изменяйте только один параметр. Если сервис принудительно выставляет собственные значения или игнорирует настройку, запишите это в журнал — такой результат тоже важен.
Что означает temperature
Temperature изменяет относительную вероятность менее очевидных продолжений. Низкое значение обычно даёт близкие ответы и помогает в классификации, извлечении полей и технических инструкциях. Более высокое расширяет выбор формулировок и ход рассуждения, но увеличивает риск пропуска условия, повтора или уверенной выдумки.
Параметр не делает модель умнее или глупее. Он меняет характер выборки. Если исходные данные неполные, высокая температура не добавит фактов — она лишь увеличит число возможных догадок.
Что ограничивает top-p
Top-p оставляет для выбора совокупность наиболее вероятных кандидатов, пока их вероятность не достигнет заданного порога. При меньшем значении набор уже, при значении около единицы ограничение слабее. Эффект заметнее в длинных и творческих ответах, а на короткой классификации может быть почти незаметен.
Не меняйте temperature и top-p одновременно. Иначе невозможно установить причину различий. Сначала закрепите top-p и проведите серию по temperature, затем вернитесь к исходному значению и отдельно исследуйте top-p.
Журнал измерений
Записывайте не впечатление, а конкретный дефект и стоимость исправления. Оценка 1–5 полезна только вместе с примером: «потеряна дата», «две темы повторяют друг друга», «код не проходит тест».
| Задание | Конфигурация | Повторяемость | Условия соблюдены | Исправления |
|---|---|---|---|---|
| Факты | низкая temperature | 5 | 5 | оформление списка |
| Факты | средняя temperature | 4 | 4 | вернуть отрицание |
| Идеи | высокая temperature | 2 | 3 | удалить повторы |
| Код | низкая temperature | 5 | 4 | добавить проверку null |
Эти строки — пример формы, а не готовый рейтинг. Заполняйте журнал своими ответами и сохраняйте исходные тексты, чтобы коллега мог перепроверить оценку.
Подберите режим по цене ошибки
Для финансовых таблиц, инструкций, юридических формулировок и извлечения данных начинайте с низкой temperature и строгого формата. Повторяемость важнее разнообразия. Для мозгового штурма повышайте параметр ступенчато и после каждого шага считайте долю действительно новых идей.
Для кода случайность не отменяет запуск тестов. Сохраните рабочую версию, а новые ответы сравнивайте с ней по поведению, а не по стилю. Если модель предлагает разные реализации, используйте тесты и ревью, а не выбор «самого красивого» фрагмента.
Порог остановки
До начала прогона определите условие завершения. Для фактического ответа достаточно трёх повторов без новых ошибок. Для идей можно остановиться, когда два запуска подряд дают меньше двух новых пунктов после удаления повторов. Порог экономит токены и не превращает настройку в бесконечный поиск идеального числа.
Считайте полную стоимость: запросы плюс время редактора. Иногда более свободный режим создаёт столько исправлений, что дешёвый ответ становится дороже стабильного. Для оценки затрат используйте калькулятор стоимости, а число токенов фиксируйте отдельно.
Что делать, если ответы «плывут»
Проверьте, не изменился ли контекст, системная инструкция или версия модели. Укоротите историю, уберите неоднозначные слова и добавьте требование сообщать о нехватке данных. Если различия остаются, разделите процесс: сначала извлечение фактов в стабильном режиме, затем творческая генерация, и в конце ручная проверка.
Не отправляйте в эксперимент персональные данные и закрытые документы. Обезличьте примеры или используйте локальную модель. Версию промпта и настройки храните вместе с результатом, чтобы повторить тест после обновления сервиса.
Собственная иллюстрация для статьи
Если объясняете параметры читателю, достаточно одной схемы вероятностей или таблицы из собственного эксперимента. Не копируйте скриншот чужого кабинета. Собственный график подпишите датой и версией модели, а персональные данные в примере закройте. Сгенерированную картинку обозначьте как иллюстрацию, а не как скриншот реального интерфейса.
Итоговый чек-лист
- Модель, версия и дата записаны.
- Промпт и контекст одинаковы во всех прогонах.
- Параметры изменялись по одному.
- Выполнены повторы для фактов, идей и кода.
- Ошибки описаны конкретно, а не только оценкой.
- Стоимость исправлений учтена.
- Данные обезличены, а версия результата сохранена.
- Для кода есть тест, для фактов — источник, для идей — фильтр повторов.
Пошаговая настройка для новой задачи
Начните с одной контрольной конфигурации: низкая temperature, зафиксированный top-p и неизменный промпт. Прогоните пять примеров и отметьте не только ошибки, но и места, где модель сообщила о нехватке данных. Затем измените только temperature на один шаг и повторите тот же набор. Если ответы стали разнообразнее, проверьте, не выросла ли цена ручной правки.
После этого вернитесь к исходной temperature и отдельно измените top-p. Сравнивайте пары по одинаковым критериям: факты, формат, повторы и время до принятого результата. Настройка, которая выглядит живее, но требует переписывать каждый ответ, не является улучшением для рабочей задачи.
Сохраните финальную конфигурацию вместе с моделью и датой теста. При смене версии провайдера повторите короткий контрольный набор, даже если числа параметров остались прежними: распределение вероятностей могло измениться. Для критичных процессов оставляйте стабильный режим по умолчанию, а свободные параметры включайте только в отдельном этапе генерации идей.
Temperature и top-p — не декоративные ползунки, а часть контракта между задачей и моделью. Выбирайте их по риску, измеряйте повторяемость и фиксируйте условия. Тогда настройку можно объяснить, повторить после обновления и вовремя отменить, если разнообразие начинает вредить точности.