Artykuł pochodzi z wydania: Wrzesień 2025
Przetwarzanie języka naturalnego przez komputery umożliwiło powstanie wielu rozwiązań ułatwiających codzienną pracę, w tym LLM-ów. Aby korzystać z tej pomocy m.in. w analizie ogromnych ilości danych, możemy zainstalować taki model lokalnie.
Przetwarzanie języka naturalnego (NLP – Natural Language Processing) jest obecne w informatyce od dziesięcioleci, ale dopiero rok 2017 przyniósł rewolucyjne rozwiązanie, dzięki któremu algorytm modeluje zależności statystyczne i kontekst. Innymi słowy sprawia, że wydaje się nam, ze rozumie nasz język i potrafi w nim odpowiadać. Publikacja pracy pt. „Attention is all you need” (arxiv.org/abs/1706.03762) wprowadziła do świata AI nową architekturę sieci neuronowej zwaną transformerem, która potrafi zrozumieć znaczenie słów (ich semantykę), wykonując dodatkowe obliczenia w dodanym bloku sieci (attention block). Innowacyjną konstrukcję wykorzystano do stworzenia LLM-ów (Large Language Model), tj. AI radzących sobie coraz lepiej z tekstem.
Działanie LLM-ów
W uproszczeniu duży model językowy to większa sieć neuronowa, która na podstawie dostarczonych danych dostosowała do nich wartości swoich parametrów. Przymiotnik „duży” w nazwie odnosi się do liczby parametrów i danych treningowych wykorzystywanych w sieciach. W nomenklaturze szeroko pojętej sztucznej inteligencji parametry sieci neuronowej to wagi – liczby rzeczywiste, których wartość zmieniana jest podczas treningu na podstawie wartości funkcji (loss function) informującej sieć, czy dane wartości wag dają poprawny wynik. W nich właśnie zapisana jest wiedza, jak ma działać sieć, aby generować poprawne wyniki. Liczba wag i ich struktura decydują o zdolności modelu (sieci) do reprezentowania złożonych zależności językowych oraz o jego potencjale do generalizacji na dane, których wcześniej nie widział. Obecnie LLM-y mają miliardy takich wag. Pierwsze sieci BERT, GPT-1 miały ok. 100–120 mln parametrów, a według szacunków (dane nie zostały upublicznione przez OpenAI) model GPT-4 dysponuje 180 mld parametrów, a GPT-4o już ponad 200 mld.
Z liczbą parametrów mocno powiązana jest kwestia wydajności sprzętu, na którym uczony i uruchamiany jest model. Przed wypuszczeniem modelu w świat należy dokonać jego treningu (m.in. faza pre-training) na dużych zbiorach danych, podczas którego wykonywane są ogromne ilości obliczeń – to dość skomplikowanych i wymagających sprzętowo. W ujęciu obliczeniowym koszt przetworzenia jednego tokena w treningu transformera jest ok. trzykrotnie wyższy niż podczas odpowiadania na pytania użytkowników.
Po wytrenowaniu modelu zapotrzebowanie na zasoby spada, ale wciąż im jest ich więcej, tym lepszą otrzymamy odpowiedź, na dodatek w krótszym czasie. Po fazie pre-trainingu model zyskuje nowe wartości swoich parametrów (wag), które zapewniają mu możliwość zrozumienia języka, gramatyki i ogólnej wiedzy.
Do utworzenia LLM-u należy wykorzystać odpowiednią architekturę sieci neuronowej, dobrać liczbę parametrów oraz dane do wykonania pre-trainingu. Na koniec model należy dostroić do pożądanej docelowej formy. Poszczególne AI będą się od siebie różnić w zależności od tego, jaką mocą obliczeniową, finansami i kadrą dysponują ich twórcy. Dane treningowe do wyuczenia sieci również mogą być różnej jakości, dobrane w inny sposób (niereprezentatywny, nieoddający pełnej specyfikacji języka), dostosowane do natury tylko jednego konkretnego języka. Ponadto zbiory mogą być zróżnicowane pod względem objętości – od gigabajtów po petabajty. Wspominane trzy cechy to jednak nie wszystko, co wpływa na jakość modelu. Całość jest nieco bardziej skomplikowana.
Wspomnieliśmy, że po publikacji artykułu „Attention is all you need” wzrosła liczba LLM-ów na rynku. Nie wspomnieliśmy jednak, co odróżnia je od wcześniejszych rozwiązań. Systemy do generowania tekstu (GPT – generative pre-trained transformer) mają za zadanie zwrócić jedno słowo na podstawie wcześniejszych danych, generują słowa na podstawie poprzednich słów. W słowniku pojęć związanych z LLM-ami nie istnieje pojęcie słowa, ale wykorzystywany jest tzw. token, który dotąd traktowaliśmy tożsamo. Token to ciąg bajtów lub znaków, który powstaje w wyniku działania konkretnego algorytmu tokenizacji – może odpowiadać całemu słowu, fragmentowi słowa, interpunkcji lub spacji. Na udostępnionej przez OpenAI stronie platform.openai.com/tokenizer możemy zobaczyć, w jaki sposób różne modele wykonują proces tokenizacji inputu. W zależności od modelu proces ten da się przeprowadzić na kilka sposobów, przez co w wyniku przekształcenia tego samego zdania otrzymujemy różną liczbę tokenów. Tokenizacji możemy dokonywać za pomocą rożnych algorytmów. Ich wynik, w zależności od modelu lub wybranego algorytmu, możemy zobaczyć na stronie tiktokenizer.vercel. app. Dla modelu ważniejsza jest jednak reprezentacja numeryczna tokenu, który również zwraca tokenizer. Token ID to liczba przypisana każdemu tokenowi. Służy ona jako indeks do pobrania z modelu tzw. wektora embeddingowego – wektora liczb rzeczywistych o stałej liczbie wymiarów (np. 768, 4096, 12288). Embeddingi pozwalają modelowi reprezentować znaczenie tokenów w wielowymiarowej przestrzeni wektorowej, a tym samym na analizę i generowanie tekstu na poziomie głębszym niż same tokeny. Umieszczenie tokenu w wielowymiarowej przestrzeni pozwala na nadanie mu znaczenia (zrozumienie przez model). Do zwizualizowania koncepcji embeddingu może posłużyć strona projector.tensorflow.org, przy czym wymiary (osie) zostały tutaj zredukowane, aby umożliwić przeglądanie wyników. Jak widać, podobne embeddingi znajdują się w przestrzeni blisko siebie.
Na podanej stronie prezentowany jest algorytm word2vec, który mapuje słowa na wektory i nie zmienia ich wartości. W transformerach po utworzeniu wektorów w procesie embeddingu model może je zmieniać (aktualizować wartości wektorów wzdłuż osi), aby odzwierciedlić ich sens, semantykę, zależności między nimi. Proces zmian następuje podczas uczenia sieci.
Wprowadzenie embeddingów do przetwarzania języka naturalnego otworzyło nowy etap rozwoju tej dziedziny, ale wciąż należało uporać się z tym, że słowa lub frazy może wynikać z kontekstu i zostać odczytane na kilka sposobów. Zdanie „Kasia dała Ewie jej książkę, bo miała więcej czasu” zawiera dwa kłopoty, z którymi trudno było sobie poradzić za pomocą narzędzi takich jak word2vec, wykorzystujących embeddingi statyczne. Chodzi o odszyfrowanie, na kogo wskazuje słowo „jej”, oraz kto miał więcej czasu – Kasia czy Ewa. Wyizolowanie tokenu i przetworzenie go bez uwzględnienia jego relacji z pozostałymi tokenami w sekwencji (zdaniu) nie prowadzi do rewolucyjnych wniosków. Takie rozwiązania w informatyce już istniały i opierały się głównie na analizie statystycznej słów. Publikacja „Attention is All You Need” prezentuje transformera (T w GPT), którego architektura składa się z wielu warstw enkodera i dekodera, a centralnym elementem działania obu jest mechanizm atencji. Atencja wykorzystuje reprezentację tokenów jako wektory, co pozwala na obliczenie prawdopodobieństwa i relacji między nimi za pomocą iloczynu skalarnego. Zadaniem enkodera jest zakodowanie znaczenia sekwencji wejściowej, a dekodera wygenerowanie kolejnego tokenu. Bloki atencji (znajdujące się w enkoderze i dekoderze) umożliwiają analizowanie sekwencji tokenów z uwzględnieniem relacji, jakie między nimi zachodzą. Dzięki temu model nie traktuje już tokenów jako osobnych elementów, a zaczyna postrzegać całą sekwencję jako spójną strukturę, w której znaczenie każdego tokenu zależy od jego kontekstu i roli. Dodatkowo przetwarzanie nie musi już odbywać się sekwencyjnie – działania wykonywane są równolegle, by w pełni wykorzystać zasoby. Na koniec to, co wychodzi z bloku atencji, przepuszczane jest przez sieć feedforward (FFN) stosowaną osobno dla każdego tokenu. Poza wynikiem, który zostanie wyprodukowany z tej części sieci, transformer nauczy się (za pomocą zmiany wag), jak uzyskać dodatkowe informacje z pojedynczych tokenów, które przetwarza.
Do wygenerowania odpowiedzi na nasz prompt LLM bierze pod uwagę nie tylko aktualne wejście, ale również poprzednie konwersacje. Ilość danych z poprzednich zapytań, która zostanie przekazana i poddana analizie przez model, zależy od jego parametru context window. W uproszczeniu jej wartość odczytuje się jako ilość słów (tokenów), które może analizować sieć w jednym zapytaniu. Model GPT-5 ma zdolność do przetwarzania 128 tys. tokenów, a Llama 4 Scout aż do 10 mln.
[…]
Paweł Ziółkowski
Autor jest absolwentem Uniwersytetu Ekonomicznego we Wrocławiu i informatykiem w Urzędzie Miejskim w Miękini.





