Modele i platformy AI

Mamba: Redefining Sequence Modeling and Outperforming Transformers Architecture

mm
Dodaj Unite.AI do preferowanych ÅšrÃģdeł w Google

W tym artykule o Mamba będziemy eksplorować, jak ten innowacyjny model przestrzeni stanu (SSM) rewolucjonizuje modelowanie sekwencji. Opracowany przez Alberta Gu i Tri Dao, Mamba wyrÃģÅžnia się wydajnością w przetwarzaniu złoÅžonych sekwencji w dziedzinach takich jak przetwarzanie języka, genetyka i analiza audio. Jego liniowe modelowanie sekwencji z wybiÃģrczymi przestrzeniami stanu zapewnia wyjątkową wydajność w rÃģÅžnych modalnościach.

Będziemy się zagłębiać w zdolność Mamba do pokonywania wyzwań obliczeniowych stawianych przez tradycyjne Transformatory, szczegÃģlnie przy długich sekwencjach. Jego wybiÃģrcze podejście w modelach przestrzeni stanu pozwala na szybsze wnioskowanie i liniowe skalowanie z długością sekwencji, znacznie poprawiając wydajność.

Unikalność Mamba polega na jego szybkiej zdolności przetwarzania, warstwie SSM z wybiÃģrczością i projekcie przyjaznym dla sprzętu, zainspirowanym przez FlashAttention. Te cechy pozwalają Mamba przewyÅžszać wiele istniejących modeli, w tym te oparte na podejściu transformatora, co czyni go godnym uwagi postępem w dziedzinie uczenia maszynowego.

Transformatory vs Mamba

Transformatory, takie jak GPT-4, ustanowiły benchmarki w przetwarzaniu języka naturalnego. Jednak ich wydajność spada wraz ze wzrostem długości sekwencji. To właśnie tutaj Mamba wyrÃģÅžnia się, dzięki swojej zdolności do przetwarzania długich sekwencji w sposÃģb bardziej wydajny i unikalnej architekturze, ktÃģra upraszcza cały proces.

Transformatory są zdolne do radzenia sobie z sekwencjami danych, takimi jak tekst w przypadku modeli językowych. W przeciwieństwie do poprzednich modeli, ktÃģre przetwarzały dane sekwencyjnie, Transformatory przetwarzają całe sekwencje jednocześnie, umoÅžliwiając im przechwytywanie złoÅžonych relacji wewnątrz danych.

UÅžywają mechanizmu uwagi, ktÃģry pozwala modelowi skoncentrować się na rÃģÅžnych częściach sekwencji przy podejmowaniu predykcji.

Ta uwaga jest obliczana przy uÅžyciu trzech zestawÃģw wag: zapytań, kluczy i wartości, pochodzących z danych wejściowych. KaÅždy element w sekwencji jest porÃģwnywany z kaÅždym innym elementem, dostarczając wagę, ktÃģra sygnalizuje wagę, lub “uwagę”, ktÃģrą kaÅždy element powinien otrzymać przy predykcji następnego elementu w sekwencji.

Transformatory utrzymują dwa głÃģwne bloki: encoder, ktÃģry przetwarza dane wejściowe, i decoder, ktÃģry generuje dane wyjściowe. Encoder składa się z wielu warstw, z ktÃģrych kaÅžda zawiera dwie podwarstwy: mechanizm uwagi wielogłowej i prosta, pozycyjna sieć neuronową z pełnym połączeniem. Normalizacja i połączenia resztkowe są uÅžywane w kaÅždej podwarstwie, aby pomÃģc w szkoleniu głębokich sieci.

Decoder rÃģwnieÅž ma warstwy z dwiema podwarstwami podobnymi do encodera, ale dodaje trzecią podwarstwę, ktÃģra wykonuje uwagę wielogłową nad wyjściem encodera. Sekwencyjny charakter decodera zapewnia, Åže predykcje dla pozycji mogą rozwaÅžać tylko poprzednie pozycje, zachowując właściwość autoregresyjną.

W przeciwieństwie do TransfocatorÃģw, model Mamba przyjmuje inne podejście. Podczas gdy Transformatory radzą sobie z problemem długich sekwencji, uÅžywając bardziej złoÅžonych mechanizmÃģw uwagi, Mamba uÅžywa wybiÃģrczych przestrzeni stanu, zapewniając bardziej obliczeniowo wydajne podejście.

