ММООЗЗГГ.ru

Словарь ИИ

Что такое top-p

Коротко

Top-p (nucleus sampling) это настройка генерации, при которой модель выбирает следующий токен только среди наиболее вероятных вариантов, чья суммарная вероятность достигает порога p.

Языковые модели · nucleus sampling

Михаил МозгПроверено: 1 минута чтения

Ребенку

Представь, что ты выбираешь мороженое в кафе. Если очень хочется шоколадного или клубничного, ты берешь из двух-трех любимых. Если тебе все равно, смотришь на большую часть витрины. Но странные вкусы вроде горчичного ты не берешь никогда. Нейросеть выбирает слова похожим способом: отбрасывает совсем неподходящие и тянет из оставшихся.

Простыми словами

Когда модель пишет ответ, на каждом шаге у нее есть список возможных следующих слов с шансами. Можно выбирать из всего списка, но тогда изредка попадаются нелепые варианты из длинного хвоста. Эта настройка отсекает хвост. Варианты сортируют по шансам и берут сверху, пока их сумма не достигнет порога, например девяноста процентов. Если модель уверена, в наборе остаются одно-два слова. Если сомневается, набор расширяется. Так текст остается живым, но не уходит в бессмыслицу.

Для бизнеса

Параметр задается в запросе к API или в настройках сервиса и, как температура, ничего не стоит, но влияет на стабильность ответов. Для извлечения данных из документов, классификации заявок и ответов по регламенту его опускают, чтобы модель держалась наиболее вероятных формулировок. Для рекламных текстов и идей оставляют высоким. Частая ошибка: менять одновременно его и температуру, а потом не понимать, какой из двух дал эффект. Удобнее двигать что-то одно. Значение фиксируют в конфигурации агента и проверяют на наборе типовых заявок, прежде чем пускать его к живым клиентам.

Для специалиста

Ядерное сэмплирование (nucleus sampling) предложили Holtzman и соавторы (2019, опубликовано на ICLR 2020). Они показали, что декодирование с максимизацией правдоподобия, в том числе лучевой поиск, дает скучный и повторяющийся текст, а чистое сэмплирование из полного распределения тянет ненадежный хвост маловероятных токенов. Метод берет наименьшее множество токенов, чья суммарная вероятность не ниже p, перенормирует вероятности внутри него и сэмплирует. В отличие от top-k размер множества адаптивен: по наблюдению авторов, ядро обычно содержит от одного до тысячи кандидатов, при плоском распределении оно растет, при остром сжимается. В Hugging Face Transformers параметр top_p по умолчанию равен 1,0, то есть отсечения нет, если модель не задает свое значение в generation_config.json. Родственный фильтр min-p оставляет токены с вероятностью не ниже заданной доли от вероятности наиболее вероятного токена.

Пример

Сервис генерирует описания товаров. С порогом top-p около единицы тексты иногда содержат странные слова, после снижения порога описания становятся ровнее, но остаются разными для похожих товаров.

Связанные термины

Вопросы и ответы

Чем top-p отличается от температуры?

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

Какое значение top-p ставить?

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

Источники

Где это применяют в компании

Не уверены, нужно ли это вашей компании?

Карта ИИ-решений
Написать в Telegram