Зв'язатися з нами

Mamba: переосмислення моделювання послідовності та вдосконалення архітектури трансформаторів

Штучний Інтелект

Mamba: переосмислення моделювання послідовності та вдосконалення архітектури трансформаторів

mm
Модель Mamba AI

У цій статті на Mamba, ми дослідимо, як ця інноваційна модель простору станів (SSM) революціонізує моделювання послідовностей. Розроблена Альбертом Гу та Трі Дао, Mamba вирізняється своєю ефективністю в обробці складних послідовностей у таких галузях, як обробка мови, геноміка та аналіз аудіо. Її лінійне моделювання послідовностей з вибірковими просторами станів забезпечує виняткову продуктивність у цих різноманітних модальностях.

Ми заглибимося у здатність Mamba долати обчислювальні труднощі, з якими стикаються традиційні трансформатори, особливо з довгими послідовностями. Його вибірковий підхід у моделях простору станів дозволяє швидше виводити дані та лінійно масштабувати їх залежно від довжини послідовності, що значно покращує пропускну здатність.

Унікальність Mamba полягає в її швидкій обробці даних, вибірковому SSM-шарі та зручному для апаратного забезпечення дизайні, натхненному FlashAttention. Ці функції дозволяють Mamba перевершити багато існуючих моделей, включаючи ті, що базуються на трансформаторному підході, що робить її помітним досягненням у машинному навчанні.

Трансформери проти Mamba 

Трансформатори, такі як GPT-4, встановили нові стандарти в обробці природної мови. Однак їхня ефективність падає з довшими послідовностями. Саме тут Mamba виходить вперед завдяки своїй здатності ефективніше обробляти довгі послідовності та унікальній архітектурі, яка спрощує весь процес.

Transformers вправно обробляють послідовності даних, наприклад текст для мовних моделей. На відміну від попередніх моделей, які обробляли дані послідовно, Transformers обробляють цілі послідовності одночасно, дозволяючи їм фіксувати складні зв’язки всередині даних.

Вони використовують механізм уваги, який дозволяє моделі зосереджуватися на різних частинах послідовності під час прогнозування.

Ця увага обчислюється за допомогою трьох наборів ваг: запитів, ключів і значень, отриманих з вхідних даних. Кожен елемент у послідовності порівнюється з усіма іншими елементами, що забезпечує вагу, яка вказує на важливість або «увагу», яку кожен елемент має отримати під час прогнозування наступного елемента в послідовності.

Трансформатори мають два основні блоки: кодер, який обробляє вхідні дані, і декодер, який генерує вихідні дані. Кодер складається з кількох рівнів, кожен з яких містить два підрівні: механізм самоконтролю з кількома головками та просту, позиційно повністю підключену мережу прямого зв’язку. Нормалізація та залишкові з’єднання використовуються на кожному підрівні, щоб допомогти у навчанні глибоких мереж.

Декодер також має шари з двома підшарами, подібними до кодера, але додає третій підшар, який виконує багатоголовкову увагу до виходу кодера. Послідовна природа декодера гарантує, що прогнози для позиції можуть враховувати лише попередні позиції, зберігаючи властивість авторегресії.

На відміну від Трансформерів, у моделі Mamba інший підхід. У той час як Transformers вирішують проблему довгих послідовностей, використовуючи складніші механізми уваги, Mamba використовує вибіркові простори станів, забезпечуючи більше обчислювальних

Ось короткий огляд того, як працює трансформатор:

  1. Обробка вхідних даних: Transformers спочатку кодують вхідні дані у формат, який може зрозуміти модель, часто використовуючи вбудовування, які також включають положення кожного елемента в послідовності.
  2. Механізм уваги: За своєю суттю, механізм уваги обчислює оцінку, яка показує, скільки уваги приділяти іншим частинам вхідної послідовності під час розуміння поточного елемента.
  3. Архітектура кодера-декодераМодель трансформатора складається з кодера для обробки вхідних даних та декодера для генерації вихідних даних. Кожен з них складається з кількох шарів, що уточнюють розуміння моделлю вхідних даних.
  4. Багатостороння увага: як у кодері, так і в декодері увага кількох голов дозволяє моделі одночасно звертати увагу на різні частини послідовності з різних репрезентативних просторів, покращуючи її здатність навчатися з різноманітних контекстів.
  5. Позиційні мережі прямого зв'язку: Після уваги проста нейронна мережа обробляє вихідні дані кожної позиції окремо та однаково. Це поєднується з введенням через залишкове з’єднання та супроводжується нормалізацією рівня.
  6. Генерація виходуДекодер потім прогнозує вихідну послідовність, на яку впливає контекст кодера та те, що він згенерував на даний момент.

Здатність трансформатора обробляти послідовності паралельно та його надійний механізм уваги роблять його потужним для таких завдань, як переклад і генерація тексту.

