Nucleus sampling
глоссарий

Nucleus sampling

Nucleus sampling

Nucleus sampling (выборка по ядру, топ-p) — это алгоритм генерации текста, при котором нейросеть на каждом шаге выбирает следующее слово не из всего словаря, а только из небольшого набора самых правдоподобных вариантов, чьи вероятности в сумме дают заданный порог (обычно 0,9 или 0,95). Этот набор называют ядром. Важно, что размер ядра меняется в зависимости от контекста: в предсказуемых местах он узкий, в неожиданных — широкий. Метод критически важен для больших языковых моделей: без него качество генерации резко падает. Если брать всегда самое вероятное слово, текст становится плоским и предсказуемым, как канцелярский отчет. Если же выбирать случайно среди всех слов, то предложения разваливаются уже через несколько слов. Nucleus sampling позволяет найти середину.

Как это работает? Сначала модель вычисляет вероятность каждого возможного продолжения. Затем алгоритм сортирует все варианты по убыванию вероятности и начинает складывать их, пока сумма не достигнет порога. Эти отобранные слова и есть ядро. Дальше происходит случайный выбор одного из слов ядра, но с большим весом у более вероятных. Интуитивно это напоминает чтение книги с продолжением: вы не перебираете весь язык, а мысленно держите в голове несколько разумных вариантов.

Вот конкретный пример: система автоматических итогов после фразы "финансовый аналитик предсказал рост..." скорее всего дополнит ее словами "цен", "рынка" или "курса", но никогда "настроения" или "облаков". Благодаря случайности внутри ядра каждый сгенерированный ответ уникален, но остается логичным. Поэтому nucleus sampling применяется в чат-ботах, генераторах новостей и творческих ассистентах — везде, где нужен баланс между оригинальностью и связностью. Этот метод — не единственный, но благодаря простоте и эффективности он стал стандартом де-факто.