Глава 16a. Mamba / SSM

Глава 16a. Mamba и SSM: длинная память без квадрата внимания

Attention дал параллелизм и гибкие связи.
SSM-линия пытается вернуть почти линейный скан по последовательности —
без наивной амнезии старых RNN.

Глава 16 обозначила боль длинного контекста.
Здесь разберём гипотезу state-space моделей достаточно глубоко, чтобы вы могли читать статьи семейства Mamba как архитекторы, а не как охотники за бенчмарками.


16a.1. Что снова болит

Self-attention:

качество дальних связей:  высокое
параллелизм на train:     высокий
цена:                     ~ N² по связям + память активаций

Когда N растёт (длинный документ, аудио, геном, длинный видеоряд токенов), даже FlashAttention лишь отодвигает стену: асимптотика квадрата никуда не делась.

Старый RNN:

цена:                     ~ N
дальние связи:            хрупкие
параллелизм по длине:     плохой

Нужен третий зверь: дешевле внимания на длинных N, но обучаемее и параллельнее наивной рекуррентности.


16a.2. State space в инженерной интуиции

Классическая continuous-time идея state space (очень грубо):

состояние  h'(t) = A h(t) + B x(t)
выход      y(t)  = C h(t) + D x(t)

Дискретный взгляд для токенов:

h_k = Ā h_{k-1} + B̄ x_k
y_k =  C  h_k

Смысл:

Есть сжатая память h, которая обновляется токеном за токеном.
Выход читается из памяти.
Если уметь считать это устойчиво и быстро — получим длинный контекст за ~O(N).

Это родственник RNN, но с другой родословной: фильтры, контроллеры, свёртки по времени, аккуратные дискретизации.

Скан состояния SSM


16a.3. Почему наивный SSM ещё не Mamba

Чтобы SSM стал конкурентом трансформера в deep learning, пришлось закрыть несколько дыр:

1. Обучаемость глубоких стеков.
Нужны нормализации, residual, правильная параметризация A (стабильность!), иначе снова глухой телефон во времени.

2. Выразительность.
Линейный time-invariant фильтр плохо адаптируется к токену: иногда нужно «забыть», иногда — «вцепиться».
Отсюда селективность: параметры перехода зависят от текущего входа (ядро идеи Mamba).

3. Железо.
Последовательный скан легко написать медленно. Нужны fused CUDA/kernels, эффективный parallel scan, работа с памятью — рифма с FlashAttention, только другая математика.

flowchart TD
    A[Длинный контекст] --> B[Attention O(N²)]
    A --> C[SSM / scan ~ O(N)]
    C --> D[Стабильная дискретизация]
    C --> E[Selective параметры от входа]
    C --> F[Быстрый scan на GPU]
    D --> G[Mamba-подобные блоки]
    E --> G
    F --> G

16a.4. Обмен, который предлагает Mamba-линия

Получают Платят
Лучший asymptotics по N Меньше «полной» все-со-всеми связности внимания
Длинный контекст реалистичнее Сильнее зависимость от качества ядер/реализации
Инференс с компактным состоянием Новые режимы нестабильности/инициализации
Альтернатива squaring memory Экосистема, инструменты, рецепты ещё моложе

Честная рамка:

Это не «трансформеры умерли».
Это ставка: для ряда модальностей и длин селективный скан окупается лучше полного attention.

Гибриды (attention на редких глобальных токенах + SSM на потоке) снова выглядят как взрослый ответ книги: не религия, а парето по задаче.


16a.5. Как читать следующую SSM-статью

Шесть вопросов из главы 16 — в узкой редакции:

  1. Какая длина N реально показана, не только в абстракте?
  2. Есть ли селективность от входа или это LTI-фильтр?
  3. Чем стабилизируют A / дискретизацию?
  4. Wall-clock vs FlashAttention на одном GPU и одном batch?
  5. Качество на дальних зависимостях (needle-in-haystack и доменные тесты)?
  6. Что с обучением deep stack — сходится ли без героического LR-шаманства?
Подход Обмен
RNN Память есть, параллелизма нет
Attention Связи гибкие, квадрат кусается
SSM Скан почти линеен, выразительность надо добыть

Если после этих вопросов хайп остаётся подкреплённым цифрами на вашей длине контекста — гипотеза жива.
Если выигрыш только в FLOPs-калькуляторе — вы уже знаете, куда смотреть (глава 11a).


Если бы вы были автором статьи…

  1. Сконструируйте бенчмарк дальней зависимости, где локальные свёртки/окна attention обязаны провалиться.
    Как на нём выглядят Transformer / window-attn / Mamba-like?

  2. Смешайте блоки: 1 attention на 7 SSM.
    Какой минимальный процент attention сохраняет качество на вашем датасете?

  3. Профилируйте состояние h: размер, bandwidth, batch=1 latency.
    В каком режиме SSM memory-bound, несмотря на O(N)?

На этом линия «после трансформеров» перестаёт быть туманом в послесловии и становится обычной инженерной развилкой — с тем же языком болей и обменов, что и YOLO в 2016.