Выборка Top-P
Выборка Top-P (Top P sampling, также nucleus sampling или выборка по ядру) — продвинутый параметр генерации текста в LLM. Он контролирует оригинальность генерируемого текста посредством динамического ограничения множества кандидатов на основе их общей вероятности. Параметр P определяет минимальную суммарную вероятность наиболее вероятных токенов, из которых производится выборка.
Описание[править]
При генерации каждого следующего токена языковая модель вычисляет распределение вероятностей для всех токенов в словаре. Все возможные токены сортируются по убыванию их вероятностей, затем токены добавляются в ядро последовательно, начиная с наиболее вероятного, до тех пор, пока суммарная вероятность не достигнет или превысит заданное значение P. После этого вероятности токенов внутри ядра перенормализуются так, чтобы их сумма равнялась 1. Затем из полученного ядра случайным образом выбирается один токен, который и определяет продолжение текста.
Параметр Top P принимает значения в диапазоне от 0 до 1, для простоты обычно выбираются значения, которые кратны для 0.1 или 0.05.
При малых значениях, таких как 0.1, осуществляется максимально консервативная генерация. Модель выбирает из минимального набора наиболее вероятных токенов. Текст получается предсказуемым, повторяющимся, унылым но грамматически корректным. При 0.5 происходит умеренная генерация, повторяться текст может, но при этом достигается высокая точность. Во многих современных ассистентах применяется значение в 0.9, где выдаётся довольно оригинальный текст, в котором могут быть ошибки. При значениях в 0.95-1.0 уже может попереть явный бред.
Особенности[править]
При острых распределениях, когда один токен имеет очень высокую вероятность, Top P может выбирать из одного-двух токенов, а при плоских распределениях из десятков. Top K вообще никак не адаптируется к форме распределения. Для формирования распределения используется параметр температуры. Top P всегда применяется после модификации распределения температурой.