Top-p sampling — стохастическая стратегия генерации, которая выбирает токены из минимального множества с суммарной вероятностью p.
Определение
Top-p sampling (или nucleus sampling) — метод стохастической генерации, в котором модель выбирает следующий токен не из фиксированного числа кандидатов, а из наименьшего множества токенов, чья суммарная вероятность превышает порог p. Это позволяет адаптировать размер выборки под распределение модели: когда прогноз уверенный, ядро маленькое; когда распределение «плоское» — ядро расширяется.
Такой подход делает генерацию плавнее, разнообразнее и менее склонной к ошибкам, чем жёстко ограниченный top-k.
Как работает
Алгоритм формирует так называемое «ядро» распределения:
- Шаг 1: сортировка токенов по вероятности.
- Шаг 2: накопление вероятностей — ищется минимальное множество токенов S, для которого сумма вероятностей ≥ p.
- Шаг 3: обнуление остальных токенов — все, кто вне ядра, удаляются из распределения.
- Шаг 4: нормализация — вероятности внутри S приводятся к сумме 1.
- Шаг 5: sampling — случайный выбор токена внутри ядра.
Если распределение «острое» (один-два токена имеют очень большую вероятность), ядро получается маленьким. Если распределение «плоское», ядро автоматически расширяется, сохраняя разнообразие.
Где применяется
- Диалоговые модели с требованием естественности и разнообразия.
- Генерация художественного текста.
- Креативные задачи: сценарии, идеи, описания.
- Мультимодальная генерация: подписи к изображениям, аудио-транскрипции.
- Генерация вариативного кода и прототипов.
Практические примеры использования
В диалоговых задачах top-p часто даёт более естественные, человеческие ответы: модель выбирает токены из гибкого множества, а не из фиксированного top-k. Например, при p = 0.9 ядро будет включать только те токены, которые в сумме покрывают 90% вероятности — иногда это 3 токена, иногда 20.
В генерации художественного текста top-p помогает избежать чрезмерной формальности или повторяемости. В отличие от top-k, где высокое k может включать шум, top-p адаптируется под форму распределения.
В мультимодальных моделях метод уменьшает ошибки описания изображения: редкие маловероятные токены, которые могут привести к галлюцинациям, почти всегда исключаются ядром.
Настройки и влияние параметров
Значение p определяет степень стохастичности:
- p = 0.7–0.9 — умеренно творческая и контролируемая речь.
- p < 0.7 — более жёсткий и формальный стиль.
- p > 0.9 — разнообразные, но менее структурированные ответы.
В отличие от top-k, параметр p отражает не количество токенов, а долю вероятности.
Отличие от других методов
- Top-k — фиксированное число токенов; может быть слишком узким или слишком широким.
- Temperature — изменяет форму распределения, но не ограничивает его.
- Beam search — детерминирован и оптимизирует правдоподобие, а не разнообразие.
- Sampling без ограничений — высокая вариативность, часто шум.
На практике top-p часто комбинируют с небольшими значениями top-k, чтобы избежать «раздувания» ядра на равномерных распределениях.
Преимущества и ограничения
- Плюс: адаптируется под форму распределения.
- Плюс: даёт более разнообразные и естественные продолжения, чем greedy.
- Плюс: лучше контролирует шум, чем обычный sampling.
- Плюс: снижает вероятность галлюцинаций редких токенов.
- Минус: при слишком высоком p текст становится непредсказуемым.
- Минус: чувствителен к качеству вероятностной калибровки модели.
- Минус: не подходит для задач, где требуется строгое правдоподобие.
- Минус: требует настройки совместно с температурой.
Связанные термины
- Top-k sampling
- Temperature
- Sampling
- Beam search
- Greedy decoding
- Autoregressive decoding
- Nucleus sampling