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 , 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ć.