Strona główna / Artykuły

Superpozycja w sieciach neuronowych: modele przykładowe, SAE oraz łączenie cech

Jak sieci przechowują więcej cech niż wymiary, jakie są koszty zakłóceń oraz dlaczego rzadkie autoenkodery mogą łączyć cechy, których dane nie potrafią rozdzielić.

Wydawca: REACTAPP.TOP19 min czytania4398 słów

Źródła: **Superposition: How Neural Networks Cheat at Storage**

Zapisywanie więcej, niż jest miejsca

Wyobraźmy sobie sieć neuronową, której warstwa ukryta ma zaledwie dwie wymiary, dzięki czemu każdy wejście jest reprezentowane przez dwa liczby – punkt (x, y) na płaskiej płaszczyźnie. Załóżmy teraz, że sieć musi śledzić pięć różnych cech. Brzmi to niemożliwie. Dwie wymiary powinny przechowywać dwie cechy, po jednej na osi.

Rozwiązaniem jest superpozycja. Sieć może reprezentować więcej cech, niż ma wymiarów, przechowując je w nakładających się kierunkach w tym samym przestrzeni. Zamiast „wymiar 1 przechowuje cechę A, a wymiar 2 cechę B”, każda cecha ma swój własny kierunek, a kilka cech może istnieć jednocześnie w tym samym parach wymiarów. Otwartymi pytaniami pozostają to, dlaczego to działa oraz jak sieć później odróżnia nakładające się cechy.

Warstwa może przechowywać kilka aktywnych cech jednocześnie poprzez dodawanie ich kierunków do siebie.

W powyższym równaniu aktywacja h to wynik działania warstwy dla jednego wejścia, czyli wektor składający się z d liczb. W uproszczonym modelu d wynosi 5, natomiast w wersji GPT-2 o małej liczbie warstw, na warstwie 8, jest to 768. Każda cecha i ma wartość intensywności x_i równą zero lub większej, a łącznie istnieje n cech – 20 w uproszczonym modelu i nieznana w przypadku GPT-2. Każda cecha ma również ustaloną kierunek jednostkowy W_i w przestrzeni d-wymiarowej, a wszystkie te kierunki razem tworzą macierz W o rozmiarach d × n, której i‑ta kolumna to W_i.

Mówiąc prościej, każda aktywna cecha przesuwa reprezentację wzdłuż swojego własnego kierunku. Warstwa przechowuje jedynie ostateczny wektor sumy h, bez oddzielnego miejsca na każdą z cech.

Aby odczytać daną cechę, należy obliczyć iloczyn skalarny h z kierunkiem tej cechy.

Przejście od pierwszej linii tego wyprowadzenia do drugiej opiera się na fakcie, że iloczyn skalarny rozkłada się na sumę. Iloczyn skalarny W_i z h daje jeden wyraz na każdą cechę, przy czym wyraz z j = i jest wyodrębniany, natomiast suma nad j ≠ i reprezentuje wszystkie pozostałe. Pierwsza część to wektor jednostkowy pomnożony przez sam siebie, co daje 1, więc ten wyraz to dokładnie x_i – prawdziwa siła. Druga część obejmuje wszystkie pozostałe cechy, z których każda jest ważona w zależności od tego, jak blisko ich kierunek pokrywa się z kierunkiem cechy i.

To jedno równanie napędza całą tematykę i dzieli się na dwa przypadki:

  • Gdy n ≤ d, liczba cech nie przekracza liczby wymiarów, więc każdy kierunek może być prostopadły do wszystkich innych. Wszystkie iloczyny skalare W_i · W_j wynoszą zero, połowa zakłóceń znika, a odczyt jest dokładny. Maksymalna liczba cech to d.
  • Gdy n > d, jest to niemożliwe. W d wymiarach maksymalnie d wektorów może być wzajemnie prostopadłych, więc jakaś para musi się pokrywać, a połowa zakłóceń nigdy nie wynosi zera.

Superpozycja oznacza celowe przyjęcie drugiej opcji: więcej niż d cech, za co trzeba zapłacić pewnymi zakłóceniami.

Dlaczego zakłócenia są do przyjęcia

Interferencja ma znaczenie tylko wtedy, gdy inne cechy są włączone. Jeśli cecha j jest wyłączona, x_j wynosi zero, a jej wpływ znika. Jeśli każda cecha aktywuje się z prawdopodobieństwem p, oczekiwana liczba cech powodujących interferencję wynosi około (n − 1)p.

Przy n = 20 cechach i p = 0,001 oczekuje się 19 × 0,001 = 0,019 cech powodujących interferencję. Około 98% danych wejściowych nie zawiera żadnej innej aktywnej cechy, więc odczyt jest dokładny. Interferencja istnieje, ale rzadko się zdarza.

