LLM: co to jest duży model językowy?

Nowsza technologia, duże modele językowe (LLM) przewidują token lub sekwencję tokenów, czasami wiele akapitów przewidywanych tokenów. Pamiętaj, że tokenem może być słowo, podsłowo (podzbiór słowa), a nawet pojedynczy znak. Duże modele językowe znacznie lepiej przewidują wyniki niż modele językowe N-gram lub rekurencyjne sieci neuronowe, ponieważ:

  • Modele LLM zawierają znacznie więcej parametrów niż modele rekurencyjne.
  • Modele LLM zbierają znacznie więcej kontekstu.

W tej sekcji przedstawiamy najpopularniejszą i najpowszechniej używaną architekturę do tworzenia LLM: Transformer.

Co to jest Transformer?

Transformery to najnowocześniejsza architektura, która umożliwia tworzenie różnych aplikacji opartych na modelach językowych, takich jak tłumaczenie:

Rysunek 1. Dane wejściowe: I am a good dog. Na podstawie modelu Transformer translator przekształca dane wejściowe w dane wyjściowe: Je suis un bon chien, czyli to samo zdanie przetłumaczone na francuski.
Rysunek 1. Aplikacja oparta na Transformer, która tłumaczy z angielskiego na francuski.

 

Pełne przetworniki składają się z enkodera i dekodera:

  • Kodowanie polega na konwertowaniu tekstu wejściowego na pośrednią reprezentację. Koder to ogromna sieć neuronowa.
  • dekoder przekształca tę reprezentację pośrednią w przydatny tekst. Dekoder to również ogromna sieć neuronowa.

Na przykład w tłumaczu:

  • Koder przetwarza tekst wejściowy (np. zdanie w języku angielskim) w jakiś pośredni format.
  • Dekoder przekształca tę pośrednią reprezentację w tekst wyjściowy (np. zdanie w języku francuskim).
Rysunek 2.  Tłumacz oparty na Transformerze rozpoczyna się od kodera, który generuje pośrednią reprezentację zdania w języku angielskim. Dekoder konwertuje tę pośrednią reprezentację na zdanie wyjściowe w języku francuskim.
Rysunek 2. Pełny model Transformer zawiera zarówno enkoder, jak i dekoder.

 

Co to jest samoobserwacja?

Aby wzbogacać kontekst, modele Transformer w dużej mierze opierają się na koncepcji samouczenia. W zasadzie w imieniu każdego tokena danych wejściowych funkcja self-attention zadaje to pytanie:

„W jakim stopniu każdy inny token wejściowy wpływa na interpretację tego tokena?”

„Self” w „self-attention” odnosi się do sekwencji wejściowej. Niektóre mechanizmy uwagi nadają większą wagę relacjom między tokenami wejściowymi a tokenami w sekwencji wyjściowej, np. tłumaczeniu lub tokenom w innej sekwencji. Samouważność ma jednak znaczenie tylko dla relacji między tokenami w sekwencji wejściowej.

Dla uproszczenia przyjmijmy, że każdy token to słowo, a cały kontekst to tylko jedno zdanie. Zastanów się nad następującym zdaniem:

The animal didn't cross the street because it was too tired.

Poprzednie zdanie zawiera 11 słów. Każde z 11 słów zwraca uwagę na pozostałe 10 i zastanawia się, jak bardzo każde z nich jest ważne dla siebie. Na przykład zwróć uwagę, że zdanie zawiera zaimek it. Zaimki są często niejednoznaczne. Zaimek to zwykle odnosi się do rzeczownika lub wyrażenia rzeczownikowego, ale w przypadku tego zdania do którego rzeczownika odnosi się zaimek to – do zwierzęcia czy ulicy?

Mechanizm samouczenia określa trafność każdego słowa znajdującego się w pobliżu zaimka it. Rysunek 3 przedstawia wyniki – im ciemniejszy niebieski kolor linii, tym większe znaczenie ma to słowo dla zaimka it. Oznacza to, że zwierzę jest ważniejsze niż ulica dla zaimka go.

Rysunek 3.  trafność każdego z 11 słów w zdarzeniu „Zwierzę nie mogło przejść przez ulicę, ponieważ było zbyt zmęczone” w odniesieniu do zaimka „to”. Słowo „zwierzę” jest najbardziej odpowiednie do zaimka „to”.
Rysunek 3. Użycie zaimka it w odniesieniu do siebie. Z artykułu Transformer: A Novel Neural Network Architecture for Language Understanding (Transformer: nowatorska architektura sieci neuronowych na potrzeby rozumienia języka).

 

Załóżmy, że ostatnie słowo w zdarzeniu zmienia się w ten sposób:

The animal didn't cross the street because it was too wide.

W poprawionym zdaniu funkcja samouczenia powinna uznać ulicę za bardziej odpowiednią niż zwierzę do zaimka to.

Niektóre mechanizmy samouczenia są dwukierunkowe, co oznacza, że obliczają wyniki trafności dla tokenów poprzedzającychnastępujących słowo, na którym skupia się uwaga. Na przykład na rysunku 3 widać, że słowa po obu stronach it są badane. Dzięki temu dwukierunkowy mechanizm samouwagi może zebrać kontekst ze słów po obu stronach analizowanego słowa. Z kolei jednokierunkowy mechanizm samouczenia może zbierać kontekst tylko ze słów po jednej stronie słowa, na które jest nakierowany. Dwukierunkowa autouwaga na temat jest szczególnie przydatna do generowania całych sekwencji, natomiast aplikacje generujące sekwencje dla każdego tokena wymagają jednokierunkowej, samoobsługowej uwagi. Dlatego kodery stosują dwukierunkową komunikację, a dekodery – jednokierunkowo.

