Back to archive
#ai#llm#glossary#aigen

Top-p Sampling

Czasem model ma jednego zdecydowanego lidera, a czasem wiele podobnie ocenionych kontynuacji. Stałe dopuszczanie pięciu kandydatów nie uwzględnia tej różnicy. Chcesz dobierać rozmiar grupy według tego, gdzie skupia się prawdopodobieństwo.

Top-p Sampling, czyli Nucleus Sampling, wybiera najmniejszą początkową grupę kandydatów uporządkowanych od największej szansy, której suma osiąga próg p. Potem losuje z tej grupy po przeliczeniu szans do jedności.

Dla szans 0,7; 0,15; 0,1; 0,05 i progu 0,75 zostają dwaj pierwsi: razem mają 0,85. Dla 0,4; 0,3; 0,2; 0,1 potrzeba już trzech. Każdy krok generowania może więc mieć inną liczbę dopuszczonych tokenów — kawałków tekstu.

Próg nie oznacza minimalnej szansy każdego kandydata ani gwarantowanej jakości odpowiedzi. Top-k Sampling ustala liczbę, a top-p reaguje na rozkład; żaden z tych filtrów sam nie ocenia prawdziwości tekstu.

Mechanizm i szczegóły

Metodę i normalizację opisują Holtzman et al., The Curious Case of Neural Text Degeneration, §3.1. W każdym kroku Autoregressive Language Modeling zbiór kandydatów wyznaczany jest na nowo.

Ten sam próg, różna liczba tokenów

Własny przykład dla p=0,75p=0{,}75; wiersze zawierają już uporządkowane prawdopodobieństwa:

Rozkład dla A, B, C, DZachowane tokenyIch suma przed normalizacją
0,70; 0,15; 0,10; 0,05A, B0,85
0,40; 0,30; 0,20; 0,10A, B, C0,90

W drugim wierszu A i B dają tylko 0,70, więc trzeba dołączyć C. Po normalizacji ich szanse wynoszą odpowiednio 4/94/9, 3/93/9 i 2/92/9. D zostaje wykluczony. Próg nie oznacza zachowania tokenów, z których każdy osobno ma prawdopodobieństwo co najmniej 0,75.

Top-k Sampling w obu przypadkach próbowałoby zachować tę samą liczbę kandydatów. Top-p reaguje na rozkład ich szans. Jeżeli wcześniej zastosujemy Temperature, zmieni się suma kolejnych prawdopodobieństw i granica odcięcia może wypaść w innym miejscu.

Praca badała m.in. otwarte kontynuowanie tekstu przez GPT-2 (§4.1). Jej wyniki nie wyznaczają jednego optymalnego progu dla każdego modelu i zadania. Sam parametr pp nie jest też prawdopodobieństwem, że wygenerowana odpowiedź okaże się poprawna.