Przestrzenie wysokowymiarowe również pomagają. Tylko d kierunków może być dokładnie ortogonalnych, ale istnieje miejsce na wiele kierunków niemal ortogonalnych. Losowe wektory jednostkowe mają oczekiwane kwadratowe dopasowanie 1/d, więc typowe dopasowanie wynosi około 1/√d.

W 768 wymiarach GPT-2 oznacza to wartość 0,036, co odpowiada kątowi około 87,9°. Dwie losowo wybrane kierunki są już niemal prostopadłe przez przypadek. Duże przestrzenie tolerują błędy w sposób, w jaki nie potrafią to zrobić małe.

Rzeczywiste sieci dodają po procesie odczytu funkcję ReLU, zdefiniowaną jako ReLU(z) = max(0, z): wartości dodatnie pozostają, a ujemne stają się zerem. Ponieważ wartości siły nigdy nie są ujemne, ujemny termin zakłócający obniża wynik poniżej zera, a funkcja ReLU ustala go na 0, co akurat jest poprawne dla błędnej cechy. Dlatego ujemne zakłócenia są bezpieczne, a tylko te dodatnie szkodzą.

Model zabawkowy

Układ jest zgodny z artykułem o modelach zabawkowych superpozycji (Elhage i in., 2022): bierze się 20 cech, przechodzi je przez 5 wymiarów, a następnie próbuje je ponownie odczytać.

Wykres przedstawia cały model, który sprowadza 20 liczb do 5, a następnie próbuje je wszystkie odzyskać.

  • x to prawda, czyli 20 wygenerowanych wartości.
  • W to macierz 5 × 20, której kolumna i odpowiada kierunkowi W_i.
  • h to skompresowana forma składająca się z 5 liczb.
  • x̂ to rekonstrukcja.
  • b zawiera 20 dodatkowych odchyleń, które są dodawane przed funkcją ReLU.
  • Proces szkolenia polega na minimalizowaniu średniej kwadratowej różnicy pomiędzy prawdą a jej rekonstrukcją.

Transpozycja Wᵀ to ta sama macierz obrócona na bok. Model nie posiada oddzielnej macierzy do odczytu, co właśnie sprawia, że kolumna i jest kierunkiem cechy i i nadaje „geometrii cech” rzeczywiste znaczenie. Liczba elementów wynosi 5 × 20 = 100 liczb w W plus 20 w b, czyli 120 parametrów do nauczania.

Żadna z cech nie ma nazwy. Cecha 7 to nie „cecha mnoga” – to po prostu kolumna 7. Jest to cecha projektu, a nie wada. Ponieważ nie ma żadnego języka wejściowego, nic, co wychodzi, nie może być stwierdzeniem o języku, więc każdy wzorzec musi dotyczyć kompresji rzadkich sygnałów, i dlatego ten sam wzorzec powinien się pojawiać w rzeczywistym modelu.

Rzadkość jest głównym parametrem. Każda wartość jest wybierana niezależnie: zerem z prawdopodobieństwem S, a w pozostałych przypadkach równomiernie w zakresie od 0 do 1. Przeprowadza się dziesięć prób, zwiększając wartość S od 0 do 0,5, następnie do 0,9, a potem do 0,999; pośrednie wartości to 0,95, 0,99 i 0,997, natomiast dolny zakres stanowią wartości 0,3, 0,7 i 0,8.

Architektura składa się z pojedynczej macierzy bez głębokości i bez mechanizmu uwagi. W kompresuje dane przy ich wprowadzaniu i dekompresuje je przy wyjściu, z jednym elementem ReLU na końcu. Określanie h jako warstwy ukrytej jest przesadą, ponieważ jest to po prostu W pomnożone przez x. Wszystkie dwadzieścia prób razem trwa około minuty na procesorze CPU.

Czytanie WᵀW

WᵀW nie jest parametrem diagnostycznym dodanym później – pojawia się automatycznie, gdy h = Wx zostanie podstawione do procesu odczytu.

WᵀW to tabela 20 × 20, która pokazuje operator, który model faktycznie stosuje do prawdy, przy czym wartością w pozycji (i, j) jest W_i · W_j. Jedno wykresy przedstawiają całe rozwiązanie. Wzdłuż przekątnej widać, jak mocno każda cecha jest zachowana – wartość bliska zera oznacza, że model ją porzucił. Poza przekątną widać, jakie cechy wpływają na siebie, a tabela pełna zer oznacza brak jakiegokolwiek wpływu. Idealem jest macierz jednostkowa, a superpozycja to stan modelu, który nie przyjmuje tego ideału.

