Wprowadzenie do modeli transformatorów: czym są i jak działają
Opublikowany: 2024-08-07Transformatory stanowią przełom w sztucznej inteligencji, szczególnie w przetwarzaniu języka naturalnego (NLP). Znane ze swojej wydajności i skalowalności, są niezbędne w zastosowaniach takich jak tłumaczenie języków i konwersacyjna sztuczna inteligencja. W tym artykule omówiono ich strukturę, porównania z innymi sieciami neuronowymi oraz ich zalety i wady.
Spis treści
- Co to jest model transformatora?
- Transformatory kontra CNN i RNN
- Jak działają modele transformatorów
- Przykłady modeli transformatorów
- Zalety
- Wady
Co to jest model transformatora?
Transformator to rodzaj modelu głębokiego uczenia się, który jest szeroko stosowany w NLP. Ze względu na wydajność zadań i skalowalność stanowi rdzeń modeli takich jak seria GPT (wyprodukowana przez OpenAI), Claude (wyprodukowana przez Anthropic) i Gemini (wyprodukowana przez Google) i jest szeroko stosowana w całej branży.
Modele głębokiego uczenia się składają się z trzech głównych komponentów: architektury modelu, danych szkoleniowych i metod szkoleniowych. W tym kontekście transformator reprezentuje jeden rodzaj architektury modelu. Definiuje strukturę sieci neuronowych i ich wzajemne oddziaływanie. Kluczową innowacją, która odróżnia transformatory od innych modeli uczenia maszynowego (ML), jest wykorzystanie „uwagi”.
Uwaga to mechanizm w transformatorach, który umożliwia im wydajne przetwarzanie danych wejściowych i przechowywanie informacji w długich sekwencjach (np. całego eseju).
Oto przykład ilustrujący. „Kot siedział na brzegu nad rzeką. Następnie przeniósł się na gałąź pobliskiego drzewa. Można rozpoznać, że „bank” w tym przypadku nie jest bankiem, w którym wpłacasz pieniądze. Aby to zrozumieć, prawdopodobnie użyłbyś wskazówki kontekstowej „rzeka”. Uwaga działa podobnie; używa innych słów, aby zdefiniować znaczenie każdego słowa. Do czego odnosi się „to” w przykładzie? Modelka potraktowałaby słowa „przesunięty” i „drzewo” jako wskazówki pozwalające zdać sobie sprawę, że odpowiedzią jest „kot”.
Ważnym pytaniem bez odpowiedzi jest to, skąd model wie, na które słowa zwrócić uwagę. Dojdziemy do tego nieco później. Ale teraz, gdy zdefiniowaliśmy model transformatora, wyjaśnijmy dalej, dlaczego jest on tak często używany.
Transformatory kontra CNN i RNN
Rekurencyjne sieci neuronowe (RNN) i splotowe sieci neuronowe (CNN) to dwa inne popularne modele głębokiego uczenia się. Chociaż sieci RNN i CNN mają swoje zalety, transformatory są szerzej stosowane, ponieważ znacznie lepiej radzą sobie z długimi sygnałami wejściowymi.
Transformatory kontra RNN
Rekurencyjne sieci neuronowe są modelami sekwencyjnymi. Trafną analogią jest człowiek czytający książkę. W miarę jak czytają, słowo po słowie, ich pamięć i zrozumienie książki ewoluują. Wnikliwi czytelnicy mogą nawet przewidzieć, co stanie się dalej, na podstawie tego, co wydarzyło się wcześniej. RNN działa w ten sam sposób. Czyta słowo po słowie, aktualizuje swoją pamięć (tzw. stan ukryty), a następnie może przewidzieć (np. następne słowo w zdaniu lub treść jakiegoś tekstu). Wadą jest to, że stan ukryty nie może pomieścić zbyt wielu informacji. Jeśli wprowadzisz całą książkę do RNN, nie zapamięta on wielu szczegółów dotyczących rozdziałów wprowadzających, ponieważ w stanie ukrytym jest tylko tyle miejsca. Późniejsze rozdziały, ze względu na ich późniejsze dodanie do stanu ukrytego, mają pierwszeństwo.
Transformersy nie mają tego samego problemu z pamięcią. Porównują każde słowo z każdym innym słowem na wejściu (w ramach mechanizmu uwagi), więc nie muszą używać stanu ukrytego ani „pamiętać” tego, co wydarzyło się wcześniej. Używając tej samej analogii książkowej, transformator przypomina człowieka czytającego następne słowo w książce, a następnie przeglądającego każde wcześniejsze słowo w książce, aby właściwie zrozumieć nowe słowo. Jeśli pierwsze zdanie książki zawierałoby wyrażenie „Urodził się we Francji”, a ostatnie zdanie książki zawierało wyrażenie „jego język ojczysty”, transformator byłby w stanie wydedukować, że jego językiem ojczystym jest francuski. RNN może nie być w stanie tego zrobić, ponieważ stan ukryty nie gwarantuje zachowania tych informacji. Dodatkowo RNN musi czytać każde słowo pojedynczo, a następnie aktualizować swój stan ukryty. Transformator może skupiać swoją uwagę równolegle.
Transformatory kontra CNN
Splotowe sieci neuronowe wykorzystują otaczający kontekst każdego elementu sekwencji do przypisania znaczenia. Aby znaleźć słowo na stronie, CNN sprawdza słowa bezpośrednio je otaczające, aby zrozumieć znaczenie tego słowa. Nie dałoby się połączyć ostatniej i pierwszej strony książki. Sieci CNN są używane głównie w przypadku obrazów, ponieważ piksele często wiążą się ze swoimi sąsiadami w znacznie większym stopniu niż słowa. To powiedziawszy, CNN można również wykorzystać w NLP.
Transformatory różnią się od CNN tym, że patrzą na coś więcej niż tylko bezpośrednich sąsiadów przedmiotu. Używają mechanizmu uwagi, aby porównać każde słowo z każdym innym słowem na wejściu, zapewniając szersze i bardziej wszechstronne zrozumienie kontekstu.
Jak działają modele transformatorów?
Transformatory mają warstwy bloków uwagi, sieci neuronowe z wyprzedzeniem i osadzania. Model pobiera dane wejściowe oparte na tekście i zwraca tekst wyjściowy. Aby to zrobić, wykonaj następujące kroki:
- Tokenizacja:zamienia tekst w tokeny (podobnie jak dzielenie zdania na pojedyncze słowa).
- Osadzanie:konwertuje tokeny na wektory, włączając osadzanie pozycyjne, dzięki czemu model rozumie lokalizację tokenu na wejściu.
- Mechanizm uwagi:przetwarza tokeny przy użyciu samouwagi (w przypadku tokenów wejściowych) lub uwagi krzyżowej (między tokenami wejściowymi a wygenerowanymi tokenami). Mechanizm ten umożliwia modelowi ocenę ważności różnych tokenów podczas generowania danych wyjściowych.
- Sieć neuronowa ze sprzężeniem zwrotnym:przekazuje wynik przez sieć neuronową ze sprzężeniem zwrotnym, co umożliwia modelowi uchwycenie złożonych wzorców poprzez wprowadzenie nieliniowości.
- Powtarzanie:kroki 3–4 powtarza się wielokrotnie na kilku warstwach, aby udoskonalić wynik.
- Rozkład wyjściowy:Tworzy rozkład prawdopodobieństwa dla wszystkich możliwych żetonów.
- Wybór tokena:Wybiera token z największym prawdopodobieństwem.
Proces ten składa się z jednego przejścia do przodu przez model transformatora. Model robi to wielokrotnie, aż do ukończenia tekstu wyjściowego. W każdym przejściu proces osadzania może być realizowany równolegle, podobnie jak mechanizm uwagi i etap wyprzedzający. Zasadniczo transformator nie musi wykonywać każdego znacznika pojedynczo. Może zwrócić uwagę na wszystkie tokeny jednocześnie.
Możemy teraz przejść do pytania z wcześniejszego pytania: Skąd model wie, którymi tokenami się zająć? Odpowiedź można znaleźć po prostu patrząc na wiele danych treningowych. Na początku model będzie obsługiwał niewłaściwe tokeny i w związku z tym będzie generował nieprawidłowe dane wyjściowe. Wykorzystując prawidłowe dane wyjściowe dostarczane z danymi szkoleniowymi, mechanizm uwagi można zmodyfikować, aby następnym razem generować poprawną odpowiedź. Ponad miliardami (a nawet bilionami) przykładów mechanizm uwagi jest w stanie niemal przez cały czas wybierać właściwe tokeny.
Przykłady modeli transformatorów
Transformatory są wszędzie. Chociaż transformatory zostały pierwotnie zaprojektowane do tłumaczenia, dobrze skalowały się do prawie wszystkich zadań językowych, wizyjnych, a nawet dźwiękowych.
Duże modele językowe
Architektura transformatora obsługuje prawie wszystkie duże modele językowe (LLM): GPT, Claude, Gemini, Llama i wiele mniejszych modeli typu open source. LLM mogą obsługiwać różne zadania związane z tekstem (oraz coraz częściej obrazem i dźwiękiem), takie jak odpowiadanie na pytania, klasyfikacja i generowanie w dowolnej formie.
Osiąga się to poprzez uczenie modelu transformatora na miliardach przykładów tekstowych (zwykle pobranych z Internetu). Następnie firmy dostrajają model na przykładach klasyfikacji, aby nauczyć model prawidłowego przeprowadzania klasyfikacji. Krótko mówiąc, model uczy się szerokiej bazy wiedzy, a następnie „uczy się” umiejętności poprzez dostrajanie.
Transformatory wizyjne
Transformatory wizyjne to standardowe transformatory przystosowane do pracy na obrazach. Główna różnica polega na tym, że proces tokenizacji musi wykorzystywać obrazy, a nie tekst. Gdy dane wejściowe zostaną zamienione na żetony, następuje normalne obliczenie transformatora, a na koniec żetony wyjściowe służą do klasyfikacji obrazu (np. obrazu kota). Transformatory wizyjne są często łączone z tekstowymi LLM, tworząc multimodalne LLM. Te modele multimodalne mogą pobrać obraz i przemyśleć go, na przykład zaakceptować szkic interfejsu użytkownika i uzyskać kod potrzebny do jego utworzenia.
Sieci CNN są również popularne do zadań związanych z obrazami, ale transformatory umożliwiają modelowi wykorzystanie wszystkich pikseli obrazu, a nie tylko pobliskich pikseli. Na przykład, jeśli obraz zawierał znak stopu po lewej stronie i samochód po prawej stronie, model mógłby określić, że samochód musi się zatrzymać. CNN może nie być w stanie połączyć tych dwóch punktów danych, ponieważ są one daleko od siebie na obrazie.
Transformatory audio
Transformatory audio, podobnie jak transformatory wizyjne, to standardowe transformatory z unikalnym schematem tokenizacji dostosowanym do danych audio. Modele te mogą przetwarzać zarówno tekst, jak i surowy dźwięk jako dane wejściowe, wysyłając tekst lub dźwięk. Przykładem tego jest Whisper, model zamiany mowy na tekst, który konwertuje surowy dźwięk na transkrypcję. Osiąga to poprzez segmentację dźwięku na fragmenty, przekształcanie tych fragmentów w spektrogramy i kodowanie spektrogramów w osadzanie. Te osadzania są następnie przetwarzane przez transformator, który generuje ostateczne tokeny transkrypcji.
Poza zastosowaniami zamiany mowy na tekst transformatory audio mają wiele innych zastosowań, w tym generowanie muzyki, automatyczne tworzenie napisów i konwersję głosu. Ponadto firmy integrują transformatory audio z LLM, aby umożliwić interakcje głosowe, umożliwiając użytkownikom zadawanie pytań i otrzymywanie odpowiedzi za pomocą poleceń głosowych.
Zalety modeli transformatorów
Transformatory stały się wszechobecne w dziedzinie uczenia maszynowego ze względu na ich skalowalność i wyjątkową wydajność w szerokim zakresie zadań. Ich sukces przypisuje się kilku kluczowym czynnikom:
Długi kontekst
Mechanizm uwagi może porównywać ze sobą wszystkie żetony w sekwencji wejściowej. Zatem informacje z całego wejścia zostaną zapamiętane i wykorzystane do wygenerowania wyniku. Z kolei sieci RNN zapominają starsze informacje, a CNN mogą wykorzystywać wyłącznie informacje zbliżone do każdego tokena. Dlatego możesz przesłać setki stron do chatbota LLM, zadać mu pytanie dotyczące dowolnej strony i uzyskać dokładną odpowiedź. Brak długiego kontekstu w RNN i CNN jestnajwiększympowodem, dla którego transformatory pokonują ich w zadaniach.
Możliwość równoległości
Mechanizm uwagi w transformatorach może być wykonywany równolegle na wszystkich żetonach w sekwencji wejściowej. Kontrastuje to z sieciami RNN, które przetwarzają tokeny sekwencyjnie. W rezultacie transformatory można szkolić i wdrażać szybciej, zapewniając szybsze reakcje użytkownikom. Ta możliwość przetwarzania równoległego znacznie zwiększa wydajność transformatorów w porównaniu do RNN.
Skalowalność
Naukowcy nieustannie zwiększali rozmiar transformatorów i ilość danych wykorzystywanych do ich szkolenia. Nie widzieli jeszcze ograniczenia tego, ile transformatory mogą się nauczyć. Im większy model transformatora, tym bardziej złożony i dopracowany jest tekst, który może zrozumieć i wygenerować (GPT-3 ma 175 miliardów parametrów, podczas gdy GPT-4 ma ponad 1 bilion). Co ciekawe, skalowanie modeli transformatorów, na przykład tworzenie modelu o 10 miliardach parametrów w porównaniu z modelem o 1 miliardach parametrów, nie wymaga znacznie więcej czasu. Ta skalowalność sprawia, że transformatory są potężnymi narzędziami do różnych zaawansowanych zastosowań.
Wady modeli transformatorów
Wadą modeli transformatorów jest to, że wymagają one dużych zasobów obliczeniowych. Mechanizm uwagi jest kwadratowy: każdy token na wejściu jest porównywany z każdym innym tokenem. Dwa żetony miałyby 4 porównania, trzy żetony miałyby 9, cztery żetony miałyby 16 itd. Zasadniczo koszt obliczeniowy to kwadrat liczby żetonów. Ten koszt kwadratowy ma kilka implikacji:
Specjalistyczny sprzęt
LLM nie można łatwo uruchomić na przeciętnym komputerze. Ze względu na swój rozmiar często wymagają kilkudziesięciu gigabajtów pamięci RAM do załadowania parametrów modelu. Ponadto tradycyjne procesory nie są zoptymalizowane do obliczeń równoległych; zamiast tego wymagany jest procesor graficzny. Wygenerowanie pojedynczego tokena przez LLM działający na procesorze może zająć kilka minut. Niestety, procesory graficzne nie są najtańszym i najbardziej dostępnym sprzętem.
Ograniczona długość wejściowa
Transformatory mają ograniczoną ilość tekstu, który mogą przetworzyć (tzw. długość kontekstu). GPT-3 pierwotnie mógł przetwarzać tylko 2048 tokenów. Postępy w implementacjach uwagi zaowocowały modelami o długości kontekstu do 1 miliona tokenów. Mimo to potrzebne są znaczne badania, aby znaleźć każdy dodatkowy znak długości kontekstu. Natomiast sieci RNN nie mają maksymalnej długości kontekstu. Ich dokładność znacznie spada wraz ze wzrostem danych wejściowych, ale w tej chwili można wprowadzić do jednego dane wejściowe o długości 2 milionów tokenów.
Koszt energii
Centra danych zasilające obliczenia transformatorów wymagają energii do ich zasilania i wody do ich chłodzenia. Według szacunków GPT-3 potrzebował 1300 megawatogodzin energii elektrycznej do pociągu, co odpowiada zasileniu 130 domów w USA przez cały rok. W miarę powiększania się modeli wzrasta ilość potrzebnej energii. Do 2027 r. przemysł sztucznej inteligencji może potrzebować rocznie tyle samo energii elektrycznej, co Holandia. Podejmowane są znaczne wysiłki w celu zmniejszenia zapotrzebowania na transformatory energetyczne, ale problem ten nie został jeszcze rozwiązany.