Zewsząd zalewają nas informacje o Szutcznej Inteligencji, która - jak donoszą media - już jutro zabierze pracę wszystkim programistom. Jedynym rozwiązaniem jest porzucenie dotychczasowego zawodu i rozpoczęcie uprawy roli. Bo w końcu sami musimy mieć o tym pojęcie, żeby tę wiedzę przekazać naszym dzieciom - idąc za radą CEO firmy Nvidia. I o ile praca w ogrodzie to umiejętność, która zawsze będzie owocować (wink) i warto ją kultywować, o tyle ja nie o tym dzisiaj chciałem.
Uważam, że budowanie modelu mentalnego to podstawowy krok do zrozumienia czegokolwiek. Nie można zbudować niczego sensownego z klocków rozrzuconych po całym pokoju. Zatem zbierzmy najistotniejsze elementy układanki zwanej AI, aby lepiej zrozumieć, w jakim miejscu jesteśmy. W serii postów postaram się przybliżyć tę tematykę i zajrzeć za zasłonę tajemnicy rewolucji, która dzieje się na naszych oczach.
Chciałbym pochylić się nad tym fascynującym kawałkiem naszej branży, który od kilkunastu miesięcy przeżywa swoje najlepsze chwile, a na które czekał niemal przez 50 lat.
Słowem, a raczej skrótem, który został odmieniony przez wszystkie przypadki w ostatnim czasie, jest LLM. By jednak lepiej zrozumieć istotę tego pojęcia, musimy cofnąć się nieco w czasie, aby zrozumieć, skąd ono się wzięło. Jak już wspomniałem, nurt sztucznej inteligencji ma za sobą kilkadziesiąt lat prób i błędów, które doprowadziły naukowców i inżynierów do tzw. machine learningu. Już w latach 50. ubiegłego wieku Alan Turing rozpoczął marsz w kierunku myślących maszyn. Od tego czasu wiele się zmieniło. Mamy dostępnych znacznie więcej danych do przeprocesowania, a nasze komputery dysponują znacznie potężniejszą mocą obliczeniową. To wszystko pozwoliło na wdrożenie ML do naszej codzienności, w takich obszarach jak sklepy internetowe, poczta elektroniczna czy bankowość.
Wyobraźmy sobie, że mamy dostęp do ogromnej bazy danych. Efektywne jej przetworzenie nie byłoby możliwe bez skomplikowanych algorytmów. To właśnie tutaj ML wchodzi w grę. Algorytmy regresji czy klasyfikacji, dzięki uczeniu nadzorowanemu, nienadzorowanemu oraz uczeniu przez wzmacnianie, pozwalają dostosować odpowiednie parametry i wywnioskować z danych znacznie więcej, niż jest to możliwe dla ludzkiego umysłu. A na pewno nie w tak krótkim czasie. Sztandarowym przykładem, od którego zwykle rozpoczyna się zgłębianie uczenia maszynowego, jest analiza danych pasażerów Titanica. Na podstawie dostępnych informacji, takich jak numer biletu, pochodzenie, klasa społeczna, współpodróżujący, algorytm ma za zadanie ocenić, czy dana osoba przeżyła katastrofę. Poprzez wielokrotne analizowanie danych treningowych, algorytm dostosowuje swoje wagi, aby w przyszłości na danych produkcyjnych odpowiednio klasyfikować pasażerów. Nie chcę wchodzić w szczegóły uczenia maszynowego, bo to nie czas i miejsce na zagłębianie się w tak rozbudowaną technologię. Wspominam jednak o nim, ponieważ kładzie ono podwaliny pod dalsze rozważania. Uczenie maszynowe jest kamieniem węgielnym tego, co dzisiaj rozumiemy jako sztuczną inteligencję.
Z tych skomplikowanych algorytmów wychodzą nowe, jeszcze bardziej skomplikowane, połączone w wielkie sztuczne sieci neuronowe. To właśnie tutaj przechodzimy do tematu zwanego Deep Learning. Głębokie uczenie to właśnie takie wielowarstwowe konstrukcje algorytmów, które pozwalają na znacznie potężniejsze obliczenia, a wynikiem czego jest wizja komputerowa, przetwarzanie języka naturalnego czy choćby sztuczna inteligencja, która potrafi grać w gry. To właśnie ta ostatnia dziedzina przyniosła znaczący postęp, którego efekty widzimy dziś. Firma DeepMind, obecnie przejęta przez Google, w 2014 roku zaprezentowała algorytm, który do perfekcji opanował grę w ponga, rozpoczynając naukę bez żadnej wiedzy o zasadach gry. Przez wielokrotne iteracje, uczenie przez wzmacnianie, nie tylko nauczył się grać i zrozumiał zasady, ale również opracował najefektywniejszą strategię zdobywania punktów, umyślnie przerzucając piłeczkę ponad deseczki, by zbijać je odbijając ją od sufitu. W ten sposób efektywność gry przewyższała umiejętności przeciętnych graczy. Kontynuacją tych badań był zwycięski marsz w grze Go, gdzie mistrz świata musiał uznać wyższość maszyny.
Te wszystkie drobne kroki, które ludzkość wykonała w dziedzinie sztucznej inteligencji, doprowadziły nas do roku 2017, w którym to zespół badaczy z Google Brain oraz Google Research wydał rewolucyjny dokument zatytułowany “Attention is all you need”. Dokument ten, opisujący architekturę transformatorów, zrewolucjonizował dotychczasowe prace nad przetwarzaniem języka naturalnego. Warto zdawać sobie sprawę, że architektura transformatorów nie była pierwszą, którą stosowali badacze do przetwarzania tekstu. Wcześniej korzystali oni z algorytmów RNN, czyli rekurencyjnych sieci neuronowych, czy też Long Short-Term Memory, które jednak nie przynosiły tak spektakularnych efektów, jak wspomniany transformator. Szczegółami tej architektury zajmiemy się w innym wpisie, warto jednak wspomnieć, że to właśnie od tego momentu LLM zaczął pojawiać się w codziennym słowniku inżynierów i programistów na całym świecie.
Czy zatem pomiędzy architekturą transformatorów a LLM możemy narysować bezpośrednią linię łączącą? Tak i nie. Przede wszystkim warto zdawać sobie sprawę, że LLM jako struktura istniało już wcześniej. To właśnie rekurencyjne sieci neuronowe oraz inne algorytmy korzystały z wielkich zbiorów danych, ale dopiero implementacja architektury wspomnianej w dokumencie “Attention is all you need” - w postaci Chata GPT (Generative Pre-trained Transformator) zapewnił temu pojęciu więcej… atencji. To od tego momentu firmy na całym świecie rozpoczęły budowanie własnych modeli językowych w oparciu o tę jedną architekturę w różnych wariantach. Tak powstały kolejne modele GPT, Gemini, LLaMA itd., które są bezpośrednią implementacją architektury transformatorów na bazie wielkich zestawów danych.
O jak wielkich bazach mówimy? Jak przekonuje Andrej Karpathy, model LLaMA-2-7B był uczony na 10 terabajtach danych pobranych z internetu. Jego uczenie trwało 10 dni przy wykorzystaniu 2000 procesorów graficznych. Warto zaznaczyć, że ten model jest zaledwie kroplą wiedzy, na której bazują wielkie modele językowe, jak choćby ChatGPT.
Jak widać, ta dziedzina branży przebyła już długą drogę, by w końcu święcić wielkie sukcesy, które obecnie widzimy. Krok po kroku, przetwarzanie języka naturalnego staje się coraz bardziej zaawansowane. Wielkie pieniądze od inwestorów, wielkie infrastruktury mocy obliczeniowej oraz niebywała ilość danych powodują ogromny skok jakościowy. W kolejnych tekstach będziemy przyglądać się różnym obszarom LLM, ale przede wszystkim będziemy chcieli zrozumieć, w jaki sposób działają te modele i w jaki sposób możemy zaadaptować je do codziennej pracy.
Mam nadzieję, że przedstawiona pokrótce historia pozwoli łatwiej wejść w temat osobom, które dotąd słyszały jedynie o ChatGPT. Zapraszam do tej wspólnej przygody.