Top-p
Top‑p сэмплирование, также известное как ядерная выборка (англ. Nucleus Sampling), — стохастический метод декодирования для авторегрессивных языковых моделей, широко применяемый в том числе в больших языковых моделях (LLM). Метод предложен в 2019 году Ари Хольцманом и соавт. (препринт arXiv — апрель 2019; публикация на ICLR 2020) как усовершенствованная альтернатива фиксированному Top‑k сэмплированию. Его идея — динамически подбирать множество кандидатов на каждом шаге генерации по порогу кумулятивной вероятности .[1]
Историческая предпосылка: проблема нейронной дегенерации текста
До появления Top‑p доминирующими стратегиями декодирования были жадный поиск (greedy search) и лучевой поиск (beam search), основанные на парадигме максимизации правдоподобия — выбора последовательности токенов с наивысшей совокупной вероятностью. Жадный поиск на каждом шаге локально выбирает токен с максимальной вероятностью, а лучевой поиск параллельно отслеживает несколько гипотез генерации.[1]
Хотя эти методы были эффективны в закрытых задачах (машинный перевод, извлечение данных), при переходе к задачам открытой генерации текста (написание историй, диалоговые системы) они часто приводили к нейронной дегенерации текста — вырождению вывода, при котором текст становится шаблонным, теряет связность или зацикливается на повторениях. Это явление подробно описано Хольцманом и соавт. в работе The Curious Case of Neural Text Degeneration.[1]
Meister и соавт. связывают проблему дегенерации с тем, что человеческий текст стремится поддерживать информационное содержание, близкое к ожидаемой условной энтропии, а не просто максимизировать локальную вероятность каждого следующего токена.[2]
Альтернативой стало чистое стохастическое сэмплирование (sampling without truncation), при котором токен выбирается случайным образом в соответствии с его вероятностью. Однако этот метод породил обратную проблему: функция Softmax никогда не присваивает токену вероятность, строго равную нулю, поэтому в словаре из десятков тысяч слов всегда существует обширная зона шумовых токенов. При чистом сэмплировании увеличивается риск попадания в ненадёжный хвост распределения, что может ухудшать связность генерируемого текста.[1][3] Необходимость совместить богатство стохастического выбора с надёжностью детерминированных ограничений привела к разработке методов усечения распределения, флагманом которых стало ядерное сэмплирование (Top‑p).[1][4]
Простое объяснение
Top-p сэмплирование — это способ ограничить выбор следующего токена только наиболее правдоподобными вариантами, не фиксируя их число заранее.
При генерации текста языковая модель на каждом шаге оценивает множество возможных продолжений и присваивает каждому из них некоторую вероятность. Одни токены оказываются очень вероятными, другие — умеренно вероятными, а большая часть словаря образует так называемый «хвост» распределения: варианты с очень малой вероятностью, которые формально допустимы, но часто оказываются случайными, неуместными или ухудшают связность текста.
Top-p сэмплирование отсекает этот маловероятный хвост не по фиксированному количеству токенов, а по суммарной вероятности. Сначала все кандидаты упорядочиваются от наиболее вероятных к наименее вероятным. Затем выбирается минимальный набор верхних токенов, чья общая вероятность достигает заданного порога — например, 0.9 или 0.95. После этого следующий токен выбирается случайным образом только из этого набора, а все остальные варианты исключаются.
Например, если модель продолжает фразу «Сегодня на улице шёл сильный…», среди наиболее вероятных вариантов могут оказаться «дождь» (0.45), «ливень» (0.25), «снег» (0.15) и «ветер» (0.10). При пороге алгоритм суммирует токены по убыванию вероятности: 0.45 + 0.25 = 0.70 (меньше 0.90), добавляет «снег»: 0.70 + 0.15 = 0.85 (всё ещё меньше 0.90), добавляет «ветер»: 0.85 + 0.10 = 0.95 (порог превышен). Ядро сформировано из четырёх токенов. Все более редкие варианты отбрасываются, а вероятности оставшихся нормализуются: так, вероятность токена «дождь» после перенормировки составит , и генератор выберет следующий токен именно из этого обновлённого распределения.
Главное отличие от Top‑k в том, что Top‑k всегда берёт фиксированное число лучших слов (например, 50), тогда как Top‑p не фиксирует количество вариантов заранее: иногда это может быть 3 слова, иногда 20 — всё зависит от того, как распределились вероятности именно на этом шаге. За счёт этого метод адаптируется к контексту и помогает отсекать «хвост» маловероятных токенов, делая текст более естественным.
Ещё один пример. Например, модель продолжает фразу «На завтрак он выпил горячий…». Среди наиболее вероятных продолжений могут быть: «чай» (0.50), «кофе» (0.30), «шоколад» (0.08), «бульон» (0.04), «кефир» (0.03). Если задан порог , алгоритм начинает суммировать вероятности сверху вниз: 0.50 для «чая», затем 0.50 + 0.30 = 0.80. Порог уже достигнут, значит ядро состоит только из двух токенов: «чай» и «кофе». Все остальные варианты отбрасываются. После перенормировки вероятность «чая» внутри ядра становится , а вероятность «кофе» — . Следующий токен выбирается только между этими двумя вариантами.
Иными словами, модель сначала убирает маловероятные и неудачные продолжения, а потом выбирает из оставшихся. Это помогает ей писать более понятно, естественно и без лишнего «шума».
Концепция
Основная идея Top‑p — на каждом шаге выбирать наименьшее множество наиболее вероятных токенов, чья суммарная вероятность не меньше заданного порога (ядро, англ. nucleus).
Формально, пусть — токены словаря , отсортированные по убыванию условной вероятности . Тогда ядро определяется как кратчайший префикс этой упорядоченной последовательности, чья кумулятивная масса достигает порога:
Иными словами, это наименьшее по включению множество самых вероятных токенов, суммарная вероятность которых не меньше .[1]
После определения ядра вероятности токенов вне обнуляются, а внутри ядра — перенормируются (делятся на фактическую кумулятивную массу , так что сумма становится равной 1). Следующий токен сэмплируется из этого усечённого и перенормированного распределения.
Динамическая адаптация
- При «остром» распределении (модель уверена) ядро мало: несколько токенов уже дают массу ≥ , что повышает связность. В предельном случае, если вероятность самого вероятного токена уже превышает (например, при ), ядро сужается до единственного токена и Top‑p фактически превращается в жадное декодирование (greedy search).
- При «плоском» распределении (много правдоподобных продолжений) ядро велико: выбор расширяется, растёт разнообразие.[1]
Сравнение с другими методами декодирования
Top‑p vs. Top‑k
- Top‑k всегда выбирает из фиксированного числа наиболее вероятных токенов. В «острых» распределениях это может добавлять лишние маловероятные варианты «для количества», а в «плоских» — наоборот, отсекать разумные продолжения, не попавшие в топ‑.
- Top‑p подстраивает размер множества кандидатов по данным шага, что делает поведение более гибким и стабильным на разных типах распределений.[1]
- На практике Top‑k и Top‑p могут применяться одновременно. В этом случае сначала отбирается топ‑ токенов, а затем внутри этого ограниченного множества ищется ядро с порогом . Точный порядок и мотивация зависят от реализации, но такая комбинация документирована как распространённый приём.[5]
Проще говоря, Top-k заранее решает, сколько вариантов оставить, а Top-p смотрит по ситуации и оставляет столько, сколько нужно в данном контексте. Поэтому Top-p обычно гибче, а Top-k — проще и предсказуемее.
Top‑p vs. Температура
- Температура (temperature) перепрофилирует всю форму распределения (делает его более острым или гладким), но не отсекает токены: даже маловероятные варианты сохраняют ненулевой шанс.[5]
- Top‑p вводит жёсткое усечение хвоста распределения — низковероятные токены полностью исключаются из сэмплирования, что помогает предотвращать явно неуместные продолжения.[1]
- Порядок применения. В стандартных пайплайнах (например, в Hugging Face Transformers) сначала к логитам применяется температура (меняется форма распределения), затем может применяться Top‑k, и только потом Top‑p (усечение хвоста). Это объясняет, почему «двойное воздействие» трудно контролировать: изменение температуры меняет саму кумулятивную массу, с которой затем работает Top‑p.[5]
Проще говоря, температура меняет, насколько свободно модель выбирает слова, а Top-p решает, какие варианты вообще можно выбирать. Поэтому температура влияет на степень случайности, а Top-p — на то, насколько далеко модель может зайти в менее вероятные продолжения.
Порядок операций в реализации Hugging Face Transformers
Порядок применения sampling-процессоров зависит от конкретной библиотеки. В Hugging Face Transformers (начиная с v4.x) для обсуждаемой тройки параметров логит-процессоры по умолчанию добавляются в следующей последовательности:[5][6]
- Температурное масштабирование логитов. Логит каждого токена делится на значение температуры перед экспоненцированием функции Softmax. Температура модифицирует форму распределения, подготавливая его к последующей фильтрации.
- Фильтр Top‑k (если сконфигурирован): обрезает словарь до фиксированного количества претендентов.
- Фильтр Top‑p: к уже суженному пулу токенов применяется кумулятивное усечение.
- Ренормализация оставшихся вероятностей и стохастическое сэмплирование.
На практике распространена комбинация умеренной температуры (0.7) с широким ядром Top‑p (0.95) и лимитом Top‑k (50): температура обеспечивает базовую вариативность, Top‑k работает как грубый предохранитель, а Top‑p выполняет контекстно‑зависимую микронастройку.[5]
Проще говоря, модель сначала делает выбор более или менее «свободным» с помощью температуры, потом при необходимости ограничивает число кандидатов через Top-k, а затем убирает слишком слабые варианты через Top-p. Такой порядок помогает сначала настроить общий характер выбора, а потом отсечь лишнее.
Рекомендация: настройка одного параметра за раз
Провайдеры моделей рекомендуют при настройке стиля генерации изменять либо temperature, либо top_p, но не оба одновременно. Эта рекомендация содержится в официальной документации OpenAI, Azure OpenAI и Anthropic.[7][8][9]
Практическое обоснование: оба параметра влияют на форму вероятностного распределения (температура изменяет крутизну кривой, а Top‑p устанавливает точку отсечения), поэтому одновременное их изменение затрудняет диагностику — невозможно определить, какой именно параметр привёл к улучшению или ухудшению выхода. Кроме того, при экстремально низких значениях обоих параметров (например, Temperature ≈ 0 и Top‑p ≈ 0.01) ядро на практике сужается до одного токена, фактически превращая сэмплирование в жадный поиск.[7]
Ряд reasoning‑моделей дополнительно ограничивают настройку этих параметров на уровне API, что делает вопрос их совместного изменения неактуальным для таких моделей (см. раздел «Совместимость с библиотеками и API»).[7]
Распространённая инженерная эвристика: для задач, требующих высокой воспроизводимости, — использовать низкую температуру (вплоть до нуля); для творческих задач — оставлять температуру на базовом уровне (1.0) и регулировать вариативность параметром Top‑p, либо зафиксировать Top‑p на 1.0 и варьировать температуру. Конкретные рекомендации могут различаться у провайдеров.[7][9]
Влияние на фактологичность и галлюцинации
Выбор стратегии декодирования может влиять не только на стилистику генерируемого текста, но и на частоту и тип фактологических ошибок. Феномен галлюцинаций — уверенной генерации ложной или противоречащей контексту информации — является одной из центральных проблем генеративного ИИ. Эмпирические исследования показывают, что эффект стратегий сэмплирования на галлюцинации зависит от задачи, модели и конкретной настройки параметров.[3][10]
Механизм возникновения ошибок при стохастическом сэмплировании
При высоких значениях Top‑p (например, 0.95) модель формирует ядро, охватывающее 95% вероятностной массы. В состояниях высокой энтропии (например, при попытке ответить на малоизвестный факт) это ядро может включать сотни низковероятных токенов. Стохастическое сэмплирование в таких условиях способно извлечь токен, грамматически корректный, но семантически не связанный с фактологической истиной. Оказавшись в контексте, такой токен может повлиять на последующие шаги генерации, поскольку модель продолжает генерацию с учётом всех предыдущих токенов, включая ошибочные.[3][1]
Дихотомия открытых и закрытых задач
Масштабные эксперименты выявляют зависимость качества генерации от типа задачи. В задачах написания эссе или диалоговых системах стохастические методы (Top‑p, Temperature) остаются лидерами, тогда как в строго детерминированных доменах они могут значительно уступать детерминированным подходам.[10]
На бенчмарках синтеза программного кода (HumanEval, MBPP) и решения математических задач (GSM8K) детерминированные методы (Beam Search, Greedy Decoding) показывают лучшие результаты по сравнению с подходами на базе Top‑p. Датасет GSM8K, включающий 8,5 тысяч математических задач, требующих от 2 до 8 шагов вычислений, иллюстрирует уязвимость стохастического выбора в таких задачах: инъекция случайности через усечённое распределение Top‑p может нарушить цепочку рассуждений модели (Chain‑of‑Thought) на любом из промежуточных шагов. Tan и соавт. подчёркивают, что эффективность метода декодирования сильно зависит от конкретной задачи (task‑dependent).[10]
Методы борьбы с галлюцинациями на уровне декодирования
Для борьбы с галлюцинаторными эффектами, спровоцированными стохастическим сэмплированием, разработаны методы продвинутой аугментации декодирования:
- Контрастное декодирование (Contrastive Decoding, DoLa) — оптимизирует разрыв в логарифмическом правдоподобии между основной моделью и меньшей вспомогательной моделью, выступая в роли фильтра достоверности.[10]
- SH2 (Self‑Highlighted Hesitation) — искусственно заставляет декодер «колебаться» при работе с низкоуверенными токенами.[11]
- Направленное проецирование активаций (SEA) — подавляет галлюцинаторные сигналы на уровне векторных представлений.[11]
При этом современные модели с качественным выравниванием (alignment) обладают более глубоким пониманием фактологии, что снижает энтропию их внутренних распределений и делает их менее подверженными деградации фактов даже при высоких значениях Top‑p.[10][12]
Практическое применение и рекомендации
Top‑p широко используется в современных LLM благодаря сочетанию гибкости и управляемости.
- Типичный диапазон значений. На практике часто применяют . Значение по умолчанию различается у провайдеров: у OpenAI `top_p` = 1.0 (усечение фактически отключено), у Anthropic — 0.99, у многих моделей Google Gemini — 0.95.[13] В библиотеке Hugging Face Transformers фреймворковый default также равен 1.0, хотя отдельные модели могут переопределять его в своём `generation_config.json`.[14] Таким образом, 0.9–0.95 — это распространённый рекомендуемый практический диапазон, но не универсальный стандарт по умолчанию.[5][15]
- Значения, близкие к 1.0 (например, 0.98–0.99), увеличивают разнообразие: в ядро попадает больше токенов.
- Малые значения (например, 0.80–0.90) повышают детерминированность и «сдержанность» вывода.
- При усечение по Top‑p исчезает: выбор ведётся по всему словарю (с учётом температуры и других фильтров декодирования, если они включены).[5]
- Совместимость с библиотеками и API.
- В Hugging Face Transformers реализован TopPLogitsWarper, где дополнительно используется порог `min_tokens_to_keep` (по умолчанию 1). Это защитная деталь реализации: при стандартных значениях пустое ядро и так не возникает из определения, однако параметр гарантирует корректную работу в граничных случаях.[16]
- В ряде API параметр `top_p` доступен, тогда как `top_k` может отсутствовать; поддержка параметров и их семантика зависят от конкретной модели и режима работы. Reasoning‑модели, как правило, ограничивают настройку стохастики на уровне API. Например, в актуальной документации OpenAI параметры `temperature` и `top_p` явно поддерживаются только у GPT‑5.2 при `reasoning.effort = none`; запросы к GPT‑5.2 или GPT‑5.1 с иными значениями `reasoning`, а также к более ранним моделям GPT‑5 (`gpt‑5`, `gpt‑5‑mini`, `gpt‑5‑nano`) при передаче этих полей вызывают ошибку. Reasoning‑модели предыдущих поколений (o1, o3) также ограничивают или фиксируют их.[7][17][18] У Anthropic в Claude API при включённом расширенном мышлении (extended thinking) изменение `temperature` и `top_k` запрещено, однако `top_p` разрешён в диапазоне 0.95–1.0; на сторонних платформах (например, Amazon Bedrock) ограничения могут отличаться.[19] Ограничения провайдеров часто меняются от версии к версии; рекомендуется сверяться с актуальной документацией.[8][20]
- Длинные тексты и повторяемость. В серии экспериментов показано, что nucleus sampling снижает склонность к вырождению (повторы, штампованные фразы) по сравнению с greedy/beam и фиксированным Top‑k, особенно на длинных последовательностях.[1][10]
Современные альтернативы
После публикации nucleus sampling в 2019 году было предложено несколько альтернативных методов стохастического декодирования, развивающих или дополняющих идею Top‑p:
Min‑p сэмплирование
Min‑p сэмплирование (Nguyen et al., 2024) оставляет токены, чья вероятность не ниже , то есть задаёт порог относительно самого вероятного токена. Принят к устному докладу на ICLR 2025; реализован в ряде популярных фреймворков, включая Hugging Face Transformers[21] и vLLM[22].[23]
Ключевое отличие от Top‑p состоит в типе порога: Top‑p использует абсолютный порог на основе кумулятивной суммы вероятностей, тогда как Min‑p устанавливает относительный порог, масштабируемый от вероятности самого вероятного токена.[23]
Математически алгоритм работает следующим образом: на каждом шаге определяется максимальная вероятность , затем вычисляется масштабированный порог . В финальный пул попадают только токены, индивидуальная вероятность которых превышает этот порог.[24]
Это обеспечивает адаптивность: если модель уверена в следующем слове (), при базовом порог составит 0.09, жёстко отсекая шумовые токены. Если же модель неуверена (), порог снижается до 0.01, впуская в ядро широкое разнообразие кандидатов.[23]
Известная слабость Top‑p проявляется при высокотемпературном сэмплировании (): когда распределение искусственно сглаживается, Top‑p вынужден включать в ядро большое количество низковероятных токенов для достижения заданной кумулятивной суммы, что может приводить к деградации связности.[23] Min‑p лучше справляется с такими условиями. В экспериментах авторов на бенчмарках научных и логических знаний (GPQA) с использованием модели Mistral Large при экстремальной температуре алгоритм Min‑p показал точность 13.84%, тогда как стандартный Top‑p 0.9 дал результат 0.89% — на уровне случайного шума.[24]
При этом в академической среде ведётся дискуссия: некоторые критические работы (например, arXiv:2506.13681) подвергают сомнению универсальность преимуществ Min‑p по всем NLP‑метрикам, указывая на необходимость дальнейшего изучения.[25]
Проще говоря, Min-p сравнивает все варианты не с общей суммой вероятностей, а с самым сильным вариантом на текущем шаге. Поэтому, если модель уверена, он жёстче убирает слабые продолжения, а если не уверена — оставляет больше допустимых вариантов. За счёт этого Min-p может лучше сохранять баланс между связностью и разнообразием, особенно там, где Top-p начинает пропускать слишком много слабых слов.
Locally typical sampling
Locally typical sampling (Meister и соавт., 2023) выбирает токены, чья информационная нагрузка () близка к условной энтропии, опираясь на теоретико‑информационное понятие типичности.[2]
В отличие от Top‑p, который стремится минимизировать размер ядра, выбирая токены с максимальной вероятностью, Locally Typical Sampling решает задачу оптимизации на основе метрики информационного расстояния. Алгоритм вычисляет информационное содержание каждого токена () и измеряет его абсолютное расстояние до условной энтропии модели. Токены ранжируются не по сырой вероятности, а по степени их «информационной типичности» — близости к ожидаемому информационному содержанию контекста. Токены добавляются в ядро (в порядке возрастания расстояния до энтропии) до достижения порога кумулятивной вероятности.[2][26]
Следствие этого подхода: в состояниях высокой энтропии алгоритм целенаправленно исключает не только шумовой маловероятный хвост, но и излишне высоковероятные слова, которые несут слишком мало информации и делают текст банальным. Это снижает риск дегенеративных зацикливаний и приближает метрики повторяемости текста к показателям, характерным для текстов, написанных человеком.[26]
Tail Free Sampling (TFS)
Tail Free Sampling (TFS) — менее формализованный, но практически интересный подход к выявлению шумового хвоста, основанный на дифференциальном анализе вероятностного пространства. Если Top‑p и Min‑p оперируют вероятностями первого порядка (кумулятивной суммой и базовыми дробями), то TFS анализирует первую и вторую производные отсортированной кривой вероятностей. Метод описан в блоге Трентона Брикена и реализован в ряде inference-движков, хотя не был опубликован в виде рецензированной статьи.[27]
Основной постулат TFS: включение даже одного шумового токена в выборку несёт экспоненциальную угрозу для всей авторегрессионной генерации. Вычисляя вторую производную от значений вероятностей, алгоритм локализует «плато» — участки кривой, где падение вероятностей замедляется и переходит в длинный пологий хвост. Точка этого перегиба становится динамической границей усечения: токены до неё признаются семантически безопасными, а весь хвост удаляется.[27]
Несмотря на математическую элегантность, TFS требует более интенсивных вычислительных затрат на вычисление производных в реальном времени, из‑за чего в массовых коммерческих продуктах он уступает более легковесным алгоритмам.[27]
p‑less sampling
‑less sampling — метод, полностью избавляющий инженера от необходимости настраивать гиперпараметры усечения.[28] Фундаментальная проблема всех предшествующих методов — от Top‑k и Top‑p до Min‑p — заключается в зависимости от статичных гиперпараметров, значения которых требуют экспертной настройки и могут быть оптимальны для одной задачи (креативное письмо), но неудачны для другой (программирование).[29]
Алгоритм ‑less, укоренённый в теории информации, динамически генерирует уникальный порог усечения на каждом шаге декодирования, анализируя внутреннюю топологию всего распределения вероятностей в реальном времени. Авторы сообщают об устойчивости метода к температурным флуктуациям (temperature robustness): при повышении температуры традиционные методы могут существенно деградировать, тогда как ‑less сохраняет стабильность качества. Кроме того, благодаря отказу от логики кумулятивного сканирования и ренормализации больших ядер, метод, по данным авторов, обеспечивает более высокую вычислительную эффективность на этапе инференса и генерирует более компактные ответы без потери точности на датасетах по математике, логике и креативному письму.[29][28]
η‑сэмплирование
η‑сэмплирование (Hewitt et al., 2022) использует энтропийно‑зависимый порог вероятности, адаптируясь к низкоэнтропийным контекстам, где Top‑p может усекать излишне.[30]
Литература
- Holtzman, A., Buys, J., Du, L., Forbes, M., & Choi, Y. (2019; опубликовано на ICLR 2020). The Curious Case of Neural Text Degeneration. arXiv:1904.09751.
- Fan, A., Lewis, M., & Dauphin, Y. (2018). Hierarchical Neural Story Generation. arXiv:1805.04833.
- Meister, C., Pimentel, T., Wiher, G., & Cotterell, R. (2023). Locally Typical Sampling. arXiv:2202.00666.
- Ravfogel, S., Goldberg, Y., & Goldberger, J. (2023). Conformal Nucleus Sampling. ACL Findings 2023.
- Tan, Q. et al. (2024). A Thorough Examination of Decoding Methods in the Era of LLMs. arXiv:2402.06925.
- Finlayson, M. et al. (2024). Closing the Curious Case of Neural Text Degeneration. arXiv:2310.01693.
- Chen, S. J. et al. (2025). Decoding Game: On Minimax Optimality of Heuristic Text Generation Strategies. arXiv:2410.03968.
- Nguyen, M. et al. (2024). Turning Up the Heat: Min-p Sampling for Creative and Coherent LLM Outputs. arXiv:2407.01082.
- Sen, J. et al. (2025). Advancing Decoding Strategies: Enhancements in Locally Typical Sampling for LLMs. arXiv:2506.05387.
- Bricken, T. Tail Free Sampling. [32].
- p‑less Sampling: A Robust Hyperparameter-Free Approach for LLM Decoding. arXiv:2509.23234.
Примечания
- ↑ 1,00 1,01 1,02 1,03 1,04 1,05 1,06 1,07 1,08 1,09 1,10 Holtzman, A., Buys, J., Du, L., Forbes, M., & Choi, Y. (2019). The Curious Case of Neural Text Degeneration. arXiv:1904.09751. [1]
- ↑ 2,0 2,1 2,2 Meister, C., Pimentel, T., Wiher, G., & Cotterell, R. (2023). Locally Typical Sampling. TACL, Vol. 11. arXiv:2202.00666. [2]
- ↑ 3,0 3,1 3,2 Large Language Models Hallucination: A Comprehensive Survey. arXiv:2510.06265. [3]
- ↑ Finlayson, M. et al. (2024). Closing the Curious Case of Neural Text Degeneration. arXiv:2310.01693. [4]
- ↑ 5,0 5,1 5,2 5,3 5,4 5,5 5,6 Hugging Face Transformers. Generation strategies (top‑k, top‑p, temperature). [5]
- ↑ Hugging Face Transformers. generation/utils.py (исходный код). [6]
- ↑ 7,0 7,1 7,2 7,3 7,4 OpenAI API Reference. top_p — рекомендация «We generally recommend altering this or temperature but not both». [7]
- ↑ 8,0 8,1 Microsoft Learn (Azure OpenAI). Text/Chat Completions — parameters. [8]
- ↑ 9,0 9,1 Anthropic API Reference. Messages API — top_p. [9]
- ↑ 10,0 10,1 10,2 10,3 10,4 10,5 Tan, Q. et al. (2024). A Thorough Examination of Decoding Methods in the Era of LLMs. arXiv:2402.06925. [10]
- ↑ 11,0 11,1 From Illusion to Insight: A Taxonomic Survey of Hallucination Mitigation Techniques in LLMs. MDPI. [11]
- ↑ Survey and analysis of hallucinations in large language models: attribution to prompting strategies or model behavior. Frontiers in AI. [12]
- ↑ Anthropic. API release notes. [13]
- ↑ Hugging Face. GenerationConfig (top_p default). [14]
- ↑ Google AI / Vertex AI. Content generation parameters (topP/topK). [15] [16]
- ↑ Transformers API. TopPLogitsWarper (параметры и поведение, включая `min_tokens_to_keep`). [17]
- ↑ OpenAI API. Using reasoning models — parameter support. [18]
- ↑ OpenAI API. Using GPT-5.2. [19]
- ↑ Anthropic. Building with extended thinking. [20]
- ↑ Microsoft Learn (Azure AI Foundry). Reasoning models — supported parameters. [21]
- ↑ Hugging Face Transformers. MinPLogitsWarper. [22]
- ↑ vLLM. Sampling Parameters — min_p. [23]
- ↑ 23,0 23,1 23,2 23,3 Nguyen, M. et al. (2024). Turning Up the Heat: Min-p Sampling for Creative and Coherent LLM Outputs. arXiv:2407.01082. [24]
- ↑ 24,0 24,1 Nguyen, M. et al. Turning Up the Heat: Min-p Sampling for Creative and Coherent LLM Outputs. [25]
- ↑ Turning Down the Heat: A Critical Analysis of Min-p Sampling in Language Models. arXiv:2506.13681. [26]
- ↑ 26,0 26,1 Locally Typical Sampling. Transactions of the ACL, MIT Press. [27]
- ↑ 27,0 27,1 27,2 Bricken, T. Tail Free Sampling. [28]
- ↑ 28,0 28,1 p‑less Sampling: A Robust Hyperparameter-Free Approach for LLM Decoding. OpenReview. [29]
- ↑ 29,0 29,1 p‑less Sampling: A Robust Hyperparameter-Free Approach for LLM Decoding. arXiv:2509.23234. [30]
- ↑ Hewitt, J., Manning, C. D., & Liang, P. (2022). Truncation Sampling as Language Model Desmoothing. Findings of EMNLP 2022. arXiv:2210.15191. [31]