Nucleus Sampling

Wprowadzenie

Nucleus Sampling, znane również jako Top-p Sampling, to metoda dekodowania (samplingu) używana w dużych modelach językowych. Została zaproponowana w 2019 roku w pracy „The Curious Case of Neural Text Degeneration”. Jest uważana za jedną z najlepszych i najczęściej stosowanych technik generowania tekstu obok Temperature i Top-k.

Jak działa Nucleus Sampling?

Zamiast brać stałą liczbę najbardziej prawdopodobnych tokenów (jak w Top-k), Nucleus Sampling dynamicznie wybiera najmniejszy możliwy zbiór tokenów, którego suma prawdopodobieństw jest większa lub równa wartości parametru p (zwykle 0.9–0.95).

1. Posortuj tokeny malejąco według prawdopodobieństwa
2. Oblicz skumulowaną sumę prawdopodobieństw
3. Weź najmniejszy zbiór, dla którego suma ≥ p
4. Przeskaluj prawdopodobieństwa w tym zbiorze i dokonaj losowania

Porównanie z innymi metodami

  • Greedy Decoding (Temperature = 0) – zawsze wybiera najbardziej prawdopodobny token
  • Top-k Sampling – stała liczba k tokenów (np. k=40)
  • Nucleus Sampling (Top-p) – dynamiczna liczba tokenów zależna od rozkładu prawdopodobieństwa
  • Temperature – skaluje cały rozkład prawdopodobieństwa

Zalety Nucleus Sampling

  • Dostosowuje się do kontekstu – przy pewnych odpowiedziach bierze mało tokenów, przy niepewnych więcej
  • Lepsza jakość tekstu niż Top-k (mniej powtarzalny i chaotyczny)
  • Zmniejsza ryzyko „degenerate text” (powtarzanie, nonsens)
  • Bardzo popularne połączenie: Top-p + Temperature

Typowe wartości parametrów

  • p = 0.9 – 0.95 – najczęściej używane wartości (najlepszy balans kreatywności i spójności)
  • p = 0.8 – bardziej deterministyczne
  • p = 0.98+ – bardzo kreatywne / chaotyczne

Zastosowania

  • Chatboty i asystenci AI
  • Generowanie kreatywnego tekstu (opowiadania, scenariusze)
  • Programowanie (code generation)
  • Wszystkie nowoczesne modele LLM (OpenAI, Anthropic, Meta, Mistral, Grok itp.)

Aktualny status (2026)

Nucleus Sampling pozostaje jedną z najpopularniejszych metod dekodowania w praktyce. Większość interfejsów API LLM (ChatGPT, Claude, Grok, Llama) domyślnie używa kombinacji Temperature + Top-p. Nowsze badania wprowadzają ulepszenia, takie jak Dynamic Top-p, Locally Typical Sampling czy Contrastive Decoding, ale klasyczny Top-p nadal jest standardem ze względu na prostotę i bardzo dobrą jakość generacji.