Nucleus Sampling
Узнай, как ядерная выборка (top-p) выбирает токены для генерации текста с помощью ИИ, и сравни ее с top-k, жадным декорированием и температурой для настройки разнообразия выводов.
Наклеус-сэмплинг, также называемый топ-p сэмплированием, — это способ выбора следующего токена при генерации текста с помощью искусственного интеллекта. Вместо того чтобы всегда выбирать наиболее вероятный токен, модель строит краткий список, вероятности в котором в сумме составляют по меньшей мере выбранный порог, а затем случайным образом выбирает элемент из этого краткого списка. Краткий список меняется при каждом предсказании: он может быть небольшим, когда одно продолжение очевидно, и более крупным, когда правдоподобно несколько продолжений.
Как работает наклеус-сэмплинг#
Языковая модель присваивает вероятностное значение каждому возможному следующему токену. Эти вероятности обычно вычисляются на основе выходных баллов модели с использованием softmax, что приводит сумму значений к единице. Наклеус-сэмплинг сортирует токены от наиболее вероятных к наименее вероятным, включает их в список до тех пор, пока их совокупная вероятность не достигнет порога p, исключает остальные и выполняет сэмплирование из включенных токенов. Здесь p обозначает вероятностную массу, а не вероятность отдельного токена. Документация по softmax в PyTorch объясняет преобразование вероятностей, а руководство по декодированию от IBM описывает совокупное отсечение. (docs.pytorch.org)
Предположим, что четыре возможных следующих токена имеют вероятности 0,50, 0,25, 0,15 и 0,10. При top_p=0.80 первые два в сумме дают всего 0,75, поэтому третий также включается в список, доводя его до 0,90. Четвертый токен исключается. Затем модель производит сэмплирование среди первых трех пропорционально их вероятностям после нормализации; она не наделяет каждый из них равными шансами. Порог может превышать p, поскольку токен, который его пересекает, остается в кратком списке. Объяснение топ-p от Google Cloud описывает то же правило выбора токенов. (cloud.google.com)
Этот выбор повторяется после каждого сгенерированного токена. По мере развития предложения модель вычисляет новое распределение и, следовательно, новое ядро.
Топ-p в сравнении с топ-k, жадным декодированием и температурой#
Эти настройки влияют на различные аспекты генерации:
- Топ-k сэмплирование сохраняет фиксированное количество кандидатов, например пять наиболее вероятных токенов. Топ-p сохраняет достаточное количество кандидатов для достижения порога вероятности, поэтому размер его краткого списка не фиксирован.
- Жадное декодирование всегда выбирает единственный наиболее вероятный токен. Оно предсказуемо, но не обеспечивает вариативности, которую допускает сэмплирование.
- Температура изменяет степень предпочтения моделью токенов с высокой вероятностью до момента выбора. Более низкие значения температуры концентрируют вероятность на ведущих вариантах; более высокие значения распределяют ее более равномерно. Топ-p вместо этого задает совокупное отсечение для результирующего распределения.
Реализации могут комбинировать эти управляющие параметры, однако их взаимодействие затрудняет интерпретацию результатов. При проведении экспериментов изменяйте только одну настройку за раз. Справочник параметров чат-комплитов OpenAI описывает top_p и рекомендует настраивать либо его, либо температуру, но не оба параметра одновременно. (platform.openai.com)
Где это имеет значение на практике#
В чат-боте службы поддержки наклеус-сэмплинг позволяет использовать несколько естественных вариантов формулировки стандартного ответа без привлечения каждого маловероятного продолжения. Например, ассистент, объясняющий политику возврата, может варьировать свое первое предложение, сохраняя при этом детали политики, указанные в подсказке. Сэмплирование не проверяет эти детали: беглый ответ все равно может оказаться неверным, поэтому проверка фактов и надлежащая опора на источники остаются необходимыми.
В задаче создания описаний к изображениям модель «зрение-язык» может иметь несколько разумных способов описать одну и ту же уличную сцену. Топ-p позволяет варьировать формулировки описаний, отфильтровывая токены с низкой вероятностью. Визуальный конвейер может сначала использовать Ultralytics YOLO26 для обнаружения объектов, а затем передать обнаруженные объекты в качестве контекста генератору описаний. Шаг обнаружения в YOLO не использует наклеус-сэмплинг для выбора меток объектов; эта настройка применяется к последующему шагу генерации текста. Учебное пособие по созданию описаний изображений в TensorFlow иллюстрирует совместную работу визуального ввода и текстового декодера. (ibm.com)
Использование топ-p в документированном рабочем процессе#
Интерфейс LLM от Ultralytics принимает аргументы запроса для совместимой конечной точки языковой модели. После установки ultralytics[llm] и задания OPENAI_API_KEY в данном примере запрашивается короткий ответ с параметром top_p=0.9:
from ultralytics import LLM
# Use an endpoint that supports the top_p request argument.
llm = LLM("gpt-4.1-mini", api="chat.completions")
prompt = "Describe a city bus in one friendly sentence."
response = llm(prompt, top_p=0.9)
message = response.choices[0].message
print(message.content)Код перекладывает выбор токенов на провайдера языковой модели. Повторный запуск может привести к изменению формулировки, однако top_p=0.9 не гарантирует, что каждый ответ будет отличаться. Проверьте поддерживаемые параметры выбранной модели, прежде чем применять ту же настройку в другом месте.
Выбор полезной настройки#
Начните с настроек модели по умолчанию, а затем сравните результаты на репрезентативных подсказках. Уменьшите значение top_p, если ответы уходят в сторону маловероятных формулировок; рассмотрите возможность увеличения значения, если они излишне повторяются. Оценивайте результат по задаче, а не только по разнообразию. Для ответов клиентам или описаний проверяйте фактическую точность и наличие важных деталей. Более узкий краткий список позволяет уменьшить количество необычных продолжений, но он не может сделать неподтвержденные утверждения истинными. Руководство IBM по генерации точных результатов также рассматривает выбор декодирования лишь как одну из частей обоснованного рабочего процесса генерации. (ibm.com)









