Robocikowo>ROBOCIKOWO
Wnioskowanie

Top-p

2019AktywnyOpublikowany
Metoda próbkowania tokenów w LLM, która wybiera z minimalnego zbioru tokenów obejmującego prawdopodobieństwo ≥ p.
Kluczowa innowacja
Zamiast obcinać do stałej liczby tokenów (top-k), nucleus sampling dynamicznie dobiera minimalny zbiór tokenów o łącznym prawdopodobieństwie ≥ p, co daje lepszą kontrolę nad różnorodnością przy zmiennych rozkładach.
Kategoria
Wnioskowanie
Poziom abstrakcji
Building block
Poziom operacji
Inferencja
Zastosowania
Generowanie tekstu w ChatGPT, Claude, GeminiKreatywne pisanie z kontrolowaną różnorodnościąGenerowanie kodu z balansem jakości i wariantówDomyślna metoda próbkowania w większości LLM APIChatboty konwersacyjne — unikanie powtarzalności

Jak działa

Po obliczeniu softmax model sortuje tokeny malejąco według prawdopodobieństwa. Następnie wybiera minimalny prefiks tokenów, których skumulowane prawdopodobieństwo ≥ p (np. p=0.9). Tylko tokeny z tego "jądra" są brane pod uwagę przy losowaniu. Tokeny spoza jądra otrzymują prawdopodobieństwo 0.

Rozwiązany problem

Greedy decoding daje monotonne teksty, a temperature-only sampling może generować niespójne tokeny. Top-p balansuje kreatywność i jakość przez dynamiczne ograniczenie przestrzeni próbkowania do "jądra" (nucleus) rozkładu.

Implementacja

Pułapki implementacyjne
Top-p i top-k razem mogą nadmiernie ograniczyć przestrzeńŚrednia

Stosowanie top-p=0.9 i top-k=50 jednocześnie: najpierw top-k redukuje do 50 tokenów, potem top-p do ~90% masy — w efekcie przestrzeń jest podwójnie obcięta, co może wyeliminować poprawne tokeny.

Wysokie p dla płaskich rozkładów = prawie losowe próbkowanieŚrednia

Przy p=0.99 i płaskim rozkładzie (np. 1000 tokenów o podobnym prawdopodobieństwie) nucleus zawiera ~990 tokenów — praktycznie random sampling bez filtrowania.

Hiperparametry (konfigurowalne osie)

p (nucleus threshold)Krytyczna

Próg skumulowanego prawdopodobieństwa. Wyższe p → więcej tokenów w jądrze → większa różnorodność.

0.9
0.95
1.0 (wyłącza filtrowanie)

Paradygmat wykonania

Tryb główny
conditional
Wzorzec aktywacji
input_dependent

Równoległość

Poziom równoległości
sequential
Zakres
inference