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 ; wiersze zawierają już uporządkowane prawdopodobieństwa:
| Rozkład dla A, B, C, D | Zachowane tokeny | Ich suma przed normalizacją |
|---|---|---|
| 0,70; 0,15; 0,10; 0,05 | A, B | 0,85 |
| 0,40; 0,30; 0,20; 0,10 | A, B, C | 0,90 |
W drugim wierszu A i B dają tylko 0,70, więc trzeba dołączyć C. Po normalizacji ich szanse wynoszą odpowiednio , i . 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 nie jest też prawdopodobieństwem, że wygenerowana odpowiedź okaże się poprawna.