.
Recepta na Golema
.
Generative Large Language Multi-Modal Models w skrócie: GLLMMM takie jak chat GPT 4, to przyszłość która nadeszła.
Jak buduje się takie cuda sztucznej inteligencji?
Przepis jest bardzo prosty a diabeł tkwi w szczegółach.
Zaczyna się od analizy (ang. pretraining) przez sieć neuronową nowego typu, opracowanego dopiero w 2017 roku, który stoi za całą tą rewolucją (ang. transformers), zbioru danych z Internetu (zbiorów tekstowych sumujących się od 300 milionów do bilionów wyrazów, mających oczywiście wiele błędów). Dane te obejmują przede wszystkim zawartości stron internetowych, bo jest ich dużo i są to teksty, które można pobrać za darmo (około 80%). Ale jest tam również cała zawartość Wikipedii, miliony książek (Books), miliony artykułów naukowych (ArXiv) i miliony linii kodu napisanego przez niezliczonych programistów (GitHub). Ten etap jest właściwie całym procesem, bo zajmuje 99% czasu procesora. I już? No prawie już.
Sieć uczy się sama odnajdywania związków pomiędzy tym, co ludzkość napisała. Głęboka mądrość, ukryta prawda o świecie, musi być gdzieś do odnalezienia w wystarczająco dużej próbce naszych obserwacji i przemyśleń. Pomiędzy naszymi instrukcjami programowymi. Początkowe związki pomiędzy słowami i literami, przeradzają się w kontekstowe częstotliwości występowania wyrazów, które ostatecznie przeradzają się w semantyczne rozumienie czegoś głębszego co jest na pozór ukryte. W metawiedzę, którą dostarcza absorbcja wystarczającej próbki wszystkich języków. W praktyce pomiędzy pierwszą warstwą, a ostatnią metawarstwą rozumowania jest około 80 warstw pośrednich (modele te są aż tak rozwinięte).
Teoretycznie możemy przypuszczać, że człowiek obserwując Wszechświat i opisując go w swoich książkach i tekstach ujmuje w tysiącach perspektyw głębszą strukturę rzeczywistości z wystarczającą rozdzielczością, że bezrozumny proces absorbcji tej wiedzy, chwyta ten rdzeń i scala go z samym sobą, przez co staje się rozumny. A przynajmniej podążając za tą utartą ścieżką w większości przypadków dostarcza odpowiedzi na to, o co go pytamy i o dziwo prawidłowo domyśla się czego od niego oczekujemy. Prawdopodobnie przestrzeń możliwych błędnych ścieżek jest rozmyta i jakościowo większa od prawidłowych sposobów myślenia, które są skupione – mylić się można na wiele sposobów, prawidłowe sposoby postępowania są podobne do siebie, a przynamniej rezydują w swoim sąsiedztwie.
Powyżej wyraziłem tylko swoje osobiste przypuszczenie. Ci, którzy twierdzą, że wiedzą jak to działa po prostu kłamią (przynajmniej w 2023 roku). Nikt nie ma takiej wiedzy i to akurat nie jest przypuszczenie.
W praktyce tak trudno odnaleźć jest schemat działania, ponieważ sieć nawet nie działa (nie uczy się), nie wzrasta w swojej złożoności działając na słowach, lecz na liczbach. Słowa tekstów wejściowych w procesie tokenizacji (ang. byte pair encoding) zamieniane są na liczby (przy proporcji około 1 token równy 75% słowa). Co oczywiste ten proces jest bezstratny. Żadna informacja, żadna wiedza po tej zamianie nie jest tracona. Tekst napisany przez człowieka zamieniany jest na sekwencję liczb, która zasila sieć neuronową (jako materiał do jej nauki).
GPT 3, czyli golem 3.0 używał 50 257 unikalnych tokenów. Aby mieć porównanie jak wiele to unikalnych słów można zauważyć, że przeciętny człowiek posługuje się kilkoma tysiącami, a ci z nas którzy używają kilkanaście tysięcy uważani są za erudytów. Golem 4.0 prawdopodobnie (szczegóły nie są znane) doszedł do granicy 100 000 unikalnych słów, dlatego zadziwia świat swoją bezbłędnością.
Im mniejszy zbiór danych źródłowych, tym bardziej wygładzony musi być efekt końcowy, bo dane wejściowe nie obejmują wszystkich możliwych rodzajów wariacji sposobów myślenia o zjawiskach. Ale nawet przy największych sieciach, aby była ona użyteczna potrzeba szczypty dodatkowego wysiłku.
Algorytmem dla pierwszej głównej fazy (uczenia) jest jednakowa i prosta instrukcja celu: model językowy ma starać się idealnie przewidzieć kolejne słowo (a w praktyce liczbę) w ciągu swoich odpowiedzi (ang. predict the next token). Stara się więc prawidłowo dokończyć dokument, którego fragment mu podano. Nie będzie więc jeszcze udzielać odpowiedzi na pytania (chyba, że zostanie oszukany przez prompt engineering, że zamiast wykonywać zadanie, po prostu kończy dokument). Tak powstaje model bazowy typu SFT (ang. Shrink and Fine Tune).
W procesie finalnego wygładzania sieci (z użyciem tego samego algorytmu kończenia dokumentu) pokazujemy golemowi jakich odpowiedzi oczekujemy. W małej, ale bardzo dokładnie opracowanej bazie przykładów (między 10 a 100 tysięcy) przekazujemy wzorzec zachowania idealnego (ang. supervised finetuning). Tak, aby wytłoczyć na jego sieci neuronowej schemat odpowiadania na pytania, aby tym stało się dla niego kończenie przez niego dokumentu.
Następnie aby dodatkowo dopieścić finalny produkt wprowadzamy materiał do porównań (ang. reward modeling), również w małej ilości i doskonałej jakości (między 100 a 100 tysięcy przykładów). W praktyce zadajemy modelowi to samo pytanie i każemy mu wypracować różne rodzaje odpowiedzi, a następnie mówimy mu żeby uszeregował je od najlepszych do najgorszych. Tutaj funkcja celu zmienia się na binarny klasyfikator sukcesu bądź porażki jeśli pokryje się to z ludzką opinią. Używamy przez to ludzkiej wiedzy i doświadczenia, aby sortować rezultaty, co pozwala modelowi lepiej dostosować odpowiedzi do ludzkich potrzeb. Model nagrody w postaci sukcesu, bądź porażki w realizacji zadania odpowiedzi na pytania jest na końcu łączony z testami na tysiącach przykładów pytań (instrukcją celu jest maksymalizacja nagrody).
Do modelu siadają specjaliści (stażyści) zadając mu pytania, dużo pytań (między 10 tysięcy a 100 tysięcy przykładów), takich jakie zadaje końcowy użytkownik (z naciskiem na pytania egzotyczne i mające negatywne społeczne konsekwencje). Testerzy starają się znaleźć błędy w postaci odpowiedzi, które nie powinny być udzielone albo są udzielone w niewłaściwy sposób (tutaj wszystko zależy od subiektywnej oceny testujących go ludzi). Za każdą dobrą odpowiedź dajemy sieci nagrodę, co przypomina nieco tresurę (ang. reinforcement learning). Tak powstaje model końcowy typu RLHF (ang. Reinforcement Learning from Human Feedback).
Pomiędzy modelem bazowym a końcowym jest duża różnica w używalności. Z modelem końcowym dużo łatwiej się pracuje jako asystentem. Jednak ludzka tresura ucząca nieokrzesany model właściwych odpowiedzi tępi nieco jego kreatywność. Jego różnorodność mentalną, czyli dochodzi do utraty entropii (ang. entropy loss) możliwych odpowiedzi. Wtłaczając go w ramy i schematy jak szkoła ograniczamy jego zdolność do generowania niezwykłych połączeń. Dlatego do niektórych zadań lepiej używać modelu bazowego np. tworzenia kreatywnych nazw czegoś (po podaniu kilku reprezentacyjnych przykładów).
Modele językowe nie myślą jak człowiek. One potrzebują kolejnych pytań od człowieka by myśleć.
Są to symulacje kolejnych słów wypluwanych maszynowo i to bez refleksji, czy kolejne słowo powiązane jest z poprzednim. Dla człowieka takie myślenie byłoby niezbyt produktywne, bo nasza własna sieć neuronowa w mózgu popełnia zbyt wiele błędów. Potrzebujemy mechanizmu kontroli jakości i wzmacniania związków pomiędzy kolejnymi słowami, a poprzednimi, poprzez rozumienie sensu przekazu.
Jednak w modelach językowych, które są wystarczająco duże sens i związek pomiędzy słowami zaszyty jest tak dogłębnie, że korekcja błędów, w postaci odwoływania się do sensu przekazu, nie jest już konieczna. Model jest bezbłędny za pierwszym razem i to jest właśnie w nim tak zadziwiające i mówiące wiele o skali jego doskonałości. Jest on poprawny w wypowiedzi nie mając pamięci nawet ostatnio wypowiedzianego słowa. Jest on tak gęstą esencją naszej wiedzy – jest ona tak wyraźna, że meta sens (czyli nasze rozumienie rzeczywistości do którego odwołujemy nasze wypowiedzi) jest nią samą.
dr Zbigniew Galar