Top-p

Top-p (также Nucleus Sampling или ядерная выборка) — это метод сэмплирования, применяемый в ИИ, особенно в больших языковых моделях (LLM) для генерации текста. Он служит для управления уровнем случайности и креативности при выборе следующего токена (слова или части слова) в генерируемой последовательности, обеспечивая баланс между предсказуемостью и разнообразием вывода[1].

Принцип действия

Метод Top-p работает следующим образом:

  1. Предсказание вероятностей: Модель нейронной сети предсказывает вероятности для всех возможных следующих токенов в своём словаре. Например, после последовательности "Кошка сидела на..." модель может назначить вероятности: "коврике" (0.4), "полу" (0.2), "столе" (0.15), "окне" (0.1), "диване" (0.08), и так далее.
  2. Сортировка: Токены сортируются по убыванию их предсказанных вероятностей.
  3. Формирование "ядра" (Nucleus): Отбирается минимальный набор (ядро) наиболее вероятных токенов, сумма вероятностей которых больше или равна заданному порогу p. Этот порог p является ключевым параметром метода.
    Пример: Если p = 0.7, и вероятности отсортированы как P(коврике)=0.4, P(полу)=0.2, P(столе)=0.15, P(окне)=0.1, ...
    * Добавляем "коврике". Сумма = 0.4 (< 0.7).
    * Добавляем "полу". Сумма = 0.4 + 0.2 = 0.6 (< 0.7).
    * Добавляем "столе". Сумма = 0.6 + 0.15 = 0.75 (>= 0.7).
    * Останавливаемся. Ядро состоит из {"коврике", "полу", "столе"}.
  4. Перераспределение вероятностей: Вероятности токенов, попавших в ядро, нормализуются таким образом, чтобы их новая сумма стала равна 1. (В примере: P'(коврике) ≈ 0.53, P'(полу) ≈ 0.27, P'(столе) ≈ 0.20).
  5. Выборка: Следующий токен выбирается случайным образом из сформированного ядра с учётом их новых, нормализованных вероятностей.

Ключевая особенность

Главное отличие и преимущество Top-p — это адаптивность. Размер ядра (количество токенов, из которых производится выбор) не фиксирован, а зависит от распределения вероятностей, предсказанного моделью:

  • Если модель очень уверена в наиболее вероятном токене (его вероятность значительно выше остальных), ядро будет маленьким (возможно, содержащим всего один токен). Это приводит к более предсказуемому и сфокусированному результату.
  • Если вероятности распределены более равномерно между несколькими кандидатами (модель менее уверена), ядро будет включать больше токенов. Это позволяет генерировать более разнообразный, неожиданный и потенциально креативный текст.

Параметр p

Параметр p — это вещественное число в диапазоне от 0 до 1, которое контролирует размер ядра выборки:

  • Высокое значение `p` (близкое к 1, например, 0.9 или 0.95): В ядро попадает больше токенов с меньшими вероятностями. Результат становится более случайным, разнообразным, но может иногда терять связность или релевантность.
  • Низкое значение `p` (например, 0.5 или 0.7): В ядро попадает меньше самых вероятных токенов. Результат более предсказуемый, сфокусированный и "безопасный", но может быть менее интересным и склонным к повторениям.
  • Если `p=1`, выборка фактически происходит из всего распределения вероятностей (с поправкой на другие параметры сэмплирования, такие как температура, если она используется).
  • Если `p` стремится к 0, метод приближается к жадной выборке, то есть выбору только самого вероятного токена.

Сравнение с Top-k

Метод Top-k выбирает следующее слово из фиксированного числа k наиболее вероятных кандидатов, независимо от их абсолютных или относительных вероятностей. Например, при `k=5` выбор всегда будет производиться из 5 лучших токенов. В отличие от Top-k, Top-p динамически изменяет размер набора кандидатов (ядра) на основе порога суммарной вероятности `p`. Это часто считается преимуществом, так как позволяет методу быть гибким: ограничивать выбор, когда есть явный фаворит, и расширять его, когда уверенность модели ниже. Это помогает избегать включения маловероятных, но попавших в топ-k токенов, и наоборот, не отсекать разумные варианты, если их много с близкими вероятностями[2].

См. также

Примечания

  1. Holtzman, Ari, et al. "The curious case of neural text degeneration." arXiv preprint arXiv:1904.09751 (2019).
  2. Ошибка в сносках?: Неверный тег <ref>; для сносок holtzman_2019 не указан текст
Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia

Kembali kehalaman sebelumnya