Oto ogÃģlny przegląd, jak działa transformatory:

  1. Przetwarzanie danych wejściowych: Transformatory najpierw kodują dane wejściowe w format, ktÃģry model moÅže zrozumieć, często uÅžywając osadzania, ktÃģre rÃģwnieÅž uwzględnia pozycję kaÅždego elementu w sekwencji.
  2. Mechanizm uwagi: W swojej istocie mechanizm uwagi oblicza wynik, ktÃģry reprezentuje, ile uwagi naleÅžy poświęcić innym częściom sekwencji wejściowej przy rozumieniu bieŞącego elementu.
  3. Architektura encoder-decoder: Model transformatora składa się z encodera do przetwarzania danych wejściowych i decodera do generowania danych wyjściowych. KaÅždy składa się z wielu warstw, ktÃģre udoskonalają zrozumienie modelu danych wejściowych.
  4. Uwaga wielogłowa: Wewnątrz zarÃģwno encodera, jak i decodera, uwaga wielogłowa pozwala modelowi jednocześnie zwracać uwagę na rÃģÅžne części sekwencji z rÃģÅžnych przestrzeni reprezentacyjnych, poprawiając jego zdolność do uczenia się z rÃģÅžnych kontekstÃģw.
  5. Sieci neuronowe pozycyjne: Po uwadze prosta sieć neuronowa przetwarza wyjście kaÅždej pozycji oddzielnie i identycznie. Jest to połączone z wejściem przez połączenie resztkowe i następuje normalizacja warstwy.
  6. Generowanie danych wyjściowych: Następnie decoder predykuje sekwencję wyjściową, pod wpływem kontekstu encodera i tego, co zostało dotąd wygenerowane.

Zdolność transformatora do radzenia sobie z sekwencjami w sposÃģb rÃģwnoległy i jego wytrzymały mechanizm uwagi sprawiają, Åže jest potęŞnym narzędziem do zadań takich jak tłumaczenie i generowanie tekstu.

W przeciwieństwie do tego model Mamba działa inaczej, uÅžywając wybiÃģrczych przestrzeni stanu do przetwarzania sekwencji. To podejście rozwiązuje problem obliczeniowej niewydajności w Transfocatorach przy radzeniu sobie z długimi sekwencjami. Projekt Mamba umoÅžliwia szybsze wnioskowanie i skaluje liniowo z długością sekwencji, ustanawiając nowy paradygmat dla modelowania sekwencji, ktÃģry moÅže być bardziej wydajny, szczegÃģlnie gdy sekwencje stają się coraz dłuÅžsze.

Mamba

Co sprawia, Åže Mamba jest naprawdę unikalna, to jej odejście od tradycyjnej uwagi i blokÃģw MLP. To uproszczenie prowadzi do lÅžejszego, szybszego modelu, ktÃģry skaluje liniowo z długością sekwencji – osiągnięcie, ktÃģre nie ma precedensu wśrÃģd jego poprzednikÃģw.

Kluczowe cechy Mamba obejmują:

  1. WybiÃģrcze SSM: Pozwalają one Mamba filtrować nieistotne informacje i koncentrować się na istotnych danych, poprawiając jej radzenie sobie z sekwencjami. Ta wybiÃģrczość jest kluczowa dla efektywnejinferencji opartej na treści.
  2. Algorytm zorientowany na sprzęt: Mamba uÅžywa rÃģwnoległego algorytmu zoptymalizowanego dla nowoczesnego sprzętu, szczegÃģlnie GPU. Ten projekt umoÅžliwia szybsze obliczenia i zmniejsza wymagania pamięciowe w porÃģwnaniu z tradycyjnymi modelami.
  3. Uproszczona architektura: Poprzez integrację wybiÃģrczych SSM i eliminację blokÃģw uwagi i MLP, Mamba oferuje prostszą, bardziej jednorodną strukturę. To prowadzi do lepszej skalowalności i wydajności.

Mamba wykazała się lepszą wydajnością w rÃģÅžnych dziedzinach, w tym języku, dÅšwięku i genomice, wyrÃģÅžniając się zarÃģwno w pre-trenowaniu, jak i w zadaniach specyficznych dla dziedziny. Na przykład w modelowaniu języka Mamba dorÃģwnuje lub przewyÅžsza wydajność większych modeli Transfocatora.

Kod i wstępnie wytrenowane modele Mamba są dostępne w GitHub.

Standardowe zadania kopiowania są proste dla liniowych modeli. WybiÃģrcze kopiowanie i indukcyjne głowy wymagają dynamicznej, świadomej treści pamięci dla LLM.

Standardowe zadania kopiowania są proste dla liniowych modeli. WybiÃģrcze kopiowanie i indukcyjne głowy wymagają dynamicznej, świadomej treści pamięci dla LLM.

