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:
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.
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.
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.
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.
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.
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Ä :
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.
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.
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.
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
Motywacja dla wybiÃģrczoÅci w modelowaniu sekwencji
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
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Ä.