Ten sam model jest pokazany przy czterech poziomach rzadkości. Po lewej stronie znajduje się pięć ciemnych komórek na przekątnej, piętnaście cech porzuconych oraz brak koloru poza przekątną, ponieważ nie ma żadnego wpływu do pokazania. Po prawej stronie znajduje się dwanaście ciemnych komórek na przekątnej oraz rozproszone kolory poza nią. Ten kolor stanowi cenę siedmiu dodatkowych cech.

Kontrola liniowa to ten sam eksperyment z usuniętym ReLU, przy czym nic innego się nie zmienia.

Dokładnie pięć cech jest przechowywanych na każdym poziomie rzadkości, nawet przy 0,999, i tak było we wszystkich dziesięciu próbach. Usunięcie nieliniowości więc nie tylko osłabia zasadę superpozycji, ale ją całkowicie eliminuje. Twierdzenie zmienia się z „ReLU pomaga” na „ReLU jest warunkiem wstępnym”, ponieważ bez automatycznego usuwania negatywnych zakłóceń dodatkowe cechy nigdy same się nie opłacają.

Panele po lewej stronie pokazują zmianę fazy. Krzywa wznosząca się to model ReLU przechodzący od 5 cech do 12, a linia pozioma to kontrola liniowa, która w ogóle się nie zmienia. Panel pośrodku pokazuje koszt – średnia wymiarowość spada z 1,0 do 0,38. Panel po prawej stronie przedstawia prawo zachowania, przy którym łączna liczba cech wynosi 5 we wszystkich dwudziestu próbach.

Co mierzy wymiarowość

Panele środkowy i prawy wykorzystują wymiarowość na poziomie poszczególnych cech, czyli to, jak dużą część danej wymiarowości posiada dana cecha sama dla siebie.

Wgórna część tego wzoru przedstawia stopień intensywności przechowywania cechy i, podniesiony do kwadratu, natomiast dolna część to jej całkowite kwadratowe nakładanie się ze wszystkimi elementami, włączając ją samą. Cecha znajdująca się samodzielnie na swojej osi nie ma z niczym nakładania się, więc dolna wartość jest równa górnej i D_i = 1. Gdy k cech dzieli tę samą osię, dolna wartość składa się z k równych wyrazów, więc D_i = 1/k.

Sumując wartości dla wszystkich cech, każdy z dwudziestu przeprowadzonych testów daje wynik pomiędzy 4,94 a 5,00, zarówno dla obu modeli, jak i przy każdym poziomie rzadkości. Przy S = 0,9 dziewięć cech jest przechowywanych z poziomem wymiarowości 0,5556 każda, a 5 ÷ 9 = 0,5556. Superpozycja nigdy nie zwiększa pojemności – dzieli ona określoną ilość na mniejsze części.

Czy średnia 2/3 dowodzi istnienia trójkąta?

Środkowa płyta osiągała średnią wymiarowość 2/3, co wyglądało jak dowód na to, że trzy cechy utworzyły trójkąt. Tak nie było, a ten błąd okazał się najbardziej użyteczną częścią projektu.

Średnia D równa 2/3 wynikałaby z trzech cech rozmieszczonych o kąt 120°, ale występuje również w innych układach, ponieważ D sumuje jedynie kwadraty nakładania się i nic nie mówi o geometrii, która je powoduje. Bezpośrednie pomiary kątów rozstrzygnęły sprawę: przy 30 próbach z 3 cechami w 2D, 29 z nich nie tworzyło trójkąta. Typowy wynik przedstawiał jedną cechę samą w sobie oraz dwie dzielące wspólną oś w przeciwnych kierunkach, o wymiarowościach 1,0, 0,5 i 0,5 oraz kątach 90°, 90° i 180°. Średnia pozostaje taka sama, 2/3, ale kształt jest zupełnie inny. Czy ten układ jest prawdziwym optymalnym rozwiązaniem, czy też wynikiem sposobu ważenia strat, pozostaje otwarte pytanie.

Jaki kształt przybierają cechy?

Aby kierunki mogły zostać narysowane na papierze, model jest sprowadzany do dwóch wymiarów, a liczba cech waha się od 3 do 6. Na pytanie „jaką formę?” można wtedy odpowiedzieć poprzez spojrzenie. Sześć poziomów rzadkości × pięć „nasion” × cztery liczby cech daje 120 prób.

