Sztuczna inteligencja
Modele dużej skali językowe oparte na dekoderze: Kompletny przewodnik
Modele dużej skali językowe (LLM) rewolucjonizowały dziedzinę przetwarzania języka naturalnego (NLP), demonstrując zdumiewające możliwości generowania tekstów podobnych do ludzkich, odpowiedzi na pytania i wspomagania szerokiego zakresu zadań związanych z językiem. Podstawą tych potężnych modeli leży architektura transformatora dekodera, wariant oryginalnej architektury transformatora zaproponowanej w przełomowym artykule “Attention is All You Need” autorstwa Vaswani i in.
W tym kompletnym przewodniku będziemy badać wewnętrzne mechanizmy modeli LLM opartych na dekoderze, zagłębiając się w podstawowe elementy budulcowe, innowacje architektoniczne i szczegóły implementacyjne, które zapewniły tym modelom miejsce w czołówce badań i aplikacji NLP.
Architektura Transformatora: Przypomnienie
Przed zagłębieniem się w szczegóły modeli LLM opartych na dekoderze, istotne jest przypomnienie architektury transformatora, na której te modele są zbudowane. Transformer wprowadził nowatorskie podejście do modelowania sekwencji, opierając się wyłącznie na mechanizmach uwagi, aby uchwycić dalekosiężne zależności w danych, bez potrzeby warstw rekurencyjnych lub konwolucyjnych.
Oryginalna architektura transformatora składa się z dwóch głównych komponentów: dekodera i enkodera. Enkoder przetwarza sekwencję wejściową i generuje kontekstualizowaną reprezentację, która jest następnie konsumowana przez dekoder w celu wygenerowania sekwencji wyjściowej. Ta architektura była początkowo zaprojektowana dla zadań tłumaczenia maszynowego, gdzie enkoder przetwarza sekwencję wejściową w języku źródłowym, a dekoder generuje odpowiednią sekwencję w języku docelowym.
Uwaga Samoistna: Klucz do Sukcesu Transformatora
W sercu transformatora leży mechanizm uwagi samoistnej, 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 przetwarzają tokeny wejściowe sekwencyjnie, uwaga samoistna umożliwia modelowi uchwycenie zależności między dowolną parą tokenów, niezależnie od ich pozycji w sekwencji.
Operacja uwagi samoistnej można podzielić na trzy główne etapy:
- Proiekcje Zapytania, Klucza i Wartości: Sekwencja wejściowa jest projekowana na trzy oddzielne reprezentacje: zapytania (Q), klucze (K) i wartości (V). Te projekcje są uzyskiwane przez mnożenie wejścia przez nauczone macierze wagowe.
- Obliczanie Wyników Uwagi: Dla każdej pozycji w sekwencji wejściowej obliczane są wyniki uwagi, biorąc iloczyn skalarny między odpowiednim wektorem zapytania a wszystkimi wektorami kluczy. Te wyniki reprezentują istotność każdej pozycji dla bieżącej pozycji przetwarzanej.
- Uwazona Suma Wartości: Wyniki uwagi są normalizowane za pomocą funkcji softmax, a wynikające z tego wagi uwagi są używane do obliczania uwazonej sumy wektorów wartości, wytwarzając reprezentację wyjściową dla bieżącej pozycji.
Uwaga wielokwerendowa, wariant mechanizmu uwagi samoistnej, pozwala modelowi uchwycić różne rodzaje relacji, obliczając wyniki uwagi w wielu “głowach” równolegle, z których każda ma własny zestaw projekcji zapytania, klucza i wartości.
Warianty Architektoniczne i Konfiguracje
Chociaż podstawowe zasady modeli LLM opartych na dekoderze pozostają spójne, badacze eksplorowali różne warianty architektoniczne i konfiguracje, aby poprawić wydajność, efektywność i zdolności generalizacji. W tej sekcji zagłębimy się w różne wybory architektoniczne i ich implikacje.
Typy Architektur
Modele LLM oparte na dekoderze można ogólnie sklasyfikować na trzy główne typy: architektura enkoder-dekoder, dekoder przyczynowy i dekoder prefiksowy. Każdy typ architektury wykazuje odrębne wzorce uwagi.
Architektura Enkoder-Dekoder
Opierając się na modelu Transformer, architektura enkoder-dekoder składa się z dwóch stosów: enkodera i dekodera. Enkoder używa warstw uwagi samoistnej z wieloma głowami, aby zakodować sekwencję wejściową i wygenerować reprezentacje latentne. Następnie dekoder wykonuje uwagę krzyżową na tych reprezentacjach, aby wygenerować sekwencję docelową. Chociaż skuteczna w różnych zadaniach NLP, tylko nieliczne modele LLM, takie jak Flan-T5, przyjmują tę architekturę.
Architektura Dekodera Przyczynowego
Architektura dekodera przyczynowego wprowadza maskę uwagi jednokierunkowej, pozwalając każdemu tokenowi wejściowemu uwagiwać tylko tokeny poprzednie i samego siebie. Zarówno tokeny wejściowe, jak i wyjściowe są przetwarzane w ramach tego samego dekodera. Znakomite modele, takie jak GPT-1, GPT-2 i GPT-3, są zbudowane na tej architekturze, z GPT-3 prezentującym zdumiewające możliwości uczenia się w kontekście. Wiele modeli LLM, w tym OPT, BLOOM i Gopher, szeroko przyjęło dekodery przyczynowe.
Architektura Dekodera Prefiksowego
Znana również jako dekoder nieprzyczynowy, architektura dekodera prefiksowego modyfikuje mechanizm maskowania dekoderów przyczynowych, umożliwiając uwagę dwukierunkową nad tokenami prefiksowymi i jednokierunkową nad tokenami generowanymi. Podobnie jak architektura enkoder-dekoder, dekodery prefiksowe mogą zakodować sekwencję prefiksową dwukierunkowo i przewidzieć tokeny wyjściowe autoregresyjnie, używając wspólnych parametrów. Modele LLM oparte na dekoderach prefiksowych obejmują GLM130B i U-PaLM.
Wszystkie trzy typy architektur mogą być rozszerzane za pomocą techniki mieszanki ekspertów (MoE), która aktywuje rzadko podzbiór wag sieci neuronowej dla każdego wejścia. To podejście zostało zastosowane w modelach, takich jak Switch Transformer i GLaM, przy czym zwiększanie liczby ekspertów lub rozmiaru parametrów wykazuje znaczącą poprawę wydajności.
Transformer Dekodera: Przyjmowanie Natury Autoregresyjnej
Chociaż oryginalna architektura transformatora była zaprojektowana dla zadań sekwencja-do-sekwencji, takich jak tłumaczenie maszynowe, wiele zadań NLP, takich jak modelowanie języka i generowanie tekstu, może być sformułowanych jako problemy autoregresyjne, gdzie model generuje jeden token na raz, warunkowany przez poprzednio wygenerowane tokeny.
Wkraczamy w transformer dekodera, uproszczoną wersję architektury transformatora, która zachowuje tylko komponent dekodera. Ta architektura jest szczególnie dobrze dopasowana do zadań autoregresyjnych, generując tokeny wyjściowe jeden po drugim, wykorzystując poprzednio wygenerowane tokeny jako kontekst wejściowy.
Kluczowa różnica między transformerem dekodera a oryginalnym dekoderem transformatora leży w mechanizmie uwagi samoistnej. W ustawieniu dekodera tylko operacja uwagi samoistnej jest modyfikowana, aby zapobiec uwagi modelu do tokenów przyszłych, właściwości znanej jako przyczynowość. To jest osiągane za pomocą techniki zwanej “maskowaną uwagą samoistną”, gdzie wyniki uwagi odpowiadające przyszłym pozycjom są ustawiane na minus nieskończoność, skutecznie maskując je podczas normalizacji softmax.
Składniki Architektoniczne Modeli LLM Oparych na Dekoderze
Chociaż podstawowe zasady uwagi samoistnej i maskowanej uwagi samoistnej pozostają takie same, nowoczesne modele LLM oparte na dekoderze wprowadziły kilka innowacji architektonicznych, aby poprawić wydajność, efektywność i zdolności generalizacji. Przeanalizujmy niektóre z kluczowych komponentów i technik zastosowanych w modelach LLM o wysokiej wydajności.
Reprezentacja Wejściowa
Przed przetworzeniem sekwencji wejściowej, modele LLM oparte na dekoderze wykorzystują techniki tokenizacji i osadzania, aby przekonwertować surowy tekst na reprezentację numeryczną odpowiednią dla modelu.
Tokenizacja: Proces tokenizacji konwertuje tekst wejściowy na sekwencję tokenów, które mogą być słowami, podwyrazami lub nawet pojedynczymi znakami, w zależności od zastosowanej strategii tokenizacji. Popularne techniki tokenizacji dla modeli LLM obejmują Kodowanie Par Znaku (BPE), SentencePiece i WordPiece. Te metody mają na celu znalezienie balansu między rozmiarem słownictwa a szczegółowością reprezentacji, umożliwiając modelowi skuteczne radzenie sobie z rzadkimi lub spoza słownictwa słowami.
Osadzanie Tokenów: Po tokenizacji każdy token jest mapowany na gęstą reprezentację wektorową zwaną osadzaniem tokenu. Te osadzania są uczone podczas procesu treningu i uchwycenia relacji semantycznych i składniowych między tokenami.
Osadzania Pozycyjne: Modele transformatora przetwarzają całą sekwencję wejściową jednocześnie, nie posiadając wewnętrznej koncepcji pozycji tokenów obecnej w modelach rekurencyjnych. Aby uwzględnić informację pozycyjną, osadzania pozycyjne są dodawane do osadzań tokenów, pozwalając modelowi odróżnić tokeny na podstawie ich pozycji w sekwencji. Wczesne modele LLM używały stałych osadzań pozycyjnych opartych na funkcjach sinusoidalnych, podczas gdy nowsze modele eksplorowały osadzania pozycyjne do nauki lub alternatywne techniki kodowania pozycyjnego, takie jak obrotowe osadzania pozycyjne.
Blok Uwagi Wielogłowej
Podstawowymi elementami budulcowymi modeli LLM opartych na dekoderze są warstwy uwagi wielogłowej, które wykonują operację maskowanej uwagi samoistnej opisaną wcześniej. Te warstwy są stosowane wielokrotnie, z każdą warstwą uwagi na wyjściu poprzedniej warstwy, pozwalając modelowi uchwycić coraz bardziej złożone zależności i reprezentacje.
Głowy Uwagi: Każda warstwa uwagi wielogłowej składa się z wielu “głów uwagi“, z których każda ma własny zestaw projekcji zapytania, klucza i wartości. To pozwala modelowi uwagiwać różne aspekty wejścia jednocześnie, uchwycenie różnorodnych relacji i wzorców.
Połączenia Residualne i Normalizacja Warstwy: Aby ułatwić trening głębokich sieci i złagodzić problem znikających gradientów, modele LLM oparte na dekoderze wykorzystują połączenia residualne i techniki normalizacji warstwy. Połączenia residualne dodają wejście warstwy do jej wyjścia, pozwalając gradientom płynąć łatwiej podczas propagacji wstecznej. Normalizacja warstwy pomaga stabilizować aktywacje i gradienty, dalej poprawiając stabilność treningu i wydajność.
Warstwy Do-Przodu
Oprócz warstw uwagi wielogłowej, modele LLM oparte na dekoderze obejmują warstwy do-przodu, które stosują prostą sieć neuronową do-przodu do każdej pozycji w sekwencji. Te warstwy wprowadzają nieliniowości i pozwalają modelowi nauczyć się bardziej złożonych reprezentacji.
Funkcje Aktywacyjne: Wybór funkcji aktywacyjnej w warstwach do-przodu może znacząco wpłynąć na wydajność modelu. Chociaż wcześniejsze modele LLM polegały na powszechnie stosowanej funkcji aktywacyjnej ReLU, nowsze modele przyjęły bardziej zaawansowane funkcje aktywacyjne, takie jak Jednostka Błędu Gausowskiego (GELU) lub aktywacja SwiGLU, które wykazały poprawioną wydajność.
Uwaga Rzadka i Wydajne Transformatory
Chociaż mechanizm uwagi samoistnej jest potężny, wiąże się z kwadratową złożonością obliczeniową w odniesieniu do długości sekwencji, co sprawia, że jest obliczeniowo kosztowny dla długich sekwencji. Aby rozwiązać ten problem, zaproponowano kilka technik, aby zmniejszyć wymagania obliczeniowe i pamięciowe uwagi samoistnej, umożliwiając wydajne przetwarzanie dłuższych sekwencji.
Uwaga Rzadka: Techniki uwagi rzadkiej, takie jak ta zastosowana w modelu GPT-3, selektywnie uwagiwały podzbiór pozycji w sekwencji wejściowej, zamiast obliczania wyników uwagi dla wszystkich pozycji. To może znacząco zmniejszyć złożoność obliczeniową, zachowując przyzwoitą wydajność.
Uwaga Okienkowa: Wprowadzona w modelu Mistral 7B, uwaga okienkowa (SWA) jest prostą, ale skuteczną techniką, która ogranicza zakres uwagi każdego tokenu do określonej wielkości okna. To podejście wykorzystuje zdolność warstw transformatora do transmisji informacji przez wiele warstw, efektywnie zwiększając zakres uwagi bez kwadratowej złożoności pełnej uwagi samoistnej.
Bufor Przechowujący: Aby dalej zmniejszyć wymagania pamięciowe, zwłaszcza dla długich sekwencji, model Mistral 7B wykorzystuje bufor przechowujący. Ta technika przechowuje i ponownie wykorzystuje obliczone wektory kluczy i wartości dla określonej wielkości okna, unikając zbędnych obliczeń i minimalizując użycie pamięci.
Uwaga Zgrupowanych Zapytań: Wprowadzona w modelu LLaMA 2, uwaga zgrupowanych zapytań (GQA) jest wariantem mechanizmu uwagi wielokwerendowej, który dzieli głowy uwagi na grupy, z których każda dzieli wspólną macierz kluczy i wartości. To podejście znajduje balans między wydajnością uwagi wielokwerendowej a wydajnością standardowej uwagi samoistnej, zapewniając poprawione czasy inferencji, przy zachowaniu wyników wysokiej jakości.
















