Artificial Intelligence
Modele wielkojęzyczne oparte na dekoderach: kompletny przewodnik
Duże modele językowe (LLM) zrewolucjonizowały dziedzinę przetwarzania języka naturalnego (NLP), wykazując niezwykłe możliwości w zakresie generowania tekstu podobnego do ludzkiego, odpowiadania na pytania i pomocy w szerokim zakresie zadań związanych z językiem. U podstaw tych potężnych modeli leży Architektura transformatora zawierająca wyłącznie dekoder, wariant oryginalnej architektury transformatora zaproponowany w przełomowym artykule „Uwaga to wszystko, czego potrzebujesz” autorstwa Vaswaniego i in.
W tym obszernym przewodniku zbadamy wewnętrzne działanie LLM opartych na dekoderze, zagłębiając się w podstawowe elementy składowe, innowacje architektoniczne i szczegóły implementacji, które wywindowały te modele na czoło badań i zastosowań NLP.
Architektura transformatora: odświeżenie
Zanim zagłębimy się w specyfikę LLM opartych na dekoderze, konieczne jest ponowne zapoznanie się z architekturą transformatora, podstawą, na której zbudowane są te modele. Transformator wprowadził nowatorskie podejście do modelowania sekwencji, opierając się wyłącznie na mechanizmach uwagi w celu wychwytywania zależności dalekiego zasięgu w danych, bez potrzeby stosowania warstw rekurencyjnych lub splotowych.
Oryginalna architektura transformatora składa się z dwóch głównych elementów: kodera i dekodera. Koder przetwarza sekwencję wejściową i generuje kontekstualizowaną reprezentację, która jest następnie wykorzystywana przez dekoder w celu wytworzenia sekwencji wyjściowej. Architektura ta została początkowo zaprojektowana do zadań tłumaczenia maszynowego, w których koder przetwarza zdanie wejściowe w języku źródłowym, a dekoder generuje odpowiednie zdanie w języku docelowym.
Samouważność: klucz do sukcesu Transformera
W sercu transformator kryje się mechanizm samouwagi – potężna technika, która pozwala modelowi ważyć i agregować informacje z różnych pozycji w sekwencji wejściowej. W przeciwieństwie do tradycyjnych modeli sekwencji, które sekwencyjnie przetwarzają tokeny wejściowe, samouważność umożliwia modelowi przechwytywanie zależności pomiędzy dowolną parą tokenów, niezależnie od ich pozycji w sekwencji.
Operację samouważności można podzielić na trzy główne etapy:
- Projekcje zapytań, kluczy i wartości: Sekwencja wejściowa jest rzutowana na trzy oddzielne reprezentacje: zapytania (Q), Klawisze (K) i wartości (V). Projekcje te uzyskuje się poprzez pomnożenie danych wejściowych przez poznane macierze wag.
- Obliczanie wyniku uwagi: Dla każdej pozycji w sekwencji wejściowej oblicza się wyniki uwagi, biorąc iloczyn skalarny pomiędzy odpowiednim wektorem zapytania i wszystkimi wektorami kluczowymi. Wyniki te reprezentują znaczenie każdego stanowiska w stosunku do aktualnie przetwarzanego stanowiska.
- Ważona suma wartości: Wyniki uwagi są normalizowane przy użyciu funkcji softmax, a uzyskane wagi uwagi są wykorzystywane do obliczenia sumy ważonej wektorów wartości, tworząc reprezentację wyjściową dla bieżącej pozycji.
Uwaga wielogłowa, odmiana mechanizmu samouważności, pozwala modelowi uchwycić różne typy relacji poprzez obliczenie wyników uwagi dla wielu „głowice” równolegle, każdy z własnym zestawem prognoz zapytań, kluczy i wartości.
Warianty i konfiguracje architektoniczne
Chociaż podstawowe zasady LLM opartych na dekoderze pozostają spójne, badacze zbadali różne warianty architektury i konfiguracje, aby poprawić wydajność, efektywność i możliwości uogólniania. W tej części przyjrzymy się różnym wyborom architektonicznym i ich konsekwencjom.
Typy architektury
LLM oparte na dekodowaniu można ogólnie podzielić na trzy główne typy: koder-dekoder, dekoder przyczynowy i dekoder przedrostków. Każdy typ architektury charakteryzuje się odrębnymi wzorcami uwagi.
Architektura kodera-dekodera
Oparta na podstawowym modelu Transformera architektura kodera i dekodera składa się z dwóch stosów: kodera i dekodera. Koder wykorzystuje ułożone wielogłowicowe warstwy samouwagi do kodowania sekwencji wejściowej i generowania ukrytych reprezentacji. Następnie dekoder dokonuje wzajemnej uwagi na tych reprezentacjach, aby wygenerować sekwencję docelową. Chociaż jest skuteczny w różnych zadaniach NLP, kilka LLM, takich jak Flan-T5, zastosuj tę architekturę.
Architektura dekodera przyczynowego
Architektura dekodera przyczynowego zawiera jednokierunkową maskę uwagi, dzięki czemu każdy token wejściowy może obsługiwać tylko przeszłe tokeny i siebie. Zarówno tokeny wejściowe, jak i wyjściowe są przetwarzane w tym samym dekoderze. Godne uwagi modele, takie jak GPT-1, GPT-2 i GPT-3 zbudowane są na tej architekturze, przy czym GPT-3 oferuje niezwykłe możliwości uczenia się w kontekście. Wiele LLM, w tym OPT, BLOOM i Gopher, powszechnie przyjęło dekodery przyczynowe.
Architektura dekodera prefiksów
Architektura dekodera prefiksowego, znana również jako dekoder nieprzyczynowy, modyfikuje mechanizm maskowania dekoderów przyczynowych, aby umożliwić dwukierunkową uwagę na tokenach prefiksów i jednokierunkową uwagę na wygenerowanych tokenach. Podobnie jak architektura kodera-dekodera, dekodery prefiksów mogą kodować sekwencję prefiksów dwukierunkowo i autoregresywnie przewidywać tokeny wyjściowe przy użyciu wspólnych parametrów. LLM oparte na dekoderach prefiksów obejmują GLM130B i U-PaLM.
Wszystkie trzy typy architektury można rozszerzyć za pomocą mieszanka ekspertów (MoE) technika skalowania, która rzadko aktywuje podzbiór wag sieci neuronowej dla każdego wejścia. Podejście to zastosowano w modelach takich jak Switch Transformer i GLaM, przy zwiększeniu liczby ekspertów lub całkowitego rozmiaru parametrów, co wykazało znaczną poprawę wydajności.
Transformator przeznaczony wyłącznie do dekodera: wykorzystanie natury autoregresyjnej
Chociaż oryginalna architektura transformatora została zaprojektowana do zadań sekwencyjnych, takich jak tłumaczenie maszynowe, wiele zadań NLP, takich jak modelowanie języka i generowanie tekstu, można ująć jako problemy autoregresyjne, w których model generuje jeden token na raz, uwarunkowany wcześniej wygenerowane tokeny.
Wprowadź transformator przeznaczony tylko do dekodera, uproszczony wariant architektury transformatora, który zachowuje tylko komponent dekodera. Architektura ta szczególnie dobrze nadaje się do zadań autoregresyjnych, ponieważ generuje tokeny wyjściowe jeden po drugim, wykorzystując wcześniej wygenerowane tokeny jako kontekst wejściowy.
Kluczowa różnica między transformatorem przeznaczonym tylko do dekodera a oryginalnym dekoderem transformatorowym polega na mechanizmie samouwagi. W przypadku ustawienia tylko dekodera operacja samouwagi jest modyfikowana, aby uniemożliwić modelowi zwracanie uwagi na przyszłe tokeny, co jest właściwością znaną jako przyczynowość. Osiąga się to poprzez technikę zwaną „zamaskowaną samouwagą”, w której wyniki uwagi odpowiadające przyszłym pozycjom są ustawiane na ujemną nieskończoność, skutecznie je maskując na etapie normalizacji softmax.
Komponenty architektoniczne LLM opartych na dekoderze
Chociaż podstawowe zasady samouwagi i zamaskowanej samouwagi pozostają takie same, nowoczesne LLM oparte na dekoderach wprowadziły kilka innowacji architektonicznych w celu poprawy wydajności, wydajności i możliwości uogólniania. Przyjrzyjmy się niektórym kluczowym komponentom i technikom stosowanym w najnowocześniejszych LLM.
Reprezentacja wejściowa
Przed przetworzeniem sekwencji wejściowej, LLM oparte na dekoderze wykorzystują techniki tokenizacji i osadzania w celu przekształcenia surowego tekstu w reprezentację numeryczną odpowiednią dla modelu.
tokenizacja: Proces tokenizacji przekształca tekst wejściowy w sekwencję tokenów, którymi mogą być słowa, słowa podrzędne lub nawet pojedyncze znaki, w zależności od zastosowanej strategii tokenizacji. Popularne techniki tokenizacji dla LLM obejmują kodowanie par bajtów (BPE), SentencePiece i WordPiece. Metody te mają na celu osiągnięcie równowagi między rozmiarem słownictwa a szczegółowością reprezentacji, umożliwiając modelowi skuteczną obsługę rzadkich lub poza słownictwem słów.
Osadzanie tokenów: Po tokenizacji każdy token jest odwzorowywany na gęstą reprezentację wektorową zwaną osadzaniem tokenu. Te osadzania są uczone podczas procesu uczenia i przechwytują relacje semantyczne i syntaktyczne między tokenami.
Osadzenie pozycyjne: Modele transformatorów przetwarzają jednocześnie całą sekwencję wejściową, bez nieodłącznego pojęcia pozycji znaczników występujących w modelach cyklicznych. Aby uwzględnić informacje o pozycji, do osadzonych żetonów dodawane są osadzania pozycyjne, umożliwiając modelowi rozróżnienie tokenów na podstawie ich pozycji w sekwencji. Wczesne modele LLM wykorzystywały osadzanie pozycyjne o stałym położeniu w oparciu o funkcje sinusoidalne, podczas gdy w nowszych modelach badano osadzanie pozycyjne możliwe do nauczenia lub alternatywne techniki kodowania pozycyjnego, takie jak osadzanie pozycyjne obrotowe.
Wielogłowicowe bloki uwagi
Podstawowymi elementami LLM opartymi na dekoderze są wielogłowe warstwy uwagi, które wykonują opisaną wcześniej operację maskowanej samouwagi. Warstwy te są układane wielokrotnie, przy czym każda warstwa odpowiada wynikom poprzedniej warstwy, co pozwala modelowi uchwycić coraz bardziej złożone zależności i reprezentacje.
Uwaga głowy: Każda wielogłowa warstwa uwagi składa się z wielu „głów uwagi”, z których każda ma własny zestaw projekcji zapytań, kluczy i wartości. Dzięki temu model może jednocześnie zajmować się różnymi aspektami danych wejściowych, wychwytując różnorodne relacje i wzorce.
Połączenia resztkowe i normalizacja warstw: Aby ułatwić uczenie głębokich sieci i złagodzić problem zanikającego gradientu, LLM oparte na dekoderze wykorzystują połączenia resztkowe i techniki normalizacji warstw. Pozostałe połączenia dodają dane wejściowe warstwy do jej danych wyjściowych, umożliwiając łatwiejszy przepływ gradientów podczas propagacji wstecznej. Normalizacja warstw pomaga ustabilizować aktywacje i gradienty, dodatkowo poprawiając stabilność i wydajność treningu.
Warstwy przekazujące dalej
Oprócz wielogłowicowych warstw uwagi, LLM oparte na dekoderze zawierają warstwy ze sprzężeniem zwrotnym, które stosują prostą sieć neuronową ze sprzężeniem zwrotnym do każdej pozycji w sekwencji. Warstwy te wprowadzają nieliniowość i umożliwiają modelowi naukę bardziej złożonych reprezentacji.
Funkcje aktywacji: Wybór funkcji aktywacji w warstwach wyprzedzających może znacząco wpłynąć na wydajność modelu. Podczas gdy wcześniejsze modele LLM opierały się na szeroko stosowanej aktywacji ReLU, w nowszych modelach zastosowano bardziej wyrafinowane funkcje aktywacji, takie jak jednostka liniowa błędu Gaussa (GELU) lub aktywacja SwiGLU, które wykazały lepszą wydajność.
Rzadka uwaga i wydajne transformatory
Chociaż mechanizm samouwagi jest potężny, charakteryzuje się kwadratową złożonością obliczeniową w odniesieniu do długości sekwencji, co czyni go kosztownym obliczeniowo w przypadku długich sekwencji. Aby sprostać temu wyzwaniu, zaproponowano kilka technik mających na celu zmniejszenie wymagań obliczeniowych i pamięciowych związanych z samouwagą, umożliwiając wydajne przetwarzanie dłuższych sekwencji.
Rzadka uwaga: Techniki rzadkiej uwagi, takie jak ta zastosowana w modelu GPT-3, selektywnie zajmują się podzbiorem pozycji w sekwencji wejściowej, zamiast obliczać wyniki uwagi dla wszystkich pozycji. Może to znacznie zmniejszyć złożoność obliczeniową przy zachowaniu rozsądnej wydajności.
Uwaga na przesuwane okno: Wprowadzona w modelu Mistral 7B, uwaga przesuwanego okna (SWA) to prosta, ale skuteczna technika, która ogranicza zakres uwagi każdego tokena do stałego rozmiaru okna. Podejście to wykorzystuje zdolność warstw transformatora do przesyłania informacji pomiędzy wieloma warstwami, skutecznie zwiększając zakres uwagi bez kwadratowej złożoności pełnej samouważności.
Pamięć podręczna bufora kroczącego: Aby jeszcze bardziej zmniejszyć wymagania dotyczące pamięci, szczególnie w przypadku długich sekwencji, model Mistral 7B wykorzystuje pamięć podręczną z ruchomym buforem. Technika ta przechowuje i ponownie wykorzystuje obliczone wektory klucza i wartości dla stałego rozmiaru okna, unikając zbędnych obliczeń i minimalizując zużycie pamięci.
Uwaga na zapytanie grupowe: Wprowadzona w modelu LLaMA 2, skupiona uwaga zapytań (GQA) jest odmianą mechanizmu uwagi złożonej z wielu zapytań, który dzieli głowy uwagi na grupy, przy czym każda grupa ma wspólną macierz kluczy i wartości. Podejście to zapewnia równowagę pomiędzy efektywnością uwagi składającej się z wielu zapytań a wydajnością standardowej samouważności, zapewniając lepszy czas wnioskowania przy jednoczesnym zachowaniu wysokiej jakości wyników.