заглушки Мамба: новое определение последовательного моделирования и преобразование архитектуры трансформаторов - Unite.AI
Свяжитесь с нами:

Artificial Intelligence

Мамба: новое определение последовательного моделирования и изменение архитектуры трансформаторов

mm

опубликованный

 on

Модель искусственного интеллекта Мамбы

В этой статье о Мамба, мы рассмотрим, как эта инновационная модель в пространстве состояний (SSM) производит революцию в моделировании последовательностей. Разработанная Альбертом Гу и Три Дао, Mamba отличается своей эффективностью в обработке сложных последовательностей в таких областях, как обработка языка, геномика и аудиоанализ. Его моделирование последовательностей в линейном времени с выборочными пространствами состояний обеспечивает исключительную производительность в этих разнообразных условиях.

Мы углубимся в способность Мамбы преодолевать вычислительные проблемы, с которыми сталкиваются традиционные Трансформеры, особенно при работе с длинными последовательностями. Его избирательный подход к моделям в пространстве состояний позволяет быстрее делать выводы и линейно масштабировать длину последовательности, что значительно повышает пропускную способность.

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

Трансформеры против Мамба 

Трансформаторы, такие как GPT-4, установили стандарты обработки естественного языка. Однако их эффективность падает с увеличением продолжительности последовательностей. Здесь Mamba выходит вперед благодаря своей способности более эффективно обрабатывать длинные последовательности и уникальной архитектуре, которая упрощает весь процесс.

Преобразователи умеют обрабатывать последовательности данных, например текст, для языковых моделей. В отличие от предыдущих моделей, которые обрабатывали данные последовательно, Transformers обрабатывают целые последовательности одновременно, что позволяет им фиксировать сложные взаимосвязи внутри данных.

Они используют механизм внимания, который позволяет модели концентрироваться на разных частях последовательности при составлении прогнозов.

Это внимание рассчитывается с использованием трех наборов весов: запросов, ключей и значений, полученных из входных данных. Каждый элемент в последовательности сравнивается с любым другим элементом, обеспечивая вес, который означает важность или «внимание», которое каждый элемент должен получить при прогнозировании следующего элемента в последовательности.

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

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

В отличие от Трансформеров, модель Мамбы использует другой подход. В то время как Трансформеры решают проблему длинных последовательностей, используя более сложные механизмы внимания, Мамба использует выборочные пространства состояний, обеспечивая более вычислительные возможности.

Вот общий обзор того, как работает трансформатор:

  1. Обработка ввода: Трансформаторы сначала кодируют входные данные в формат, понятный модели, часто используя встраивания, которые также включают положение каждого элемента в последовательности.
  2. Механизм внимания: По своей сути механизм внимания вычисляет оценку, которая показывает, сколько внимания следует уделить другим частям входной последовательности при понимании текущего элемента.
  3. Архитектура кодировщик-декодер: Модель трансформатора состоит из кодера для обработки входных данных и декодера для генерации выходных данных. Каждый состоит из нескольких слоев, которые уточняют понимание входных данных моделью.
  4. Многоголовое внимание: Как в кодере, так и в декодере многоголовое внимание позволяет модели одновременно обрабатывать различные части последовательности из разных репрезентативных пространств, улучшая ее способность учиться в различных контекстах.
  5. Позиционные сети прямой связи: После внимания простая нейронная сеть обрабатывает вывод каждой позиции отдельно и одинаково. Это объединяется с входом через остаточное соединение и сопровождается нормализацией слоя.
  6. Генерация выходных данных: затем декодер прогнозирует выходную последовательность под влиянием контекста кодера и того, что он сгенерировал на данный момент.

Способность преобразователя обрабатывать последовательности параллельно и его надежный механизм внимания делают его эффективным для таких задач, как перевод и генерация текста.

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

Мамба

Что делает Мамбу по-настоящему уникальной, так это ее отход от традиционного внимания и блоков MLP. Это упрощение приводит к созданию более легкой и быстрой модели, которая линейно масштабируется в зависимости от длины последовательности — достижение, не имеющее аналогов у ее предшественников.

Ключевые особенности Мамбы:

  1. Селективные SSM: они позволяют Mamba фильтровать ненужную информацию и фокусироваться на важных данных, улучшая обработку последовательностей. Эта избирательность имеет решающее значение для эффективного содержательного рассуждения.
  2. Аппаратно-ориентированный алгоритм: Mamba использует параллельный алгоритм, оптимизированный для современного оборудования, особенно для графических процессоров. Такая конструкция обеспечивает более быстрые вычисления и снижает требования к памяти по сравнению с традиционными моделями.
  3. Упрощенная архитектура: Интегрируя выборочные SSM и устраняя блоки внимания и MLP, Мамба предлагает более простую и однородную структуру. Это приводит к лучшей масштабируемости и производительности.

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

Код Mamba и предварительно обученные модели открыто доступны для использования сообществом на сайте GitHub.