Każdy kierunek cechy pojawia się jako strzała na okręgu, przy czym stopień rzadkości wzrasta w poszczególnych panelach. Strzała o długości zero oznacza cechę, która została usunięta. Przy wyższej rzadkości pojawia się więcej strzał, które są równomiernie rozmieszczone, a to właśnie ta odległość między nimi pozwala modelowi rozwiązać równanie interferencji – kierunki umieszcza się tak daleko od siebie, jak to możliwe, aby zmniejszyć każde wzajemne nakładanie się.

Czy to rozmieszczenie jest wiarygodne w miarę mnożenia się cech?

Wcale nie, a spadek jest znaczny. W testach użyto 30 „nasion” na każdą liczbę cech, przy tej samej konfiguracji, ale z różnymi losowymi początkowymi wagami, i policzono, jak często próby dawały tę samą formę.

Digon oznacza dwa elementy, które dzielą wspólną linię, ale skierowane są w przeciwnych kierunkach. Przy 3 elementach wynik jest niemal wyznaczony, natomiast przy 6 rozwiązania rozpraszają się między kilkoma konkurencyjnymi układami. Umieszczenie większej liczby elementów w tym przestrzeni pomnaża niemal równoważne rozwiązania, więc ostateczna geometria w większym stopniu zależy od początkowych ustawień. Istnieje jednak jeden ograniczenie: wszystkie wyniki są dwuwymiarowe, więc nie można stwierdzić, czy efekt zależy od całkowitej liczby elementów, czy od stosunku elementów do wymiarów. Odróżnienie tych dwóch czynników wymagałoby przeprowadzenia analizy wymiarów, czego nie zrobiono.

Wykres sortuje wszystkie 120 wyników według uzyskanych rezultatów. Wysoka kolumna w każdej grupie to zwycięzca, a jej wysokość maleje wraz ze wzrostem liczby elementów.

Czy rzadki autoenkoder może odczytać te elementy z powrotem?

Wszystko, co dotychczas było, to przykład zapisywania cech w ograniczonej przestrzeni. Problem odwrotny jest tym, którym zajmuje się badanie interpretowalności: przy dostępie tylko do h należy odtworzyć to, co zostało wprowadzone.

Na diagramie f to szeroki, rzadki kod – 40 liczb, z których prawie wszystkie wynoszą zero. Macierz dekodująca W_dec ma jako swoje kolumny atomy, czyli szacunki autoenkodera dotyczące prawdziwych kierunków, i to one stanowią jedyny istotny wynik.

TopK przechowuje k największych wartości, a wszystko inne ustawia na zero (Gao i in., 2024). Alternatywą jest kara L1 na stratie, która sprzyja pojawieniu się rzadkości. TopK nadaje się do tego zadania, ponieważ bezpośrednio naprawia rzadkość, podczas gdy waga kary dostosowana do jednego problemu nic nie mówi o innym. Porównywanie dwóch modeli o podobnej rzadkości jest trudne przy użyciu L1, natomiast przy TopK jest proste. Przed kodowaniem odjąwany jest bias dekodera, a następnie przywracany – dzięki temu atomy odzwierciedlają kształt danych i nie są marnowane na ich odchylenie od początku.

Autoenkoder nigdy nie widzi prawdziwych kierunków. Ocena następuje później poprzez porównywanie każdego prawdziwego kierunku z atomami na dwa sposoby, a różnica między tymi dwoma wynikami stanowi ostateczny rezultat.

Ocena odzyskania

Oczywista ocena polega na pytaniu: jak dobra jest najbliższa znaleziona przez autoenkoder rozwiązanie dla każdej prawdziwej cechy?

Każda prawdziwa cecha sama wybiera swój najlepszy atom, a nic nie przeszkadza dwóm cechom w wybraniu tego samego atomu. Załóżmy, że autoencoder połączył cechy a i b w jeden atom na podstawie ich sumy. Powstaje on w połowie drogi pomiędzy nimi; przy kącie 36° między cechami znajduje się 18° od każdej z nich, co daje cos(18°) = 0,951. Obie cechy uzyskują ocenę około 0,95, więc wynik wygląda doskonale, mimo że dwie cechy stały się jedną. Połączony atom rzeczywiście dobrze pasuje do obu.

Poprawne odzyskiwanie danych naprawia tę sytuację. Każdej prawdziwej cechy przypisuje się oddzielny atom w taki sposób, aby zmaxymalizować ogólną podobieństwo, przy użyciu funkcji scipy.optimize.linear_sum_assignment. Gdy dwie cechy są połączone, tylko jedna otrzymuje wspólny atom, a druga musi zadowolić się gorszym dopasowaniem, dzięki czemu efekt połączenia jest widoczny. Różnica między obiema ocenami mierzy stopień połączenia, ponieważ pojedyncza ocena może ją zamaskować.

