Nieznośna antropomorfizacja bytu papugi
Celem tego tekstu jest wyjaśnienie jak działają Duże Modele Językowe (LLM) i zaproponowanie pewnych intuicji pomagających zrozumieć tę technologię osobom nietechnicznym, oraz pożartowanie sobie, bo na wesoło lepiej się wiedza przyswaja.
Jak komputer rozumie tekst
Z tym bywało różnie, czego boleśnie doświadczył każdy, kto próbował korzystać z automatycznych tłumaczy. Komputer bowiem jest tak naprawdę dużym kalkulatorem. Tłumaczenie zaś polega na czytaniu ze zrozumieniem tekstu w oryginale i napisaniu go od nowa w języku docelowym, a jakość rezultatu będzie wprost proporcjonalna do stopnia zrozumienia oryginału.
Problemem zatem było znalezienie takiej cyfrowej reprezentacji słów, która by oddawała ich znaczenie. Zwycięzcą w tej kategorii okazał się wektor, czyli jeden wiersz Excela, z liczbami w każdej komórce. Liczby te w jakiś sposób kodują natężenie pewnych cech słowa. Taka cecha to na przykład miejsce w kontinuum męskości i żeńskości – słowo racja będzie zapewne bardziej kobiece, a słowo siła męskie. Wektor jest takim jakby DNA słowa, kodującym całą masę skojarzeń z nim związanych. To DNA nie jest wprost zaprojektowane przez człowieka, tylko wytwarza się samo w procesie uczenia sieci neuronowej, o którym sobie jeszcze opowiemy.
No dobrze, ale co na przykład ze słowem zamek? To może być coś, czym zamykamy bluzę, drzwi, albo transakcję na średniowiecznym rynku nieruchomości. Trzy bardzo różne koncepcje. Co się zatem wydarzy w naszym wierszu Excela? Otóż przez lata nic się nie działo i dlatego automatyczne tłumacze dostarczały nam więcej powodów do szydery niż wysokiej jakości tłumaczeń.
I tu właśnie wjechali cali na biało naukowcy, proponując mechanizm uwagi [5]. Uwaga to taka forma transformacji wektora, która nam pozwala go zaktualizować w oparciu o inne sąsiadujące z nim wektory; innymi słowy poznajemy słowa po towarzystwie, w jakim się obracają. Zatem jeśli w zdaniu mamy słowo rycerz oraz zamek to będzie jasne i dla nas i dla kalkulatora na sterydach, że ten zamek nie otwiera zbroi rycerza, tylko raczej stoi gdzieś dumnie i zawstydza patodeweloperów.
Mechanizm uwagi pozwala LLM przekalibrować wagi słów na podstawie ich kontekstu, aby móc skupić się na najważniejszych częściach tekstu. To sprawia, że LLM lepiej rozumie treści i może generować bardziej sensowne odpowiedzi.
Tak właśnie nasza cyfrowa inteligencja zrobiła się trochę mniej sztuczna.
Czym jest GPT, LLM i sieć neuronowa
Cóż znaczy to całe GPT w Chat GPT? Jest to akronim od Generative Pre-trained Transformer.
Transformer to architektura sieci neuronowej, której istotą jest transformacja czegoś w coś. Oryginalnym celem tej architektury było stworzenie lepszego automatycznego tłumacza. Architektura transformer radzi sobie dobrze także z innymi formami przekształceń. Może transformować długi tekst w krótki, tekst w obraz, tekst w muzykę itp. Niektórzy twierdzą, że także programistów w bezrobotnych.
Generative sugeruje, że jest to technologia, która coś tworzy. Stoi to w kontraście do pierwszych zastosowań sieci neuronowych, które były zazwyczaj pasywne. Sieć potrafiła nam rozpoznać jakiś wzór, np. odcisku palca i na tej podstawie odblokować nam telefon. Tutaj sieć coś nam generuje, stąd jest generative.
Pretrained to z kolei nawiązanie do dość specyficznej procedury uczenia, o której późnej.
LLM (Large Language Model) to duży model językowy. Tu nie ma nic niezwykłego. Choć ludzie z branży lubują się w wymyślaniu nadmiernie skomplikowanych lub przemądrzałych nazw, to tu akurat koń, jaki jest, każdy widzi.
Sieć neuronowa natomiast to pewien model obliczeniowy. Można go sobie wyobrazić jako pokaźnych rozmiarów funkcję matematyczną. Te pokaźne rozmiary obejmują coś w rodzaju dużego Excela, z wieloma arkuszami, a każdy z nich zawiera dużą tabelę z liczbami (to są wagi w rozumieniu sumy ważonej [2], która tam jest kalkulowana). Te liczby reprezentują wiele małych suwaków, wpływających w pewien sposób na wynik [4]. Jeśli nasza sieć ma rozpoznawać odcisk palca, to na jej wejście podajemy obraz (bitmapę) palca, a na wyjściu oczekujemy decyzji. Taki przebieg nazywamy nieskromnie wnioskowaniem. Natomiast kalibrację tych przełączników aby dobrze nam rozpoznawały właściwe palce i gardziły niewłaściwymi, nazywamy uczeniem.
W przypadku LLM sieć neuronowa na wejściu dostaje nasze zapytanie z kontekstem, a na wyjściu zwraca wektor (jeden wiersz Excela) z prawdopodobieństwami kolejnego fragmentu tekstu. Taki fragment nazywamy tokenem. Tokenem może być słowo, jego fragment, albo inne cudo (dla uproszczenia będziemy dalej udawać, że LLMy operują na słowach a nie tokenach). W każdym razie istotne jest to, że jeden przebieg sieci neuronowej (jedno wnioskowanie) daje nam tylko jedno słowo. Zatem, aby wyszedł nam z tego dłuższy tekst, musimy trochę poczekać. Aby nam się milej czekało, twórcy czatów opartych o LLMy wypisują nam tekst na bieżąco na ekranie.
Socjalizacja pierwotna i wtórna LLMów
LLMa noworodka wysyłamy do dwóch szkół – najpierw do podstawówki (pre-training), gdzie nauczymy go podstawowych faktów o świecie, a także czytać i pisać. Następnie do zawodówki (fine tuning), gdzie nauczymy go zawodu pomocnego asystenta. W podstawówce odbędzie się coś na kształt socjalizacji pierwotnej, w której nasz LLM przekształci się w sprytny generator tokenów zgodnych z elementarnymi normami społecznymi i gramatycznymi. W zawodówce z kolei będzie się socjalizować wtórnie do swojej ostatecznej roli zawodowej.
Uczenie podstawowe przypomina nieco robienie jajecznicy na śniadanie. Na początek potrzebujemy głównego składnika, którym będzie korpus tekstu do nauki. Korpus ten musi być dobrej jakości, inaczej jajecznica będzie niestrawna. Jednocześnie powinien być odpowiednio duży, żeby nasycić nasz głód wiedzy. Na szczęście mamy world wide web, gdzie tekstu jest dostatek. Wprawdzie pozyskanie tekstów z netu może ranić uczucia ich autorów oraz prawników od praw autorskich, ale jak mawiają wielcy innowatorzy z Doliny Krzemowej, aby zrobić jajecznicę trzeba rozbić parę jajek.
Teksty te należy naturalnie poddać ostrej selekcji. Nie chcemy naszego pupila nasycać wiedzą o kobietach z forów incelskich, uczyć się medycyny od antyszczepionkowców, astronomii od płaskoziemców, czy ekumenizmu od dżihadystów. Nie chcemy też, by nasz LLM recytował nam potem wierszyki z reklam. Tak więc taki pieczołowicie oczyszczony z szumowin wywar z Internetu będzie naszym korpusem do nauki.
Sama nauka polega na trenowaniu sieci neuronowej, aby nam skutecznie przewidywała prawdopodobieństwo wystąpienia kolejnego wyrazu w sekwencji tekstu. Algorytm z grubsza wygląda tak: losujemy sobie w korpusie jakąś sekwencję (zdanie lub kilka zdań), dajemy sieci na wejście tę sekwencję minus ostatni wyraz (token) i patrzymy, jak nam sieć oceniła prawdopodobieństwo wystąpienia tego ostatniego. Im wyżej, tym lepiej – to jest nasza funkcja celu (na początku parametry sieci są ustawiane na wartości losowe, więc wynik też będzie przypadkowy). Potem robimy tak zwaną propagację wsteczną [3], czyli dla każdego z parametrów sieci liczymy sobie, w którą stronę go trochę przestawić, aby ten wynik na końcu był bliższy oczekiwań. Potem losujemy kolejną sekwencję i tak w kółko.
Uczenie sieci neuronowej jest zwyczajnie procesem optymalizacji funkcji celu. Jeśli funkcja liczy nam wielkość błędu, to szukamy jej minimum. To jest nasz cyfrowy odpowiednik smażenia jajecznicy. Podstawowe analogie trzymają się mocno. Jak zbyt krótko będziemy smażyć, to nasz LLM będzie niedouczony i może nam potem głosować na populistów, albo halucynować o elektrycznych owcach. Jak będziemy smażyć za długo, to zbankrutujemy z powodu rachunku za prąd. Może też wystąpić zjawisko overfitting. Nasza sieć wykuje teksty źródłowe na blachę i zamiast nam pięknie uogólnić podane przykłady, to będzie je bezmyślnie recytować z literówkami włącznie. To może mieć różne przykre konsekwencje. Wspomniani wcześniej prawnicy od praw autorskich tylko czekają na takie wpadki.
Podstawówka dla LLMów trwa dość długo, gdyż zarówno ten korpus tekstu, jak i nasz Excel z parametrami naprawdę zasłużyły na pierwsze “L” w LLM. Czas ten mierzymy w miesiącach a budżet projektu w milionach USD. Nie próbujcie tego w domu.
LLM po podstawówce potrafi “tylko” wydukać kolejne słowa do jakiejś sekwencji. Czyli jak mu damy na wejście pierwsze zdanie jakiegoś artykułu z Wikipedii, to nam dopisze ciąg dalszy. Skądinąd pewnie słowo w słowo, bo kopiowanie Wikipedii do korpusów tego typu jest standardową praktyką. Zatem nasz LLM potrafi już pisać, ma też pamięć nasyconą tekstami źródłowymi, które dają mu pewną elementarną wiedzę o świecie. Na tym etapie nasz model jest tylko generatorem dalszej części tekstu, więc dość trudno byłoby się nim posłużyć do jakiś praktycznych zastosowań.
Dlatego właśnie konieczne jest dalsze kształcenie w zawodówce (fine tuning). Celem tejże jest przekształcenie naszego generatora tokenów w asystenta odpowiadającego na pytania. Tutaj będziemy naszemu LLMowi pokazywać skrypty przygotowane przez ludzkich ekspertów. Skrypt to pytanie i bardzo dobrej jakości odpowiedź. Zbiór tychże skryptów to pilnie strzeżona tajemnica firm produkujących LLMy. Metodyki ich wytwarzania również dynamicznie ewoluują. To tu właśnie nasz podopieczny nabiera ogłady, uczy się kultury słowa, szacunku dla faktów, obowiązujących w społeczeństwie konwenansów. W stopniu, ma się rozumieć, proporcjonalnym do występowania tychże w pokazanych mu skryptach.
Algorytm uczenia sieci neuronowej w zawodówce jest analogiczny, przy czym tym razem uczymy sieć odpowiadania na pytania (czyli wejściem do sieci jest pytanie zwane też promptem), a jakość odpowiedzi oceniamy poprzez porównanie jej z eksperckim skryptem. Ten etap jest dużo tańszy i szybszy, gdyż skryptów jest nieporównanie mniej niż tekstu w podstawówkowym korpusie, a także nasza sieć nie ma już całkowicie przypadkowych wag. Zatem w naszej śniadaniowej analogii można to porównać do posypania jajecznicy szczypiorkiem, dorobieniem kanapki i kawy.
Moja jajecznica jest lepsza niż twoja jajecznica
Jakość wiedzy LLM jest obarczona szeregiem niedoskonałości, będących naturalną konsekwencją procesu jej zbudowania. Wszystkie przekłamania w korpusie zostaną odzwierciedlone w sieci neuronowej naszego modelu. Zatem im lepiej reprezentowany jest dany język w publicznie dostępnych tekstach internetowych, tym lepiej LLM się go nauczy. Dlatego też wszystkie LLMy będą śmigać po angielsku, ale raczej nie spodziewałbym się świetnego wsparcia dla języka kaszubskiego. Tematyka szeroko opisywana w sieci, na przykład wiedza z zakresu IT, zostanie przyswojona bardzo przyzwoicie. Natomiast tematyka specjalistyczna, dostępna raczej w książkach za paywallami, czy wręcz tylko na papierze, pozostanie tamże właśnie.
Kolejny problem to pewna demokratyczność procesu uczenia. Jeśli na jeden świetny tekst z wiedzą aktualną i precyzyjną będzie przypadać dziesięć przeciętnych z wiedzą nieaktualną, to te ostatnie wygrają. Z tego powodu LLMy ogólnego przeznaczenia będą raczej powtarzały najbardziej rozpowszechnione opinie w publicznym internecie. O ile, ma się rozumieć, nie będą to na tyle kontrowersyjne opinie, żeby je ocenzurować albo w procesie selekcji danych do korpusu, albo skryptów zawodówkowych. Chaty LLMowe mają też wbudowane dodatkowe mechanizmy obronne, np. zanim pytanie trafi do właściwego “silnika”, musi najpierw przejść przez filtr cenzorski, który sprawdza, czy to pytanie jest odpowiednio etyczne (nie chcemy ludziom pomagać konstruować bomby czy trucizny). Niekiedy mamy też filtr à la izba refleksji, czyli cenzura odpowiedzi modelu właściwego. Pewien model chiński zasłynął z tego, że po wygenerowaniu poprawnej merytorycznie, ale nie politycznie odpowiedzi o plac Tiananmen, dokonał autocenzury.
Wiedza ludzkości nie jest bynajmniej jakimś pozbawionym kontrowersji konsensusem. Wręcz przeciwnie. Infosfera jest obszarem wojen politycznych, ekonomicznych, kulturowych, czy estetycznych. Wiele firm chciałoby wpłynąć na odpowiedzi popularnych LLMów co do tego jaki samochód, czy proszek do prania najlepiej kupić. Rządy państw mają rozbieżne opinie na temat statusu politycznego Krymu czy Tajwanu. Przygotowując korpus tekstu do nauki, musimy podjąć szereg decyzji co do cenzurowania określonych punktów widzenia i promowania innych. LLM jest zatem projekcją wartości kręgu kulturowego i politycznego, z którego się wywodzi jego producent, a także ducha czasu, w jakim korpus powstał.
Pokaż mi swoją jajecznicę, a powiem ci kim jesteś.
Czy stochastyczne papugi halucynują o elektrycznych owcach?
Co tak naprawdę potrafi LLM? Jak już ustaliliśmy wcześniej, sercem LLM jest generator rozkładu prawdopodobieństwa kolejnego tokenu w sekwencji tekstu. Jest to obudowane pewną dozą logiki, która nam dostarcza relatywnie bezpieczną usługę pomocnego asystenta gotowego na wykonywanie poleceń i odpowiadanie na pytania. Tak naprawdę podstawową kompetencją LLM jest parafrazowanie tekstu. Może to być tekstu wyuczony w podstawówce lub zawodówce. Może być pozyskany z wyszukiwarki internetowej. Może być podany przez użytkownika. Tylko tyle i aż tyle.
Stąd właśnie wzięła się metafora stochastycznej papugi [6]. LLM nie wytwarza nowej wiedzy, tylko papuguje (parafrazuje) wiedzę już istniejącą. W dodatku robi w sposób stochastyczny, więc jest pewnego rodzaju kasynem, w którym odpowiedzi się losują w wielkiej ruletce z tokenami. Nie bez powodu producenci LLMów ostrzegają, by nie pytać ich produktów o porady medyczne, prawne, czy jakiekolwiek inne, w których zła odpowiedź mogłaby spowodować, że do krwiożerczo nastawionych prawników od praw autorskich dołączyliby prawnicy innych specjalności.
Można na to patrzeć jak na szklankę do połowy pustą albo do połowy pełną. Sceptycy technologiczni powiedzą, że jest to ostateczny dowód na indolencję LLMów oraz ich nieuchronną niższość wobec naszego ludzkiego, wstrząsającego potencjału intelektualnego. Entuzjaści natomiast, że co niby z tego? Internet to “tylko” sieć lokalnych sieci komputerowych, a wystarczyło, żeby zrewolucjonizować świat. Komórka to “tylko” kieszonkowy pecet z radiem. Wreszcie, czy ludzkość aby na pewno dobrze wykorzystuje całą już dostępną wiedzę, żeby brak zdolności LLMów do wytwarzania nowej miał być jakimś szczególnym ograniczeniem?
Parafrazowanie tekstu to podstawowa kompetencja, której się od nas oczekuje w procesie edukacji. Prawie wszystkie egzaminy od podstawówki po certyfikaty zawodowe polegają albo na odpowiedzi na szereg pytań o dany tekst, napisaniu eseju na temat opisany w innym tekście, albo rozwiązaniu zadania matematycznego. LLMy świetnie sobie radzą z dwoma pierwszymi, a do trzeciego jest inny software (np. Wolfram Alpha). To nam coś mówi nie tylko o rozwoju informatyki, ale chyba nawet więcej o naszych systemach edukacji.
Czym innym, jak parafrazowaniem tekstu jest jakaś część pracy tłumacza, dziennikarza, nauczyciela, pracownika infolinii, doradcy kredytowego, sprzedawcy i wielu, wielu innych?
W jakimś zakresie wszyscy jesteśmy stochastycznymi papugami.
Nieznośna antropomorfizacja bytu papugi
Ludzie mają tendencję do projektowania swojego człowieczeństwa na otoczenie. Mówimy, że komputer myśli, gdy ten przez chwilę nie odpowiada. Mówimy, że komputer nas nie lubi, gdy coś nam nie wychodzi. Uśmiechamy się do interfejsów graficznych.
Kiedy słyszymy dane słowo, na przykład dziecko, budzi to w nas szereg reakcji emocjonalnych, skojarzeń z własnym dzieciństwem, doświadczenia bycia rodzicem, czy znanych nam historii rodzinnych z literatury i telewizji. Przypomina nam to emocje, zapachy, dotyki, dźwięki. Mamy wiele źródeł wiedzy, z których możemy korzystać, aby zrozumieć jakąś sytuację i móc się do niej odnieść.
LLM nie doświadczył życia. Nie spłodził syna, nie zasadził drzewa, nie zbudował domu. To taki skrajny autystyk z pamięcią niemal absolutną, który przeczytał cały web i potrafi go cytować z pamięci. Dla LLMa słowo jest wektorem w przestrzeni semantycznej, wytworzonej w procesie uczenia. Nie budzi uczuć, nie aktywuje wspomnień, bo takowych LLM nie posiada. LLM ma tylko pamięć tekstową, świecącą światłem odbitym mądrości ludzi, którzy napisali teksty źródłowe. W tych tekstach mogą się znajdować opisy emocji i doświadczeń sensorycznych i te opisy mogą być zacytowane i tym samym stworzyć wrażenie rozumienia na głębszym poziomie, niż ono naprawdę ma miejsce.
Nie przepadam za określeniem sztuczna inteligencja i świadomie unikałem go w tym tekście. Jest to pojęcie marketingowe, które wprowadza w błąd osoby nietechniczne, wzmacniając tendencję do antropomorfizacji tej technologii.
Komputer to kalkulator na sterydach. Sieć neuronowa to duży Excel. LLM to automat do parafrazowania tekstu. Owszem, jest to wspaniała technologia o potężnym potencjale i bez wątpienia napędzi ona kolejną falę cyfrowej rewolucji, automatyzując kolejne obszary naszego życia. Nie jest to jednak kamień filozoficzny. Postarajmy się ją widzieć taką, jaką naprawdę jest.
Literatura
Osobom żądnym prawdziwej wiedzy, pozbawionej uproszczeń, żartów i memów, za to należycie nasyconej matematyką, polecam lekturę następujących pozycji.
[1] Turing (1950), Computing Machinery and Intelligence, https://courses.cs.umbc.edu/471/papers/turing.pdf
[2] Rosenblatt (1958), Perceptrons, https://www.ling.upenn.edu/courses/cogs501/Rosenblatt1958.pdf
[3] LeCun, Boser, Denker, Henderson, Howard, Hubbard (1989), Backpropagation Applied to Handwritten Zip Code Recognition, https://ieeexplore.ieee.org/document/6795724
[4] Glorot, Bordes, Bengio (2011), Deep Sparse Rectifier Neural Networks, https://proceedings.mlr.press/v15/glorot11a/glorot11a.pdf
[5] Vaswani, Shazeer, Parmar, Uszkoreit, Jones, Gomez, Kaiser, Polosukhin (2017), Attention Is All You Need, https://arxiv.org/pdf/1706.03762
[6] Bender, Gebru, McMillan-Major, Shmitchell (2021) On the Dangers of Stochastic Parrots: Can Language Models Be Too Big?, https://dl.acm.org/doi/pdf/10.1145/3442188.3445922