На відміну від цього, модель Mamba працює інакше, використовуючи вибіркові простори станів для обробки послідовностей. Цей підхід усуває обчислювальну неефективність у Transformers під час роботи з довгими послідовностями. Дизайн Mamba дозволяє швидше виводити дані та лінійно масштабується з довжиною послідовності, встановлюючи нову парадигму для моделювання послідовностей, яка може бути ефективнішою, особливо коли послідовності стають все більш довшими.

Mamba

Що робить Mamba дійсно унікальним, так це його відхід від традиційних блоків уваги та MLP. Це спрощення веде до легшої та швидшої моделі, яка лінійно масштабується з довжиною послідовності – досягнення, яке не має собі рівних попередників.

Ключові особливості Mamba:

  1. Вибіркові SSM: Це дозволяє Mamba фільтрувати нерелевантну інформацію та зосереджуватися на релевантних даних, покращуючи обробку послідовностей. Ця вибірковість має вирішальне значення для ефективних міркувань на основі змісту.
  2. Апаратно-залежний алгоритмMamba використовує паралельний алгоритм, оптимізований для сучасного обладнання, особливо графічних процесорів. Така конструкція забезпечує швидші обчислення та зменшує вимоги до пам'яті порівняно з традиційними моделями.
  3. Спрощена архітектура: Завдяки інтеграції вибіркових SSM та усуненню блоків уваги та MLP, Mamba пропонує простішу та більш однорідну структуру. Це забезпечує кращу масштабованість і продуктивність.

Mamba продемонструвала чудову ефективність у різних сферах, включаючи мову, аудіо та геноміку, перевершуючи як підготовку, так і предметно-спеціальні завдання. Наприклад, у мовному моделюванні Mamba відповідає або перевищує продуктивність більших моделей Transformer.

Код Mamba та попередньо навчені моделі відкрито доступні для використання спільнотою за адресою GitHub.

Стандартні завдання копіювання для лінійних моделей прості. Вибіркове копіювання та індукційні головки вимагають динамічної пам’яті з урахуванням вмісту для LLM.

Стандартні завдання копіювання для лінійних моделей прості. Вибіркове копіювання та індукційні головки вимагають динамічної пам’яті з урахуванням вмісту для LLM.

Моделі структурованого простору станів (S4) нещодавно з’явилися як багатообіцяючий клас моделей послідовності, що охоплює ознаки RNN, CNN і класичних моделей простору станів. Моделі S4 черпають натхнення з неперервних систем, зокрема типу системи, яка відображає одновимірні функції або послідовності через неявний латентний стан. У контексті глибокого навчання вони являють собою значну інновацію, забезпечуючи нову методологію для розробки моделей послідовності, які є ефективними та добре адаптованими.

Динаміка моделей S4

SSM (S4) Це базова модель структурованого простору станів. Це вимагає послідовності x і створює вихід y використовуючи вивчені параметри A, B, Cі параметр затримки ΔПеретворення включає дискретизацію параметрів (перетворення неперервних функцій на дискретні) та застосування операції SSM, яка є інваріантною в часі, тобто вона не змінюється з різним кроком у часі.

Значення дискретизації

Дискретизація є ключовим процесом, який перетворює безперервні параметри в дискретні за допомогою фіксованих формул, що дозволяє моделям S4 підтримувати зв’язок із системами безперервного часу. Це наділяє моделі додатковими властивостями, такими як незмінність роздільної здатності, і забезпечує правильну нормалізацію, підвищуючи стабільність і продуктивність моделі. Дискретизація також проводить паралелі з механізмами стробування, знайденими в RNN, які є критичними для управління потоком інформації через мережу.

Лінійна інваріантність часу (LTI)

Основною особливістю моделей S4 є їх лінійна незмінність у часі. Ця властивість передбачає, що динаміка моделі залишається незмінною в часі з фіксованими параметрами для всіх часових кроків. LTI є наріжним каменем повторень і згорток, пропонуючи спрощену, але потужну структуру для побудови моделей послідовності.

Подолання фундаментальних обмежень

Структура S4 традиційно обмежена своєю природою LTI, що створює проблеми при моделюванні даних, які потребують адаптивної динаміки. Недавня дослідницька стаття представляє підхід, який долає ці обмеження шляхом введення параметрів, що змінюються в часі, таким чином усуваючи обмеження LTI. Це дозволяє моделям S4 обробляти більш різноманітний набір послідовностей і завдань, значно розширюючи їхню застосовність.

Термін «модель простору станів» широко охоплює будь-який рекурентний процес, що включає латентний стан, і використовується для опису різних концепцій у багатьох дисциплінах. У контексті глибокого навчання моделі S4 або структуровані SSM відносяться до певного класу моделей, оптимізованих для ефективних обчислень, зберігаючи при цьому здатність моделювати складні послідовності.