Czym jest samouwaga wieloczęściowa?

Każda warstwa samouczenia składa się zwykle z kilku głów samouczenia. Wyjście warstwy to operacja matematyczna (np. średnia ważona lub iloczyn skalarny) wyjść różnych głów.

Każda warstwa samouczenia jest inicjowana losowymi wartościami, więc różne głowy mogą uczyć się różnych relacji między każdym słowem, na którym skupia się uwaga, a słowami w pobliżu. Na przykład warstwa samouczenia opisana w poprzedniej sekcji skupiała się na określeniu, do którego rzeczownika odnosi się zaimka it. Inne warstwy samouczenia mogą jednak uczyć się gramatycznego związku każdego słowa z każdym innym słowem lub innych interakcji.

Dlaczego roboty Transformers są tak duże?

Transformatory zawierają setki miliardów, a czasem nawet bilionów parametrów. W tym kursie na ogół zalecamy tworzenie modeli o mniejszej liczbie parametrów w porównaniu z modelami o większej liczbie parametrów. Ostatecznie model z mniejszą liczbą parametrów wykorzystuje do tworzenia prognoz mniej zasobów niż model z większą liczbą parametrów. Badania pokazują jednak, że modele Transformer z większą liczbą parametrów wykazują się wyższą skutecznością niż modele Transformer z mniejszą liczbą parametrów.

Ale jak LLM generuje tekst?

Widziałeś/widziałaś, jak badacze trenują duże modele językowe do przewidywania brakujących słów, i możesz być niezadowolony/a. Przewidywanie 1–2 słów to w podstawie funkcja autouzupełniania wbudowana w różne programy do tworzenia tekstów, e-maili i programy do tworzenia treści. Możesz się zastanawiać, jak modele LLM mogą generować zdania, akapity czy haiku o arbitrażu.

W zasadzie są to mechanizmy autouzupełniania, które mogą automatycznie przewidywać (uzupełniać) tysiące tokenów. Rozważmy na przykład zdanie, po którym następuje zamaskowane zdanie:

My dog, Max, knows how to perform many traditional dog tricks.
___ (masked sentence)

LLM może generować prawdopodobieństwa dla zamaskowanego zdania, w tym:

Probability, Słowa
3,1% Na przykład może siedzieć, leżeć i przewracać się.
2,9% Na przykład wie, jak siadać, zostawać w miejscu i przewracać się.

Wystarczająco duży model LLM może generować prawdopodobieństwa dla akapitów i całych esejów. Pytania użytkownika do LLM można wyobrazić sobie jako „nadane” zdanie, po którym następuje wymyślona maska. Na przykład:

User's question: What is the easiest trick to teach a dog?
LLM's response:  ___

LLM generuje prawdopodobieństwa dla różnych możliwych odpowiedzi.

Innym przykładem jest duży model językowy trenowany na podstawie ogromnej liczby „zadań tekstowych” z matematyki, który może sprawiać wrażenie, że wykonuje zaawansowane rozumowanie matematyczne. Jednak te LLM w podstawie tylko automatycznie wypełniają prompt zadania słownego.

Zalety LLM

Modele LLM mogą generować przejrzyste i łatwe do zrozumienia teksty dla różnych grup odbiorców. Modele LLM mogą przewidywać wyniki zadań, do których zostały specjalnie wytrenowane. Niektórzy badacze twierdzą, że duże modele językowe mogą też dokonywać prognoz na podstawie danych, na których nie zostały wytrenowane, ale inni badacze zaprzeczyli temu twierdzeniu.

Problemy z modelami LLM

Trenowanie LLM wiąże się z wieloma problemami, w tym z:

  • zebranie ogromnego zbioru treningowego,
  • wymagające wielu miesięcy, ogromnych zasobów obliczeniowych i energii elektrycznej;
  • Rozwiązywanie problemów związanych z równoległym wykonywaniem działań.

Korzystanie z LLM do wyciągania prognoz powoduje te problemy:

  • LLM halucynują, co oznacza, że ich przewidywania często zawierają błędy.
  • LLM zużywają ogromne ilości zasobów obliczeniowych i energii elektrycznej. Trenowanie modeli LLM na większych zbiorach danych zazwyczaj zmniejsza ilość zasobów wymaganych do wnioskowania, ale większe zbiory danych treningowych wymagają więcej zasobów do trenowania.
  • Podobnie jak wszystkie modele ML, modele LLM mogą wykazywać różnego rodzaju uprzedzenia.

Ćwiczenie: sprawdź swoją wiedzę

Załóżmy, że model Transformer jest trenowany na miliardzie dokumentów, w tym tysiącach dokumentów zawierających co najmniej jeden przypadek wystąpienia słowa elephant. Które z tych stwierdzeń jest prawdopodobnie prawdziwe?
Drzewa akacjowe, które są ważnym elementem diety słoni, będą stopniowo uzyskiwać wysoki wskaźnik samouwagi ze słowem słoń.
Tak, dzięki temu Transformer będzie mógł odpowiadać na pytania dotyczące diety słonia.
Transformer skojarzy słowo elephant z różnymi idiomami zawierającymi słowo elephant.
Tak, system zacznie stosować wysokie wyniki uważności między słowami słoń a innymi słowami występującymi w idiomach dotyczących słoni.
Transformer stopniowo nauczy się ignorować sarkastyczne lub ironiczne użycie słowa elephant w danych treningowych.
Wystarczająco duże modele Transformers trenowane na odpowiednio szerokim zbiorze treningowym są całkiem skuteczne w rozpoznawaniu sarkazmu, humoru i ironii. Dlatego zamiast ignorować sarkazm i ironię, Transformer uczy się na nich.