Modele przestrzeni stanu (S4) niedawno wyłoniły się jako obiecująca klasa modeli sekwencji, obejmująca cechy z RNN, CNN i klasycznych modeli przestrzeni stanu. Modele S4 czerpią inspirację z systemÃģw ciągłych, konkretnie z rodzaju systemu, ktÃģry mapuje funkcje jednowymiarowe lub sekwencje przez niejawne stan ukryty. W kontekście głębokiego uczenia się reprezentują one znaczący postęp, dostarczając nową metodologię projektowania modeli sekwencji, ktÃģre są wydajne i bardzo elastyczne.

Dynamika modeli S4

SSM (S4) To jest podstawowy model przestrzeni stanu strukturalizowany. Przyjmuje sekwencję x i wytwarza wyjście y przy uÅžyciu nauczonych parametrÃģw A, B, C i parametru opÃģÅšnienia Δ. Przekształcenie obejmuje dyskretyzację parametrÃģw (zmianę ciągłych funkcji w dyskretne) i zastosowanie operacji SSM, ktÃģra jest niezmienna w czasie—co oznacza, Åže nie zmienia się w rÃģÅžnych krokach czasowych.

Znaczenie dyskretyzacji

Dyskretyzacja jest kluczowym procesem, ktÃģry przekształca parametry ciągłe w dyskretne za pomocą ustalonych formuł, umoÅžliwiając modelom S4 utrzymanie połączenia z systemami ciągłymi w czasie. To nadaje modelom dodatkowe właściwości, takie jak niezaleÅžność rozdzielczości, i zapewnia odpowiednią normalizację, poprawiając stabilność i wydajność modelu. Dyskretyzacja rÃģwnieÅž nawiązuje do mechanizmÃģw bramkowych znalezionych w RNN, ktÃģre są kluczowe dla zarządzania przepływem informacji przez sieć.

Liniowa niezmiennica czasowa (LTI)

Kluczową cechą modeli S4 jest ich liniowa niezmiennica czasowa. Właściwość ta implikuje, Åže dynamika modelu pozostaje spÃģjna w czasie, z parametrami ustalonymi dla wszystkich krokÃģw czasowych. LTI jest kamieniem węgielnym rekurencji i konwolucji, oferując uproszczoną, lecz potęŞną ramę dla budowania modeli sekwencji.

Pokonywanie podstawowych ograniczeń

RamÃģwka S4 była tradycyjnie ograniczona przez jej naturę LTI, co stwarza wyzwania w modelowaniu danych, ktÃģre wymagają adaptacyjnej dynamiki. Najnowszy artykuł przedstawia podejście, ktÃģre pokonuje te ograniczenia, wprowadzając parametry zaleÅžne od czasu, usuwając ograniczenie LTI. To pozwala modelom S4 radzić sobie z bardziej zrÃģÅžnicowanym zestawem sekwencji i zadań, znacznie rozszerzając ich zastosowanie.

Termin “model przestrzeni stanu” ogÃģlnie obejmuje kaÅždy proces rekurencyjny zaangaÅžowany w stan ukryty i był uÅžywany do opisu rÃģÅžnych pojęć w wielu dziedzinach. W kontekście głębokiego uczenia się modele S4, lub strukturalizowane SSM, odnoszą się do określonej klasy modeli, ktÃģre zostały zoptymalizowane pod kątem wydajnego obliczania, jednocześnie zachowując moÅžliwość modelowania złoÅžonych sekwencji.

Modele S4 mogą być zintegrowane z architekturami sieci neuronowych jako samodzielne transformacje sekwencji. Mogą być traktowane jako analogiczne do warstw konwolucyjnych w CNN, zapewniając podstawę modelowania sekwencji w rÃģÅžnych architekturach sieci neuronowych.

SSM vs SSM + Selekcja

SSM vs SSM + Selekcja

Motywacja dla wybiÃģrczości w modelowaniu sekwencji

Strukturalizowane SSM

Strukturalizowane SSM

Artykuł argumentuje, Åže podstawowym aspektem modelowania sekwencji jest kompresja kontekstu do zarządzalnego stanu. Modele, ktÃģre mogą wybiÃģrczo koncentrować się na danych wejściowych lub je filtrować, zapewniają bardziej efektywny sposÃģb utrzymania tego skompresowanego stanu, prowadząc do bardziej wydajnych i potęŞnych modeli sekwencji. Ta wybiÃģrczość jest niezbędna, aby modele mogły adaptacyjnie kontrolować, jak informacje przepływają wzdłuÅž wymiaru sekwencji, co jest niezbędne do radzenia sobie z złoÅžonymi zadaniami w modelowaniu języka i poza nim.

WybiÃģrcze SSM rozszerzają konwencjonalne SSM, pozwalając ich parametrym być zaleÅžnymi od danych wejściowych, co wprowadza stopień adaptacyjności, ktÃģry wcześniej nie był osiągalny z modelem czasowo niezmiennym. To prowadzi do modeli SSM zaleÅžnych od czasu, ktÃģre nie mogą juÅž uÅžywać konwolucji do wydajnego obliczania, lecz zamiast tego polegają na mechanizmie rekurencji liniowej, co stanowi znaczące odejście od tradycyjnych modeli.

