Modele i platformy AI
Modele Dużej Językowej Wiedzy oparte na Dekoderze: Kompletny Przewodnik
Modele Dużej Językowej Wiedzy (LLM) rewolucjonizowały dziedzinę przetwarzania języka naturalnego, demonstrując zdumiewające możliwości w generowaniu tekstów podobnych do ludzkich, odpowiedzi na pytania i pomocy w szerokim zakresie zadań związanych z językiem. Podstawą tych potężnych modeli leży architektura transformera oparta na dekoderze, wariant oryginalnej architektury transformera zaproponowanej w przełomowym artykule “Attention is All You Need” przez Vaswani i in.
W tym kompleksowym przewodniku będziemy badać wewnętrzne mechanizmy modeli LLM opartych na dekoderze, zagłębiając się w podstawowe bloki budulcowe, innowacje architektoniczne i szczegóły implementacyjne, które zaprowadziły te modele do przodu badań i aplikacji związanych z przetwarzaniem języka naturalnego.
Architektura Transformera: Przypomnienie
Przed zagłębieniem się w szczegóły modeli LLM opartych na dekoderze, niezbędne jest przypomnienie architektury transformera, na której te modele są zbudowane. Transformer wprowadził nowy 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 transformera składa się z dwóch głównych komponentów: enkodera i dekodera. Enkoder przetwarza sekwencję wejściową i generuje kontekstualizowaną reprezentację, która jest następnie konsumowana przez dekoder, aby wyprodukować sekwencję wyjściową. Ta architektura była początkowo zaprojektowana dla zadań tłumaczenia maszynowego, gdzie enkoder przetwarza zdanie wejściowe w języku źródłowym, a dekoder generuje zdanie w języku docelowym.
Uwaga Samo-na-Siebie: Klucz do Sukcesu Transformera
W sercu transformera leży mechanizm uwagi samo-na-siebie, 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 sekwencji sekwencyjnie, uwaga samo-na-siebie umożliwia modelowi uchwycenie zależności między dowolną parą tokenów, niezależnie od ich pozycji w sekwencji.
Operacja uwagi samo-na-siebie można podzielić na trzy główne kroki:
- 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, wyniki uwagi są obliczane przez pobranie iloczynu skalarnego między odpowiednim wektorem zapytania a wszystkimi wektorami kluczy. Te wyniki reprezentują istotność każdej pozycji wobec bieżącej pozycji.
- Uwazna Suma Wartości: Wyniki uwagi są normalizowane przy użyciu funkcji softmax, a wynikające z tego wagi uwagi są używane do obliczania uwaznej sumy wektorów wartości, wytwarzając reprezentację wyjściową dla bieżącej pozycji.
Uwaga wielokrotna, wariant mechanizmu uwagi samo-na-siebie, pozwala modelowi uchwycić różne typy relacji, obliczając wyniki uwagi w wielu “głowach” równolegle, z których każda ma własne projekcje zapytania, klucza i wartości.
Warianty Architektoniczne i Konfiguracje
Podczas gdy 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 będziemy zagłębiać 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: 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 samo-na-siebie, aby zakodować sekwencję wejściową i wygenerować latentną reprezentację. Dekoder wykonuje następnie 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 na uwagę tylko na tokeny przeszłe 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
Znany 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 generowanymi tokenami. 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 przy użyciu techniki mieszanki ekspertów (MoE), która aktywuje rzadko podzbiór wag sieci neuronowej dla każdego wejścia. Ten podejście został zastosowany w modelach takich jak Switch Transformer i GLaM, z rosnącą liczbą ekspertów lub rozmiarem parametrów, pokazując znaczącą poprawę wydajności.
Transformer Dekodera: Przyjmowanie Natury Autoregresyjnej
Podczas gdy oryginalna architektura transformera 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łowane jako problemy autoregresyjne, gdzie model generuje jeden token na raz, warunkowo na tokenach wcześniej wygenerowanych.
Wkraczamy w transformer dekodera, uproszczoną wersję architektury transformera, która zachowuje tylko komponent dekodera. Ta architektura jest szczególnie dobrze przystosowana do zadań autoregresyjnych, generując tokeny wyjściowe jeden po drugim, wykorzystując wcześniej wygenerowane tokeny jako kontekst wejściowy.
Kluczowa różnica między transformerem dekodera a oryginalnym dekoderem transformera leży w mechanizmie uwagi samo-na-siebie. W ustawieniu dekodera, operacja uwagi samo-na-siebie jest modyfikowana, aby zapobiec temu, że model uwagi na tokeny przyszłe, własność znana jako przyczynowość. To jest osiągane za pomocą techniki zwanej “maskowaną uwagą samo-na-siebie”, gdzie wyniki uwagi odpowiadające pozycjom przyszłym są ustawiane na minus nieskończoność, skutecznie maskując je podczas normalizacji softmax.
Składniki Architektoniczne Modeli LLM opartych na Dekoderze
Podczas gdy podstawowe zasady uwagi samo-na-siebie i maskowanej uwagi samo-na-siebie pozostają takie same, nowoczesne modele LLM oparte na dekoderze wprowadziły kilka innowacji architektonicznych, aby poprawić wydajność, efektywność i zdolności generalizacji. Będziemy eksplorować niektóre z kluczowych składników i technik zastosowanych w modelach LLM.
Reprezentacja Wejściowa
Przed przetworzeniem sekwencji wejściowej, modele LLM oparte na dekoderze stosują 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, pod-słowami lub nawet poszczególnymi znakami, w zależności od strategii tokenizacji zastosowanej. Popularne techniki tokenizacji dla modeli LLM obejmują Kodowanie Pary Bajtów (BPE), SentencePiece i WordPiece. Te metody mają na celu znalezienie balansu między rozmiarem słownika a szczegółowością reprezentacji, umożliwiając modelowi radzenie sobie z rzadkimi lub spoza słownika 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 szkolenia i uchwyciają relacje semantyczne i składniowe między tokenami.
Osadzanie Pozycyjne: Modele transformera przetwarzają całą sekwencję wejściową jednocześnie, brakuje im 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óżniać 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, które można nauczyć lub alternatywne techniki kodowania pozycyjnego, takie jak osadzania pozycyjne obrotowe.
Blok Uwagi Wielogłowej
Podstawowymi budulcowymi modeli LLM opartych na dekoderze są warstwy uwagi wielogłowej, które wykonują operację maskowanej uwagi samo-na-siebie 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łasne projekcje zapytania, klucza i wartości. To pozwala modelowi uwagi na różne aspekty wejścia jednocześnie, uchwyciając różnorodne relacje i wzorce.
Połączenia Residualne i Normalizacja Warstwy: Aby ułatwić szkolenie głębokich sieci i złagodzić problem znikających gradientów, modele LLM oparte na dekoderze stosują 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ść szkolenia 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 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. Podczas gdy 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 Gaussa (GELU) lub aktywacja SwiGLU, które wykazały poprawioną wydajność.
Uwaga Rzadka i Efektywne Transformatory
Chociaż mechanizm uwagi samo-na-siebie jest potężny, ma on kwadratową złożoność obliczeniową w odniesieniu do długości sekwencji, co sprawia, że jest to obliczeniowo drogie dla długich sekwencji. Aby rozwiązać ten problem, zaproponowano kilka technik, aby zmniejszyć wymagania obliczeniowe i pamięciowe uwagi samo-na-siebie, umożliwiając efektywną obróbkę dłuższych sekwencji.
Uwaga Rzadka: Techniki uwagi rzadkiej, takie jak ta zastosowana w modelu GPT-3, selektywnie uwagi na 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ą, utrzymując przy tym rozsądną 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 ustalonej wielkości okna. Ten podejście wykorzystuje zdolność warstw transformera do transmisji informacji przez wiele warstw, efektywnie zwiększając zakres uwagi bez kwadratowej złożoności pełnej uwagi samo-na-siebie.
Bufor Pamięci Rzadkiej: Aby dalej zmniejszyć wymagania pamięciowe, szczególnie dla długich sekwencji, model Mistral 7B wykorzystuje bufor pamięci rzadkiej. Ta technika przechowuje i ponownie wykorzystuje obliczone wektory kluczy i wartości dla ustalonej wielkości okna, unikając zbędnych obliczeń i minimalizując użycie pamięci.
Uwaga Grup Zapytań: Wprowadzona w modelu LLaMA 2, uwaga grup zapytań (GQA) jest wariantem mechanizmu uwagi wielokrotnej, który dzieli głowy uwagi na grupy, z których każda dzieli wspólną macierz kluczy i wartości. Ten podejście znajduje balans między efektywnością uwagi wielokrotnej a wydajnością standardowej uwagi samo-na-siebie, zapewniając poprawione czasy inferencji przy zachowaniu wysokiej jakości wyników.
















