Mamba: state space модели без attention
Mamba — это модель на selective state space, которая масштабируется линейно по длине и не использует attention.
Зачем это нужно
Attention квадратичен по длине входа. Авторы хотят модель, которая сохраняет качество трансформера, но растёт линейно. Ранние структурированные SSM были быстрыми, но уступали в качестве, потому что не умели выбирать, что помнить.
Как это работает
Авторы делают параметры SSM функциями от входа: они меняются в зависимости от содержимого. Так модель может решить, какую информацию сохранить в состоянии, а какую отбросить. Блоки attention и MLP в архитектуре Mamba заменены одним блоком. Для эффективного вычисления авторы используют аппаратно-ориентированный алгоритм.
Пример
По данным статьи, на инференсе Mamba даёт пропускную способность в 5 раз выше, чем трансформеры, и масштабируется линейно по длине. Авторы сообщают, что качество на языке сопоставимо с трансформерами того же размера, а производительность растёт до последовательностей длиной в миллион токенов.
Что запомнить
- Mamba использует selective SSM, в которой параметры зависят от входа.
- Модель растёт линейно по длине входа, без квадратичного attention.
- Авторы заявляют качество трансформера при линейном масштабировании.
Где читать дальше
- Gu, Dao, Mamba (arXiv:2312.00752), разделы 1 и 3