Przypadek, w którym odzyskanie jest z zasady niemożliwe

Wyprowadzenie algebraiczne pokazuje, że problem nie wynika z błędu autoenkodera. Weźmy cechy a i b, które zawsze aktywują się jednocześnie z identyczną siłą, więc x_a = x_b dla każdego wejścia. Przyczyniają się one wtedy do aktywacji jednym wspólnym wyrazem.

Żaden metod nie może tego odwrócić, ponieważ aktywacje zawierają jedynie sumę obu kierunków. Poszczególne wartości W_a i W_b nigdy nie są widoczne. Informacja nie jest ukryta – po prostu brakuje jej. Silniejszy autoenkoder, dodatkowe obliczenia czy inna funkcja straty nie przywrócą jej. To jest nioidentyfikowalność, ograniczenie danych, a nie techniki.

Zmień jeden detal tak, aby obie cechy nadal zawsze aktywowały się razem, ale z siłami, które zmieniają się niezależnie, a obraz się odwróci. Zmienianie wartości x_a, podczas gdy x_b pozostaje niezmienione, ujawnia W_a, co umożliwia przywrócenie obu kierunków. Stwierdzenie „Współzależne cechy niszczą rzadkie autoenkodery” jest zatem zbyt uproszczone, by być prawdziwe: jednoczesna aktywacja nie stanowi zagrożenia, natomiast zamrożone siły są fatalne, a tylko to drugie stanowi prawdziwy problem.

Wyniki na modelu demonstracyjnym

Siatka obejmowała rzadkość, szybkość jednoczesnej aktywacji oraz powiązanie sił w 15 warunkach, z po 3 wartościami początkowymi każdy, co dało 45 prób z 20 rzeczywistymi cechami, 5 wymiarami i 40 atomami.

Dwanaście z piętnastu warunków wykazuje dokładnie 0% fuzji. Tylko trzy przypadki łączące pełne wspólne spalanie z całkowicie ustalonymi wartościami siły ulegają awarii, osiągając odpowiednio 20%, 50% i 40%, podczas gdy wspólne spalanie w połowie mocy z pełnym połączeniem siły pozostaje całkowicie nienaruszone. Mamy tu stromy spadek zamiast łagodnego nachylenia, i znajduje się on dokładnie w tym miejscu, gdzie para przestaje być rozpoznawalna.

Najgorszy warunek jest przedstawiony za pomocą czterech wskaźników. Autoencoder nie zawodzi w tym przypadku – przy trzech awaryjnych warunkach odzyskuje kierunek sumy każdej połączonej pary przy wynikach 0,878, a następnie dwukrotnie 1,000. To, co odkrył, to rzeczywista struktura, tylko nie ta oznaczona jako prawda podstawowa, ponieważ brakująca różnica nie występuje w danych.

Reprodukcjonalność również tego nie wykrywa. Zgodność pomiędzy różnymi uruchomieniami pozostaje na poziomie 0,878 do 0,925, nawet w przypadkach fuzji, ponieważ wszystkie uruchomienia prowadzą do tego samego rozwiązania. To świadczy o stabilnej optymalizacji, ale nic nie mówi o tym, czy rozwiązanie jest poprawne.

Fuzjonowane atomy znajdują się dokładnie pomiędzy dwoma cechami, które pochłonęły, co tłumaczy ich wysokie wyniki w obu kategoriach.

Czy przetrwa to w rzeczywistym modelu językowym?

Uzasadnioną zastrzeżeniem jest to, że umieszczenie 20 cech w 5 wymiarach jest absurdalnie ciasne, więc naturalnie one się łączą. W przypadku 768 wymiarów rzeczywistego języka to napięcie mogłoby zniknąć, ponieważ losowe kierunki są tam już przypadkowo oddalone o 87,9°. Testowanie tego napotyka na przeszkodę, ponieważ żadne z tych ustawień nie może na to samodzielnie odpowiedzieć.

W powyższej tabeli przedstawiono, jakie funkcje oferuje każda ustawienie. Model symulacyjny zna prawdziwe wartości, ale nie jest realistyczny, natomiast model rzeczywisty jest realistyczny, ale jego prawdziwe cechy są nieznane.

Syntetyczna iniekcja

Syntetyczna iniekcja łączy te dwa podejścia. Bierze się rzeczywiste aktywacje GPT-2, dodaje kilka wcześniej zaprojektowanych cech, trenuje autoenkodera na tej mieszaninie, nie wskazując, które cechy zostały dodane, i ocenia go wyłącznie na podstawie tych cech. Działa to podobnie do metody spike-in control. Detektor metali nie może być testowany na polu o nieznanej zawartości, ale zakopanie kilku monet i sprawdzenie, czy je znajdzie, jest skuteczne, a reszta pola może pozostać nieznana.