SSM + Selekcja (S6) Ta wariant zawiera mechanizm selekcji, dodając zaleÅžność od danych wejściowych do parametrÃģw B i C, oraz parametr opÃģÅšnienia Δ. To pozwala modelowi wybiÃģrczo koncentrować się na określonych częściach sekwencji danych wejściowych x. Parametry są dyskretyzowane, biorąc pod uwagę selekcję, a operacja SSM jest stosowana w sposÃģb zaleÅžny od czasu przy uÅžyciu operacji skanowania, ktÃģra przetwarza elementy sekwencyjnie, dostosowując focus dynamicznie w czasie.

Wyniki wydajności Mamba

Mamba jest najlepsza w kaÅždym wyniku oceny

Mamba jest najlepsza w kaÅždym wyniku oceny

Pod względem wydajności Mamba wyrÃģÅžnia się zarÃģwno pod względem szybkości inferencji, jak i dokładności. Jej projekt pozwala na lepsze wykorzystanie dłuÅžszych kontekstÃģw, co jest udowodnione zarÃģwno w modelowaniu DNA, jak i audio, przewyÅžszając poprzednie modele w złoÅžonych zadaniach wymagających dalekosięŞnych zaleÅžności. Jej wszechstronność jest rÃģwnieÅž podkreślona w ocenach zero-shot w wielu zadaniach, ustanawiając nowy standard dla takich modeli pod względem wydajności i skalowalności.

Rozpoczynanie pracy z Mamba

Dla tych, ktÃģrzy są zainteresowani wykorzystaniem Mamba, wymagania techniczne obejmują system operacyjny Linux, kartę graficzną NVIDIA (NVDA ), PyTorch 1.12+ i CUDA 11.6+. Instalacja obejmuje proste polecenia pip, aby zainstalować niezbędne pakiety z repozytorium Mamba. Jeśli wystąpią problemy z kompatybilnością z wersjami PyTorch, uÅžycie flagi –no-build-isolation z pip moÅže pomÃģc. Te modele, wytrenowane na obszernych zbiorach danych, takich jak Pile i SlimPajama, są zaprojektowane, aby spełniać rÃģÅžne potrzeby obliczeniowe i wydajnościowe.

Mamba oferuje rÃģÅžne poziomy interfejsÃģw, od warstwy SSM z wybiÃģrczością po pełne struktury modeli językowych. Blok Mamba, ktÃģry jest głÃģwnym modułem architektury, wykorzystuje warstwę Conv1d przyczynową i moÅže być łatwo zintegrowany z projektami sieci neuronowych. Przykład uÅžycia w Pythonie demonstruje tworzenie instancji modelu Mamba i przetwarzanie danych przez niego, podkreślając prostotę i elastyczność systemu.

Wstępnie wytrenowane modele Mamba są dostępne na Hugging Face, z rozmiarami od 130M do 2,8B parametrÃģw, wytrenowanych na obszernym zbiorze danych Pile i SlimPajama. Te modele są zaprojektowane, aby spełniać rÃģÅžne wymagania obliczeniowe i wydajnościowe, przestrzegając standardÃģw wymiarowych GPT-3. UÅžytkownicy mogą oczekiwać wysokiej wydajności i dokładności od tych modeli, co czyni Mamba atrakcyjnym wyborem dla rÃģÅžnych zastosowań, w tym modelowania języka.

Wpływ Mamba

Mamba reprezentuje skok w modelowaniu sekwencji, oferując potęŞną alternatywę dla architektur Transfocatora do przetwarzania danych bogatych w informacje. Jej projekt jest zgodny z wymaganiami nowoczesnego sprzętu, optymalizując zarÃģwno uÅžycie pamięci, jak i moÅžliwości przetwarzania rÃģwnoległego. Otwarta dostępność kodu Mamba i wstępnie wytrenowanych modeli czyni ją dostępnym i solidnym narzędziem dla badaczy i deweloperÃģw w dziedzinie AI i głębokiego uczenia się.

Przez ostatnie pięć lat zanurzałem się w fascynującym świecie Machine Learning i Deep Learning. Moja pasja i ekspertyza doprowadziły mnie do udziału w ponad 50 rÃģÅžnorodnych projektach inÅžynierii oprogramowania, ze szczegÃģlnym uwzględnieniem AI/ML. Moja nieustanna ciekawość rÃģwnieÅž skierowała mnie w stronę Natural Language Processing, dziedziny, ktÃģrą chcę dalej eksplorować.