Основы
Что контролируют температура и 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 остаётся на значении по умолчанию у каждого поставщика.