group-telegram.com/dl_stories/833
Last Update:
Помните, писала пост про десять AI-предсказаний Forbes на 2024 год? Там шестой пункт — про то, что "появятся архитектуры-альтернативы трансформерам". И одним из главных претендентов на архитектуру-убийцу трансформера там была названа Mamba.
Так вот, еще с того момента, как писала тот пост, хотела эту Мамбу заботать, но никак руки не доходили. Но вчера у нас в универ был reading group, который был посвящен как раз Мамбе. Хочу сказать, что reading group действительно помог быстро и понять общую идею модели. Так что собирайтесь в reading club'ы, это круто и полезно)
Но прямо сейчас я пост/статейку про Mamba писать все равно еще не готова, мне нужно понять еще несколько нюансов и заботать статьи, на которых Mamba основана. Пока напишу несколько основных мыслей и тезисов по ней. Поправьте меня, если я вдруг где-то не права.
Начем с того, что Mamba — это не какая-то супер-новая архитектура, которая отличается от всего, что мы видели, и которая взяла и перевернула мир. Mamba основана на State Space Models (SSM) — архитектуре, которая была предложена аж в 1960-х. SSM хорошо подходят для работы с непрерывными типами данных, такими, как аудио.
Главные преимущества SSM:
— количество времени и пямяти, которые требуют SSM во время обучения и инференса, растет линейно относительно длины входной последовательности. Если обучить SSM на задачу языкового моделирования, то модель будет тратить константное количество времени и памяти на каждый шаг генерации;
— SSM легко поддерживают огромный размер контекста, до 1 миллиона токенов.
Это все звучит хорошо. Но для дискретных модальностей, таких, как текст, до сих пор успешно применить SMM не удавалось. То есть, условно, не получалось достичь того, чтобы SMM имела сравнимое с транфсормерами качество на задаче языкового моделирования, не требуя при этом сильно больше времени на inference. Главным препятствием тут было то, что механизм стандартных SSM не позволяет модели выделять из входной последовательности отдельные части информации, которые важны для текущего инпута. А это — очень важное умение для LLM. А те модификации SSM, которые так делать умеют, сразу сильно теряют в скорости.
Авторы Mamba предложили пару модификаций в архитектуру современной SSM, которые и позволили Mamba наделать шуму в обществе и стать, как часто пишут, "угрозой для трансформеров". На задаче языкового моделирования Mamba достигает уровня GPT-NeoX, имея в два раза меньше обучаемых параметров. Более того, скорость инференса у Mamba тоже сильно лучше: она достигает улучшения в 5 раз по сравнению с трансформерами — это просто огромный прорыв для SMM. Конечно, это всего лишь сравнение с GPT-NeoX на нескольких бенчмарках, большой Mamba-based LLM типа GPT-4 еще нет и в помине. Но, на первый взгляд, результаты выглядят очень круто.
Но что же такое эта ваша Mamba? Если оочень кратко, то Mamba — это SSM + MLP блок Трансформера + пара трюков для ускорения модели. По архитектуру Mamba я, надеюсь, позже напишу более подробный пост или статью. А вот в трюках для ускорения становится интересно: они основаны не на архитектурных решениях, а на работе с процессором (т.е. они hardware-aware). На основе знаний о нюансах работы частей GPU, авторы предлагают хранить и обрабатывать тензоры, возникающие в процессе работы SSM, в разных частях GPU. Это сильно ускоряет процесс. Большего я тут пока сказать не могу, потому что практически ничего в устройствах hardware не понимаю (хотя моя мама была инженером-наладчиком ЭВМ, вот это ирония))
Вот как-то так. Надо еще сказать, что больше всего шуму Mamba пока что наводит не в мире NLP/LLM, а в медицине. В этом домене есть данные, представленные в виде последовательностей (геномы), и изображений огромного размера (всякие сканы тканей), поэтому у исследователей есть мысль, что Mamba сможет тут реально помочь. А в NLP то ли очень сильная инерция (мы по уши увязли в трансформерах), то ли у SSM есть серьезные ограничения, которых я пока не понимаю. А может, кто-то уже и ведет работу над SSM-LLM, и мы скоро об этом узнаем)
📃Статья Mamba
BY DLStories
Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260
Share with your friend now:
group-telegram.com/dl_stories/833