Словарь ИИ
Что такое 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 ставить?
Источники
Где это применяют в компании
Не уверены, нужно ли это вашей компании?
Карта ИИ-решений