Główną wadą Transformerów jest to, że szybkość działania skaluje się kwadratowo względem długości wejścia - i jest to szczególnie ważne np. dla czatów, gdzie jako wejście podaje sie całą konwersację!
Mamba przetwarza w czasie liniowym względem wejścia i działa bardziej jak RNN, tzn. słowo nie ma dostępu do wszystkich poprzednich słów, ale tylko do stanu. Po przetworzeniu danego słowa:
- aktualizowany jest stan, który przekazywany jest do kolejnego słowa,
- predykowane jest jakieś wyjście (które może być przekazane do kolejnej warstwy Mamba)
Różnica względem jakiegoś bardziej klasycznego RNN (LSTM) jest taka, że:
- między kolejnymi stanami nie ma nieliniowości
- na wagi przez które mnożony jest stan i wejście zależą od wejścia (tzn. nie są takie same dla wszystkich wejść) - stąd nazwa selective state space model
In-context learning możnaby robić poprzez przekazywanie stanu.
Źródło: Mamba explained