Perplexity
Porównujesz dwa modele na tym samym tekście. Chcesz wiedzieć, który lepiej przewiduje jego kolejne fragmenty, a nie tylko który odgadł więcej pojedynczych zwycięzców. Potrzebujesz liczby podsumowującej szanse przypisane rzeczywistemu ciągowi.
Perplexity (PPL) podsumowuje, jak dobrze model przewiduje kolejne tokeny, czyli kawałki ocenianego tekstu. Im mniejsze szanse przypisuje fragmentom, które rzeczywiście wystąpiły, tym wyższy wynik. Niższy wynik oznacza lepsze przewidywanie tego tekstu. Dokładne obliczenie pokazuje wzór poniżej, po przykładzie.
Jeżeli każdy poprawny token ma szansę 1/4, PPL wynosi 4; przy szansie 1/2 wynosi 2. Można traktować to jako intuicję efektywnej niepewności, ale nie dosłowną liczbę rozważanych słów w każdym kroku.
Porównanie wymaga zgodnych danych, podziału na tokeny i dostępu do kontekstu. PPL nie mierzy wprost prawdziwości ani użyteczności odpowiedzi. Eksperyment „Pingwin w lodówce” pokazuje, jak jeden bardzo nieoczekiwany token wpływa na wynik całego tekstu.
Mechanizm i szczegóły
to liczba ocenianych tokenów, a ich wcześniejszy kontekst. Przy logarytmie naturalnym jest to , gdzie oznacza średnią Cross-entropy dla pojedynczych poprawnych tokenów, bez dodatkowych składników straty. Równoważnie można policzyć średnią geometryczną odwrotności tych prawdopodobieństw. Taką definicję podają Bengio et al., §2.
Jak czytać wynik
Własny przykład: model przypisuje każdemu ocenianemu tokenowi prawdopodobieństwo 0,25. PPL wynosi wtedy 4. Gdy każde z tych prawdopodobieństw rośnie do 0,5, PPL spada do 2. Nie oznacza to, że model zawsze wybiera spośród dokładnie czterech albo dwóch tokenów; wynik podsumowuje cały oceniany tekst.
Pingwin w lodówce
Otwierasz lodówkę. W środku siedzi pingwin. Dla Ciebie to problem logistyczny, dla modelu językowego — ostatni token w zdaniu. Czy dziewięć bardzo dobrych przewidywań wystarczy, żeby pokryć koszt jednego takiego zaskoczenia?
To własny eksperyment myślowy: dwa wymyślone modele, ręcznie przypisane prawdopodobieństwa i dziesięć umownych tokenów. Każdy model ocenia ten sam tekst, token po tokenie, znając poprzednie tokeny tego tekstu. Pokazujemy wyłącznie prawdopodobieństwo tokena, który rzeczywiście wystąpił; pozostała masa przypada na inne możliwości. Nie są to wyniki pomiaru konkretnego LLM.
W początkowym ustawieniu model A daje pierwszym dziewięciu tokenom po 90%, a ostatniemu 0,01%. Model B daje każdemu tokenowi 50%. Zwykła średnia prawdopodobieństw wynosi około 81% dla A i 50% dla B, ale PPL wygrywa B: 2 wobec około 2,762 dla A.
Skąd ta zamiana? Przy zapisie kosztu jako pierwsze dziewięć tokenów kosztuje model A łącznie około 1,368 bitu. Sam „pingwina.” kosztuje około 13,288 bitu. Po podzieleniu sumy przez dziesięć dostajemy 1,466 bitu na token, czyli . Model B płaci po jednym bicie za token. Duże zaskoczenie mocno zwiększa średnią stratę logarytmiczną, nawet jeśli pozostałe tokeny miały wysokie prawdopodobieństwa. Spróbuj podnieść szansę „pingwina” do 1%: A znów wygrywa.
Co można porównywać
Porównanie wymaga tych samych danych i zgodnych zasad obliczeń, w tym tokenizacji, np. Byte Pair Encoding. Znaczenie ma też dostępny kontekst. Podział tekstu na rozłączne fragmenty odbiera modelowi wcześniejsze tokeny przy początku każdego fragmentu i może pogorszyć wynik. Dokumentacja Hugging Face opisuje ocenę z przesuwanym oknem i wyjaśnia, dlaczego zwykłej PPL nie stosuje się wprost do BERT.
Niższa PPL oznacza lepsze przewidywanie ocenianego tekstu w danej procedurze, ale nie gwarantuje lepszej odpowiedzi w konkretnym zadaniu. W Attention Is All You Need, §5.4 label smoothing pogarszało PPL, a jednocześnie poprawiało accuracy i BLEU.