Jak działają duże modele językowe?

Świat sztucznej inteligencji opanował temat dużych modeli językowych – w ostatnim czasie ta dziedzina prężnie się rozwija, a najbardziej popularny model – GPT-4 – jest wierzchołkiem góry lodowej. Takie modele mogą wykonywać tysiące różnych zadań (np. przewidywanie kolejnego słowa w zdaniu, tłumaczenia, streszczenia, spisywanie list, parafrazowanie, odpowiadanie na pytania, pisanie maili, wypracowań i wiele innych), nic więc dziwnego, że jesteśmy świadkami kolejnej technologicznej rewolucji. 

Ten temat jest niezwykle obszerny i ciekawy, dlatego postanowiliśmy wprowadzić serię opisujących go artykułów.

Zaczniemy od podstaw, czyli tego, czym w ogóle są duże modele językowe i jak działają.

Modele językowe to narzędzia używane w dziedzinie przetwarzania języka naturalnego (NLP – Natural Language Processing), które – w dużym skrócie – zamieniają podany tekst na nowy tekst. Model językowy przewiduje, jaki tekst powinien wygenerować w oparciu o wcześniejsze konteksty językowe. Modele językowe są statystycznymi modelami probabilistycznymi, które uczą się występowania sekwencji słów w języku. Słowo jest dla modelu tokenem lub zbiorem tokenów (szczególnie w przypadku dłuższych słów). 

Przykładowo, możemy podać modelowi 3 słowa (tokeny), a on zgadnie, jakie powinno być kolejne słowo (token):

Żeby dokładniej zrozumieć działanie modeli językowych warto poznać ich historię, ale temat jest na tyle ciekawy (a szczególnie to, jak ta dziedzina rozwinęła się przez ostatnie kilka lat), że opiszemy go w osobnym artykule. Jednak podstawową wiedzą na ten temat jest to, że iskrą zapalną w tym temacie była praca stworzona przez pracowników Google – “Attention is all you need” – oraz rodzina ich modeli językowych BERT. 

Zespół Google stworzył pojęcie transformerów, które są podstawą działania tego, co znamy dzisiaj. Działanie transformerów nie jest skomplikowane – w uproszczeniu składają się one z enkoderów i dekoderów. Enkoder dostaje tokeny od użytkownika, a funkcją dekodera jest podanie tekstu wynikowego na bazie dostarczonego kontekstu. Oczywiście enkodery i dekodery składają się jeszcze z innych części, jednak sama idea działania transformerów jest prosta i sprowadza się właśnie do tych dwóch pojęć. Co ciekawe, późniejsze modele (np. GPT) nie używają enkodera – ich bazą jest sam dekoder.

Żeby łatwiej było zobrazować sobie to, jak działają transformery, posłużymy się przykładem – załóżmy, że chcemy, żeby model poprawił błędy i literówki w zdaniu: “Poszlem wczoraj kupic nowa lodowke.”:

Najważniejsza różnica pomiędzy działaniem transformerów a poprzednich modeli językowych (Rekurencyjne Sieci Neuronowe – RNN) jest taka, że te poprzednie przetwarzały kolejno słowo po słowie, a transformery przetwarzają całość podanego tekstu od razu, w związku z czym są też szybsze.

Poniżej możecie zobaczyć diagram architektury transformerów (z pracy “Attention is all you need”):

Jak możecie zobaczyć na diagramie, często pojawiającym się pojęciem jest “Multi-Head Attention” – te atencje są podstawą działania transformerów i określają, jakie słowa są ze sobą powiązane w podanym tekście. W skrócie, atencje są odpowiedzialne za mnożenie ze sobą zbiorów macierzy. Macierze powstają w wyniku trenowania modelu. Następnie atencja przekazuje dane do sieci neuronowej, która daje w wyniku kolejne macierze. Części składowe dekodera nawarstwiają się, czyli tekst z sieci neuronowej trafia do atencji w kolejnej warstwie, potem znów do sieci neuronowej (i to może się powtarzać wiele razy), aż w końcu w wyniku podany jest wektor – ciąg liczb.

W tym miejscu warstwy dekodera kończą swoje zadanie, a podany ciąg liczb trafia do kolejnej sieci neuronowej (“Linear”). Zadaniem tej sieci neuronowej jest zamiana podanego ciągu liczb na prawdopodobieństwa wystąpienia znanych modelowi słów. Następnie te wszystkie prawdopodobieństwa są normalizowane (“Softmax”) i wybierany jest token (słowo) z największym prawdopodobieństwem – użytkownik dostaje swój wynik.

Jak widzicie, pomimo tego, że duże modele językowe potrafią wykonać ogromną liczbę różnorodnych zadań, to ich działanie można prosto wytłumaczyć. Oczywiście każdy element można opisać o wiele, wiele szerzej, niż jest to zrobione w tym artykule, ale chcieliśmy wam przedstawić podstawowe informacje o tym, jak działają takie modele. Zapraszamy was na kolejne artykuły, które pojawią się niebawem – znajdziecie w nich wiele ciekawostek na temat LLMs!

Post a Comment