W tym ustawieniu h_real oznacza prawdziwą aktywację 768 numerów z modelu GPT-2 small na warstwie 8 podczas czytania rzeczywistego tekstu. 24 kierunki v_k to losowe wektory jednostkowe ustalone z góry, a siły a_k są kontrolowane, w tym określa się, które pary są ze sobą powiązane. Trzy warunki wykorzystują te same aktywacje, przy czym każdy obejmuje cztery pary: pary, które aktywują się w niepowiązanych momentach (warunek kontrolny), pary, które zawsze aktywują się razem przy dowolnych siłach, oraz pary, które zawsze aktywują się razem przy ustalonych siłach. Tylko ten ostatni warunek powinien zostać złamany.

GPT-2 small przetworzył ponad 2 miliony tokenów, a strumień pozostały informacji po warstwie 8, mniej więcej w połowie sieci, został zapisany jako wektory o wymiarze 768. Dało to 2 miliony wektorów, około 2,9 GB, w ciągu zaledwie siedmiu minut na GPU laptopa. Pozycja 0 została odrzucona, ponieważ pełni rolę „przyswajacza uwagi” o normie bliskiej 3100, w porównaniu do około 128 we wszystkich innych miejscach, co jest około 24 razy większe i mogłoby zdominować statystyki.

Losowy punkt odniesienia

Każda podana ocena to najlepsze dopasowanie spośród dużej liczby możliwości, a wybór najlepszego z wielu częściowo zależy od szczęścia. Dlatego musi istnieć punkt odniesienia dla tego, jakie bezsensowne kierunki mogłyby uzyskać jakąś ocenę. Dla pojedynczej pary dwa losowe kierunki jednostkowe w d wymiarach mają oczekiwane kwadratowe dopasowanie równe 1/d, więc typowa wartość wynosi 1/√768 = 0,036. W przypadku wyboru najlepszego z wielu porównywane są tysiące kandydatów, a zachowywany jest tylko najlepszy.

Teoria i pomiary nieco się różnią. Przy N = 2,543 atomach formuła przewiduje wartość 0,143, podczas gdy symulacja daje 0,126; przy N = 31,295 formuła przewiduje 0,164, natomiast symulacja wskazuje 0,145. Wartość przewidziana przez formułę jest o około 15% za wysoka, dlatego we wszystkich bazach danych używana jest wartość z symulacji. To, co formuła faktycznie poprawnie przewiduje, to kształt – linia bazowa rośnie wraz z pierwiastkiem kwadratowym z logarytmu wielkości zbioru. Słownik dwanaście razy większy podnosi tę wartość z 0,126 na 0,145 i nie więcej, więc sama wielkość nie gwarantuje wysokiej oceny.

Wynik

W tym testowaniu użyto 1 miliona tokenów, 3 072 atomów, metody TopK z k = 32 oraz 3 nasion, a ocena opierała się wyłącznie na 24 cechach.

Błąd powtarza się dokładnie w taki sam sposób. Wszystkie sparowane pary połączyły się przy wszystkich wartościach seed, przy czym wyniki odzyskania wyniosły odpowiednio 0,416, 0,418 i 0,417. Przejście na 768 wymiarów rzeczywistego języka nic nie zmienia, więc problemem nie jest brak przestrzeni; w danych brakuje informacji, które mogłyby odróżnić te dwie cechy.

To jest fuzja, a nie załamanie. Połączony kierunek każdej pary został odzyskany z dokładnością kosinusa 0,998, co jest równe wartości z grupy kontrolnej, co oznacza, że autoenkoder niemal perfekcyjnie odzwierciedlił rzeczywistą strukturę i jedynie połączył dwie cechy w jedną. Prosta metryka mogłaby to przeoczyć, pokazując wartość 0,702 w porównaniu z 0,417, co wydaje się przeciętne, ale nie alarmujące, ponieważ obie cechy mogą odnosić się do tego samego połączonego elementu.

Panele po lewej stronie pokazują stopień odzyskania dla poszczególnych warunków – zablokowana kreska kurczy się, podczas gdy pozostałe pozostają nienaruszone. Środkowy panel przedstawia każdą zablokowaną parę łączącą się przy każdym „nasieniu”. Prawy panel pokazuje, jak wynik wraca do wartości 0,998, na tym samym poziomie co w grupie kontrolnej, gdy łączny kierunek odpowiada celowi.

Bezpośrednie poszukiwanie podejrzanych o połączenie

