Перейти к основному содержимому

Основы

Что контролируют температура и top-p?

Температура и top-p решают, как модель выбирает следующий токен, а не что она знает. Что на самом деле меняет каждая настройка, почему меньше не значит лучше и почему температура ноль всё равно не даёт идеальной повторяемости.

Все разборы · Последняя проверка:

Они меняют форму выбора, а не знания модели

К моменту, когда вступают в силу температура или top-p, модель уже вычислила вероятность для каждого возможного следующего токена с учётом текущего контекста. Ни одна из настроек не меняет источник этих вероятностей — выученные параметры модели и данный ей контекст. Они лишь меняют, как выбирается токен из уже полученного моделью распределения.

Температура регулирует, насколько резким или плоским становится это распределение

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

Температура не добавляет информации, которой у модели нет. Она не может превратить неверную догадку в верную; она лишь меняет, насколько уверенно модель придерживается той догадки, которую уже предпочитает.

Top-p ограничивает, какие токены вообще рассматриваются

Top-p, также называемый nucleus sampling, работает иначе, чем температура: вместо изменения формы каждой вероятности он сначала сужает поле до наименьшего набора лучших токенов, чьи вероятности в сумме достигают выбранного порога, а затем выбирает только из этого набора. Низкий top-p оставляет лишь горстку токенов, в которых модель наиболее уверена; высокий top-p впускает более широкий спектр правдоподобных альтернатив. Температуру и top-p обычно применяют вместе, один за другим, а не как замену друг другу.

Температура ноль близка к детерминированной, но не полностью

Температура ноль, или эквивалентная настройка «всегда выбирать самый вероятный токен», убирает этап сэмплирования и в принципе должна делать результат воспроизводимым для одинакового входа. На практике арифметика с плавающей запятой на GPU не строго независима от порядка вычислений, а инфраструктура поставщика может группировать или иначе переупорядочивать вычисления между запросами. В результате один и тот же запрос, отправленный дважды с самой детерминированной настройкой, всё равно может изредка вернуться другим, особенно когда два токена-кандидата были почти равны.

Более низкая настройка не значит автоматически лучшая

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

Правильная настройка зависит от того, для чего нужен результат

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

Частые вопросы

Делает ли температура ноль результат детерминированным?
Почти, но не гарантированно. Она убирает намеренную случайность сэмплирования, но вычисления с плавающей запятой и группировка на стороне поставщика всё равно могут изредка дать другой токен при точном равенстве или очень близком выборе, поэтому одинаковые запросы обычно — но не всегда — одинаковы.
В чём разница между температурой и top-p?
Температура меняет форму вероятности каждого возможного следующего токена. Top-p сначала сужает поле до наименьшего набора лучших кандидатов, чьи вероятности превышают порог, а затем выбирает только из этого набора. Они действуют на одно и то же распределение по-разному и часто применяются вместе.
Делает ли более высокая температура модель более творческой или более знающей?
Она меняет разнообразие формулировок, а не знания или рассуждения. Более высокая температура может давать более разнообразные формулировки, но по-прежнему опирается на те же выученные параметры и с той же вероятностью может выдать менее вероятное, более слабое продолжение.
Стоит ли всегда использовать самую низкую настройку для фактических задач?
Более низкая настройка делает результат более согласованным, что помогает, когда согласованность и есть цель, но не исправляет неверный ответ по существу — результат при низкой температуре может быть уверенно и стабильно неверным. Проверка фактического утверждения по-прежнему требует независимого источника или проверки.

Лучше попробовать, чем читать

ClawAI предоставляет настройку температуры для каждого разговора, которая применяется к тому поставщику, который обрабатывает запрос; top-p как настройка не предоставляется, поэтому nucleus sampling остаётся на значении по умолчанию у каждого поставщика.