Моделі S4 можна інтегрувати в наскрізні архітектури нейронної мережі, функціонуючи як автономні перетворення послідовності. Їх можна розглядати як аналоги шарів згортки в CNN, забезпечуючи основу для моделювання послідовності в різноманітних архітектурах нейронних мереж.

SSM проти SSM + Selection

SSM проти SSM + Selection

Мотивація вибірковості в моделюванні послідовності

Структуровані SSM

Структуровані SSM

У статті стверджується, що основним аспектом моделювання послідовності є стиснення контексту в керований стан. Моделі, які можуть вибірково зосереджуватися на вхідних даних або фільтрувати їх, забезпечують більш ефективні засоби підтримки цього стисненого стану, що призводить до більш ефективних і потужних моделей послідовності. Ця вибірковість життєво важлива для моделей, щоб адаптивно керувати потоками інформації вздовж виміру послідовності, важливою можливістю для вирішення складних завдань у мовному моделюванні та поза ним.

Селективні SSM покращують звичайні SSM, дозволяючи їхнім параметрам залежати від вхідних даних, що вводить ступінь адаптивності, який раніше був недосяжний з інваріантними в часі моделями. Це призводить до змінних у часі SSM, які більше не можуть використовувати згортки для ефективного обчислення, а замість цього покладаються на механізм лінійного повторення, що є значним відхиленням від традиційних моделей.

SSM + вибір (S6) Цей варіант включає механізм вибору, додаючи вхідну залежність до параметрів B та Cі параметр затримки Δ. Це дозволяє моделі вибірково фокусуватися на певних частинах вхідної послідовності x. Параметри дискретизуються з урахуванням вибору, а операція SSM застосовується залежно від часу за допомогою операції сканування, яка обробляє елементи послідовно, динамічно регулюючи фокус з часом.

Основні характеристики Mamba

Mamba є найкращим у своєму класі за кожним результатом оцінки

Mamba є найкращим у своєму класі за кожним результатом оцінки

Що стосується продуктивності, Mamba перевершує як швидкість, так і точність логічного висновку. Її конструкція дозволяє краще використовувати довші контексти, що демонструється як у моделюванні ДНК, так і аудіо, перевершуючи попередні моделі у складних завданнях, що вимагають довгострокових залежностей. Її універсальність також підкреслюється в оцінках нульового результату для кількох завдань, встановлюючи новий стандарт для таких моделей з точки зору ефективності та масштабованості.

Початок роботи з Mamba

Для тих, хто зацікавлений у використанні Mamba, технічні вимоги включають ОС Linux, графічний процесор NVIDIA, PyTorch 1.12+ і CUDA 11.6+. Встановлення передбачає прості команди pip для встановлення необхідних пакетів із Репозиторій Mamba. Якщо виникають проблеми сумісності з версіями PyTorch, використання позначки –no-build-isolation з pip може допомогти. Ці моделі, навчені на великих наборах даних, таких як Pile і SlimPajama, розроблені для задоволення різноманітних обчислювальних потреб і тестів продуктивності.

Mamba пропонує різні рівні інтерфейсів, від вибіркового шару SSM до блоку Mamba та повних структур мовних моделей. Блок Mamba, який є основним модулем архітектури, використовує причинно-наслідковий шар Conv1d і може бути легко інтегрований у проекти нейронних мереж. Наведений приклад використання на Python демонструє створення екземпляра моделі Mamba та обробку даних через неї, підкреслюючи простоту та гнучкість системи.

Попередньо підготовлені моделі Mamba доступні на Обіймати обличчя, із розмірами від 130M до 2.8B параметрів, навчених на великому наборі даних Pile і SlimPajama. Ці моделі розроблено відповідно до різноманітних вимог щодо обчислення та продуктивності, дотримуючись стандартів розмірів GPT-3. Користувачі можуть очікувати від цих моделей високої пропускної здатності та точності, що робить Mamba конкурентоспроможним вибором для різноманітних додатків, включаючи, але не обмежуючись, моделювання мови.

Вплив Мамби

Mamba являє собою крок вперед у моделюванні послідовностей, пропонуючи потужну альтернативу архітектурам Transformer для обробки інформаційно щільних даних. Її дизайн відповідає вимогам сучасного обладнання, оптимізуючи як використання пам'яті, так і можливості паралельної обробки. Відкритий вихідний код Mamba та її попередньо навчені моделі роблять її доступним та надійним інструментом для дослідників та розробників у галузі штучного інтелекту та глибокого навчання.

Останні п’ять років я провів, занурюючись у захоплюючий світ машинного та глибокого навчання. Моя пристрасть і досвід допомогли мені внести свій внесок у понад 50 різноманітних проектів розробки програмного забезпечення, зосередивши особливу увагу на ШІ/ML. Моя постійна цікавість також привела мене до обробки природної мови, галузі, яку я хочу досліджувати далі.