Стандартные задачи копирования просты для линейных моделей. Головки выборочного копирования и индукционные головки требуют динамической памяти с учетом содержимого для LLM.

Стандартные задачи копирования просты для линейных моделей. Головки выборочного копирования и индукционные головки требуют динамической памяти с учетом содержимого для LLM.

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

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

ССМ (S4) Это базовая структурированная модель пространства состояний. Требуется последовательность x и производит вывод y используя изученные параметры A, B, Cи параметр задержки Δ. Преобразование включает в себя дискретизацию параметров (преобразование непрерывных функций в дискретные) и применение операции SSM, которая является инвариантной во времени, то есть не меняется на разных временных шагах.

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

Дискретизация — это ключевой процесс, который преобразует непрерывные параметры в дискретные с помощью фиксированных формул, что позволяет моделям S4 поддерживать связь с системами с непрерывным временем. Это наделяет модели дополнительными свойствами, такими как инвариантность разрешения, и обеспечивает правильную нормализацию, повышая стабильность и производительность модели. Дискретизация также проводит параллели с механизмами шлюзования, обнаруженными в RNN, которые имеют решающее значение для управления потоком информации через сеть.

Линейная инвариантность во времени (LTI)

Основной особенностью моделей S4 является их линейная инвариантность во времени. Это свойство означает, что динамика модели остается постоянной во времени, а параметры фиксированы для всех временных шагов. LTI — это краеугольный камень повторения и сверток, предлагающий упрощенную, но мощную основу для построения моделей последовательностей.

Преодоление фундаментальных ограничений

Платформа S4 традиционно ограничена своей природой LTI, что создает проблемы при моделировании данных, требующих адаптивной динамики. В недавнем исследовательском документе представлен подход, который преодолевает эти ограничения за счет введения изменяющихся во времени параметров, тем самым устраняя ограничение LTI. Это позволяет моделям S4 справляться с более разнообразным набором последовательностей и задач, значительно расширяя возможности их применения.

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

Модели S4 могут быть интегрированы в сквозные архитектуры нейронных сетей, функционируя как автономные преобразования последовательностей. Их можно рассматривать как аналог слоев свертки в CNN, обеспечивающих основу для моделирования последовательностей в различных архитектурах нейронных сетей.

SSM против SSM + Выбор

SSM против SSM + Выбор

Мотивация избирательности при моделировании последовательностей

Структурированные SSM

Структурированные SSM

В статье утверждается, что фундаментальным аспектом моделирования последовательностей является сжатие контекста в управляемое состояние. Модели, которые могут выборочно фокусироваться на входных данных или фильтровать их, предоставляют более эффективные средства поддержания этого сжатого состояния, что приводит к более эффективным и мощным моделям последовательностей. Эта избирательность жизненно важна для моделей, позволяющих адаптивно контролировать потоки информации по измерению последовательности, что является важной возможностью для решения сложных задач в языковом моделировании и за его пределами.

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

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

Основные характеристики Мамбы

Мамба является лучшей в своем классе по каждому отдельному результату оценки

Мамба является лучшей в своем классе по каждому отдельному результату оценки

С точки зрения производительности, Mamba превосходит всех по скорости и точности вывода. Его конструкция позволяет лучше использовать более длинные контексты, что демонстрируется как при моделировании ДНК, так и при моделировании звука, превосходя предыдущие модели в сложных задачах, требующих зависимостей на большом расстоянии. Его универсальность также подчеркивается нулевыми оценками множества задач, устанавливая новый стандарт для таких моделей с точки зрения эффективности и масштабируемости.

Начало работы с Мамбой

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

Mamba предлагает различные уровни интерфейсов: от выборочного уровня SSM до блока Mamba и полных структур языковой модели. Блок Mamba, который является основным модулем архитектуры, использует причинный слой Conv1d и может быть легко интегрирован в проекты нейронных сетей. Приведенный пример использования на Python демонстрирует создание экземпляра модели Mamba и обработку данных с ее помощью, подчеркивая простоту и гибкость системы.

Предварительно обученные модели Mamba доступны на Обнимая лицо, с размерами от 130 млн до 2.8 млрд параметров, обученных на обширном наборе данных Pile и наборе данных SlimPajama. Эти модели разработаны с учетом разнообразных требований к вычислениям и производительности и соответствуют стандартам размеров GPT-3. Пользователи могут ожидать от этих моделей высокой пропускной способности и точности, что делает Mamba конкурентоспособным выбором для различных приложений, включая, помимо прочего, языковое моделирование.

Влияние Мамбы

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

Последние пять лет я погружался в увлекательный мир машинного обучения и глубокого обучения. Моя страсть и опыт позволили мне принять участие в более чем 50 различных проектах по разработке программного обеспечения, уделяя особое внимание AI/ML. Мое постоянное любопытство также привлекло меня к обработке естественного языка, области, которую я очень хочу исследовать дальше.