Odrębna analiza obejmowała udostępnionego autoenkodera OpenAI dla GPT-2, szukając par cech, które nigdy nie występują osobno. Przyjrzała się 1 024 najczęściej występującym cechom w 2 milionach tokenów, co dało łącznie 476 408 par. Powyższa analiza algebraiczna wskazuje na dwa sygnały zagrożenia: po pierwsze, para jest ze sobą powiązana, a po drugie, ich siły są do siebie podobne.

  • Tylko 3 pary są niemal nierozdzielne.
  • W 17 403 parach siły tych cech są silnie skorelowane.
  • Żadna para nie spełnia obu warunków.
  • 200 par o największym stopniu powiązania ma medianową korelację sił wynoszącą zaledwie 0,024.

Rzeczywisty tekst daje przykład łagodnego rodzaju współwystępowania: elementy, które pojawiają się razem, ale których intensywność zmienia się niezależnie.

Wykres rozproszenia pokazuje kwadrant niebezpieczeństwa – obszar wysoki na obu osiach, całkowicie pusty. Pary skupiają się wzdłuż krawędzi: albo są powiązane, ale o różnej sile, albo mają podobną siłę powiązania, ale nie zawsze występują razem, a nigdy obie jednocześnie.

Poszukiwanie ma słaby punkt, i to jest powód istnienia eksperymentu z wstrzykiwaniem danych. Po połączeniu dwóch cech przez autoenkodera pozostaje tylko jeden atom i nie ma żadnej pary do wykrycia, więc wyszukiwanie par przechodzi obok fuzji, która już miała miejsce. Pusty obszar niebezpieczeństwa daje poczucie spokoju co do cech, które pozostały oddzielone, a milczy na temat tych, które tak nie zrobiły.

Czy dwa autoenkodery znajdują te same cechy?

Wszystkie dotychczasowe autoenkodery wykorzystywały sfałszowane aktywacje zawierające 24 umieszczone tam cechy. Dlatego kolejny model został wytrenowany na czystych aktywacjach z 1 milionem tokenów, 3 072 atomami, TopK k = 32 oraz dwoma seedami, przy czasie treningu cztery minuty na każdy. Został on porównany z udostępnionym słownikiem OpenAI, który posiada 31 295 aktywnych atomów oraz około miliarda tokenów treningowych mniej.

Czy ten mniejszy model jest wystarczająco zdrowy?

Rekonstrukcja jest oceniana wewnątrz modelu, a nie w przestrzeni aktywacji, ponieważ błąd kwadratowy traktuje wszystkie 768 kierunków jako równie ważne, podczas gdy GPT-2 tak nie robi. Rekonstrukcja jest włączana do procesu przetwarzania danych, a test sprawdza, w jakim stopniu pogarsza się przewidywanie następnego tokena.

Wykres przedstawia entropię krzyżową, stratę predykcyjną modelu wyrażoną w natach, przy czym wartość dla modelu „clean” wynosi 3,302. Obie wersje modelu osiągają ten sam wynik – odzyskują odpowiednio 93,76% i 93,97% straty, wyjaśniają 78,9% i 79,0% wariancji oraz zachowują 2 543 i 2 597 z 3 072 atomów. Słownik ujawniony do użytku odzyskuje 97,1% informacji. Wersja mała jest niedostatecznie wytrenowana według standardów branżowych, ale nadaje się do porównania.

Na tym wykresie pokazano średnią wartość kosinusa dla najlepszych dopasowań, uwzględniając jedynie żywe atomy, przy czym każda wartość jest oceniana względem własnego, losowego punktu odniesienia.

Po lewej stronie każda wartość jest pokazana w odniesieniu do własnego, losowego punktu odniesienia, a punkty te różnią się ze względu na różną liczbę atomów. Po prawej stronie te same wartości są przedstawione jako kąty. Słupki znacznie się kurczą, co jest właśnie celem – kosinus jest bowiem bardziej pobłażliwy, podczas gdy kąt jest bardziej dokładny.

Dwa modele pokrywały się we wszystkich wskaźnikach zdrowia, ale nie zgadzały się co do tego, czym jest cecha: 93,76% w porównaniu z 93,97% odzyskanej straty, 78,9% w porównaniu z 79,0% wyjaśnionej wariancji oraz 2 543 w porównaniu z 2 597 żywych atomów. Ich słowniki znajdowały się 38,6° od siebie, a żadna standardowa kontrola jakości tego nie zauważyła.

Czy większy słownik to po prostu podział naszego?

Wydany słownik zawiera 12 razy więcej atomów. Zwykle chodzi o podział cech, przy którym dodatkowa pojemność umożliwia przekształcenie jednej grubiej cechy w drobniejsze, takie jak cecha cytatu przechodząca w otwierające cudzysłowy, przypisanie dialogu i cudzysłowy ostrzegawcze. Jeśli tak jest, powinny zachodzić dwie rzeczy: wydane atomy powinny skupiać się wokół cech małego słownika, a każda cecha powinna być możliwa do odbudowy jako pozytywna mieszanina pobliskich atomów, ponieważ gruba cecha powinna łączyć swoje warianty bez znakowanej anulacji.

W teście q to jedna z kierunków cech z małego słownika. Pierwsza miara liczy atomy uwolnione znajdujące się w odległości kosinusa 0,4 od niego, co odpowiada 66,4° i jest celowo dużym wartością. Druga metoda bierze 16 najbliższych atomów uwolnionych jako kolumny macierzy B, dopasowuje najlepszą mieszankę bez dopuszczania ujemnych współczynników i podaje udział q wyjaśniony – przy czym R² = 1 oznacza doskonałe odtworzenie, a 0 oznacza brak wyjaśnienia.

Obie miary są obliczane dwa razy: raz na rzeczywistych cechach, a raz na 400 losowych kierunkach jednostkowych. Drugie obliczenie jest konieczne, ponieważ atomy wybrane ze względu na bliskość danego kierunku będą mu w pewnym stopniu odpowiadać, niezależnie od jego charakteru, co stanowi stronniczość selekcyjną. Znaczenie ma tylko różnica pomiędzy kolumnami.

Wynik

Każde warunkowanie wykorzystywało 400 kierunków zapytań wobec 31 295 atomów udostępnionych do użytku. Klasterowanie okazało się decydujące: prawdziwa cecha ma wokół siebie około sześciu atomów w pobliżu, podczas gdy 400 losowych kierunków nie zawierało żadnego atomu w promieniu 66°. Oba słowniki wyraźnie wskazują na te same obszary.

Objęcie obszaru było jedynie częściowe. Najbliższe 16 atomów udostępnionych do użytku odtwarza 0,696 cech, podczas gdy najlepszy pojedynczy atom daje 0,495, co oznacza około 30% niewyjaśnionego. Ten pozostały element może stanowić rzeczywistą drobną poprawkę, której brakuje w słowniku z udostępnionymi danymi, lub szum pochodzący od słabo wyszkolonych cech. Rozróżnienie tych dwóch przypadków wymagałoby przeprowadzenia analizy przy zdolności 8×, 16× i 32×, co zostało zaprojektowane, ale nie przeprowadzone.

Panele po lewej stronie pokazują liczbę uwolnionych atomów w pobliżu każdego zapytania – rzeczywiste cechy wahały się od około jednej do piętnastu, natomiast kolumna losowa zawierała pojedynczy wartość zero. Panele po prawej stronie porównują jakość odbudowy uzyskaną z najlepszego pojedynczego atomu z tą uzyskaną z szesnastu najbliższych atomów.

Główne ustalenia

  • ReLU jest niezbędne: po jego usunięciu kontrola liniowa zachowywała dokładnie 5 cech, niezależnie od stopnia rzadkości danych.
  • Superpozycja dzieli istniejącą pojemność i nigdy nie tworzy dodatkowej, ponieważ całkowita wymiarowość pozostawała na poziomie od 4,94 do 5,00 we wszystkich 20 próbach.
  • Pary, których nie da się odróżnić, łączą się nawet w aktywacjach GPT-2 o wymiarowości 768, ponieważ ich indywidualne kierunki nie występują w danych.
  • Prosty wskaźnik odzyskania może ukrywać fakty łączenia się atomów, ponieważ połączony atom dobrze pasuje do obu cech. Wskaźnik odzyskania dla takich przypadków wynosi 0,702, w porównaniu z 0,417 w przypadku GPT-2.
  • Reprodukcjonalność nic nie mówi o prawdzie: algorytmy wielokrotnie dochodziły do tego samego błędnego wyniku, co pokazuje jedynie, że proces optymalizacji można powtórzyć.

Umieszczenie jednej cechy w jednej wymiarze okazało się zbyt nudne dla sieci neuronowej.

Eksperymenty opierają się na artykule dotyczącym modelu przykładowego w zakresie ustawień i miary wymiarowości, na wcześniejszych badaniach nad monosemantycznością oraz interpretowalnością rzadkich autoenkoderów jako podstawie do budowy autoenkodera, a także na badaniu skalowalności z 2024 roku dotyczącym formuły TopK. Łącznie przeprowadzono 185 prób treningu na modelu przykładowym oraz 2 miliony aktywacji GPT-2.

Literatura pokrewna