Обзор трансформера с подробным объяснением принципов работы альтернативной Мамбы (с иллюстрациями)

Альтернатива трансформатору в моделировании языка

Трансформатор Архитектура - ключевой компонент успеха больших языковых моделей (LLM). Почти все крупные языковые модели, используемые сегодня, используют эту архитектуру, начиная от моделей с открытым исходным кодом, таких как Мистраль к моделям с закрытым исходным кодом, таким как ChatGPT.

Для дальнейшего совершенствования большой языковой модели были разработаны новые архитектуры, которые могут даже выходить за рамки архитектуры Transformer. Одним из таких подходов является Мамбаодин тип пространственная модель.

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Мамба в газете Mamba: моделирование линейно-временных последовательностей с выборочными пространствами состояний1 в котором она была представлена. Вы можете узнать больше о ней в репозиторий Найдите его официальную реализацию и контрольные точки модели в.

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

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

Часть 1:Вопросы трансформеров

Чтобы проиллюстрировать, насколько интересна архитектура Mamba, давайте сначала кратко рассмотрим Transformers и изучим один из его недостатков.

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

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Одно из главных преимуществ трансформеров заключается в том, что независимо от того, какие входные данные они получают, они могут вернуться к любым более ранним лексемам в последовательности, чтобы получить свое представление.

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解)

 

Основные компоненты трансформаторов

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

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Мы можем использовать эту структуру и создавать генеративные модели, используя только декодеры. Эта модель, основанная на трансформаторах, называетсяГенеративный трансформатор предварительного обучения(GPT), который использует блоки декодера для завершения части входного текста.

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Давайте посмотрим, как это работает!

Благословения в обучении...

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

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Механизм самовнушения - важная причина, по которой эти модели работают так хорошо. Он позволяет просматривать всю последовательность без сжатия и быстро обучается.

Как это работает?

Она создает матрицу, в которой каждый Токен Сравните его с каждым предыдущим Токеном. Веса в матрице зависят от релевантности пар Токенов друг другу.

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Эта матрица создается сразу во время обучения. "Мой"и"имя"Внимание между не нужно вычислять, прежде чем его можно вычислить".имя"и"это"Внимание между.

Он понимает.распараллеливание, что значительно ускоряет обучение!

Проблемы в рассуждениях!

Однако есть и недостаток. При генерации следующего токена нам необходимо пересчитатьвся последовательностьвнимание, даже если мы уже сгенерировали несколько Token.

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Определите длинуLПоследовательность требует околораз, что может быть вычислительно дорого, если длина последовательности увеличивается.

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Необходимость пересчитывать всю последовательность является одним из основных узких мест архитектуры Transformer.

Давайте посмотрим, как "классическая" техника, рекуррентные нейронные сети (РНС), решает эту проблему медленного вывода.

Является ли RNN решением?

Рекуррентная нейронная сеть (РНС) - это сеть, основанная на последовательности. На каждом временном шаге она получает два входа, т. е. шаг по времениtвходные данные и предыдущий шаг по времениt-1скрытого состояния используется для генерации следующего скрытого состояния и предсказания выхода.

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

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) При генерации выходного сигнала RNN необходимо учитывать только предыдущее скрытое состояние и текущий вход. Это позволяет избежать проблемы повторного вычисления всех предыдущих скрытых состояний, требуемой трансформатором.

Другими словами, RNN способна быстро делать выводы, потому что она линейно масштабируется с длиной последовательности! Теоретически, он даже может иметьНеограниченная длина контекста.

Чтобы проиллюстрировать это, давайте применим RNN к входному тексту, который мы использовали ранее.

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Каждое скрытое состояние представляет собой совокупность всех предыдущих скрытых состояний, обычно в сжатом виде.

Однако здесь есть проблема .......

Обратите внимание, что при генерации имени "Маартен", когда последнее скрытое состояние больше не содержит информации о слове "Здравствуйте"RNN склонны забывать информацию с течением времени, поскольку они учитывают только последнее состояние.

Хотя RNN быстрее в плане обучения и вывода, им не хватает точности, которую могут обеспечить трансформаторные модели.

Поэтому мы изучаем модели пространства состояний, чтобы эффективно использовать RNN (и иногда свертку).

Часть 2:Моделирование пространства состояний (SSM)

Модели пространства состояний (МПС), такие как трансформаторы и РНС, работают с последовательностями информации, такими как текст и сигналы. В этом разделе мы представим основные концепции SSM и то, как они связаны с текстовыми данными.

Что такое пространство состояний?

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

Давайте упростим ситуацию. Представьте, что мы путешествуем по лабиринту. "пространство состояний"Это карта всех возможных мест (состояний). Каждая точка представляет собой уникальное место в лабиринте с конкретными деталями, например, как далеко вы находитесь от выхода.

"представление пространства состояний" - это упрощенное описание этой карты. Она показывает ваше текущее местоположение (текущее состояние), следующее место, куда вы можете отправиться (возможное будущее состояние), и как вы можете добраться до следующего места (перемещение вправо или влево).

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Хотя модель пространства состояний использует уравнения и матрицы для отслеживания этого поведения, на самом деле это просто способ отследить, где вы находитесь, куда вы можете пойти и как туда попасть.

Переменные описывают состояние, в нашем случае это координаты X и Y, а также расстояние до выхода, которое можно выразить как "вектор состояния".

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Звучит знакомо? Это потому, что вкрапления или векторы также часто используются в языковых моделях для описания "состояния" входной последовательности. Например, вектор, описывающий ваше текущее положение (вектор состояния), может выглядеть следующим образом:

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) В нейронных сетях под "состоянием" обычно подразумевается скрытое состояние системы, что является одним из наиболее важных аспектов генерации новых лексем в большой языковой модели.

Что такое модель пространства состояний?

SSM (State Space Models) - это класс моделей, используемых для описания этих представлений состояний и предсказания их следующего состояния, причем предсказания основываются на определенных входных данных.

Традиционно, во время tSSM:

  • Входная последовательность будет такой x(t)(например, движение влево и вниз в лабиринте) отображается на потенциальное представление состояния h(t)(например, расстояние до выхода и координаты x/y)
  • и получить предсказанную выходную последовательность y(t)(Например, снова двигайтесь влево, чтобы быстрее добраться до выхода)

Однако вместо того, чтобы использовать дискретные последовательности (например, сдвиг влево один раз), SSM принимает на вход непрерывные последовательности и предсказывает выходную последовательность.

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) SSM предполагает, что динамические системы (например, объекты, движущиеся в трехмерном пространстве) могут быть темпорально t состояния и два уравнения для его предсказания.

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Решив эти уравнения, мы предполагаем, что сможем выявить статистические принципы предсказания состояния системы на основе наблюдаемых данных (входных последовательностей и предыдущих состояний).

Цель - найти это представление состояния h(t)который позволяет нам переходить от входных последовательностей к выходным.

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Эти два уравнения лежат в основе модели пространства состояний.

На эти два уравнения мы будем ссылаться на протяжении всего руководства. Чтобы сделать их более интуитивно понятными, в текстеМы используем цветовую маркировкуЧтобы вы могли быстро их процитировать.

уравнение состояния описывает, как состояние будет изменяться в зависимости от входов (через Матрица B) состояние воздействия (через Матрица A) и меняться.

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Как уже говорилось ранее.h(t) относится к любому моменту времени t Представление потенциального состоянияx(t) относится к определенному входу.

выходное уравнение описывает, как состояние передается через Матрица C преобразуется в выход, и как входы преобразуются в выходы с помощью Матрица D Влияет на выход.

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解)

принимать к сведению: Матрица A, иB, иC ответить пением D Также часто упоминается как параметрыПотому что им можно научиться.

Визуализируя эти два уравнения, мы получаем следующую архитектуру:

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Давайте пошагово рассмотрим, как эти матрицы влияют на процесс обучения.

Предположим, у нас есть несколько входных сигналов x(t)Сначала сигнал подключается к Матрица B Умножить.Матрица B Описывает, как входные данные влияют на систему.

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Обновленное состояние (аналогично скрытому состоянию нейронной сети) - это потенциальное пространство, которое содержит основные "знания" об окружающей среде. Мы связываем состояние с Матрица A Перемноженная вместе, эта матрица описывает связи между всеми внутренними состояниями и представляет собой базовую динамику системы.

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Как вы могли заметить.Матрица A Применяется перед созданием представления состояния и после обновления представления состояния.

Затем мы используем Матрица C для описания того, как состояния преобразуются в выходы.

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Наконец, мы можем использовать Матрица D Обеспечивает прямой сигнал от входа к выходу. Это также принято называть прыжковое соединение.

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) из-за Матрица D Подобно прыжковым соединениям, SSM часто рассматриваются как следующие формы, не содержащие прыжковых соединений.

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Возвращаясь к упрощенной перспективе, мы можем теперь сосредоточиться на матрице A, иB ответить пением C в качестве основы SSM.

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Мы можем обновить исходные уравнения (и добавить несколько красивых цветов), чтобы отметить, для чего используется каждая матрица, как мы это делали раньше.

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Вместе эти два набора уравнений предназначены для предсказания состояния системы по наблюдаемым данным. Поскольку входные данные непрерывны, основное представление SSM выглядит следующим образом непрерывная шкала времени.

От непрерывных сигналов к дискретным

Если у вас есть непрерывный сигнал, найдите представление состояния h(t) сложны для анализа. Кроме того, поскольку обычно мы имеем дискретные входные данные (например, текстовые последовательности), мы хотели бы дискретизировать модель.

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

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Мы сохраняем значение времени с помощью нового обучаемого параметра кардиостимулятор  Указывает. Указывает разрешение входного сигнала.

Теперь, когда мы сгенерировали непрерывный сигнал для входа, мы можем сгенерировать непрерывный выход и сэмплировать эти значения на основе временного шага входа.

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Эти выборочные значения являются результатом нашей дискретизации!

Математически мы можем применить удержание нулевого порядка следующим образом:

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Вместе они позволяют нам перейти от непрерывного SSM к дискретному SSM. В этот момент модель больше не является от функции к функции x(t) → y(t)Вместо этого последовательность в последовательность x → y_::

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Здесь матрица A ответить пением B Теперь обозначим дискретизированные параметры модели.

Мы используем k вместо tразличать, когда мы говорим о непрерывном SSM и дискретном SSM.

Внимание: Во время обучения мы по-прежнему сохраняем Матрица A в непрерывной форме, а не в дискретизированном варианте. В процессе обучения непрерывное представление дискретизируется.

Теперь, когда у нас есть формула для дискретизированного представления, давайте рассмотрим, как на самом деле считать Модель.

рекурсивное представление

Дискретизированный SSM позволяет нам строить задачу на конкретном временном шаге, а не в виде непрерывного сигнала. Как мы уже видели в RNNs, рекурсивные методы здесь очень полезны.

Если вместо непрерывных сигналов рассматривать дискретные временные шаги, то можно переформулировать задачу с помощью временных шагов:

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) На каждом временном шаге мы вычисляем текущий вход (Bx), как он влияет на предыдущее состояние (Ahₖ₋₁), а затем вычислить прогнозируемый выход (Ch).

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Это представление может быть вам уже знакомо! Мы можем проанализировать его так же, как и в предыдущем случае с RNN.

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Мы можем расширить (или разложить на ряд временных шагов) следующим образом:

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Обратите внимание, что мы можем использовать дискретизированную версию этого метода, используя базовый подход RNN.

Сверточное представление (математика)

Мы можем использовать свертку для представления SSM. Помните, что в классических задачах распознавания образов мы применяем фильтры (ядра) для извлечения агрегированных признаков:

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Поскольку мы имеем дело с текстом, а не с изображениями, нам нужно использовать одномерное представление:

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Ядро, которое мы используем для представления этого "фильтра", получено из формулы SSM:

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Давайте посмотрим, что это ядро делает на практике. Как и при свертке, мы можем использовать ядро SSM для обхода каждого набора лексем и вычисления выходного результата:

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Это также демонстрирует эффект, который могут оказывать вставки на результат. Я изменил порядок набивки, чтобы улучшить визуализацию, но обычно мы набиваем набивку в конце предложения.

На следующем шаге ядро перемещается один раз, чтобы выполнить следующий шаг вычисления:

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) На последнем этапе мы можем увидеть полный эффект от ядра:

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Одно из главных преимуществ представления SSM в виде сверток заключается в том, что их можно обучать параллельно, как сверточные нейронные сети (CNN). Однако из-за фиксированного размера ядра их вывод не такой быстрый и неограниченный, как у РНС.

Три типа представительства

Эти три представления -прогрессия, ирекурсивный (расчет) ответить пением свертка У каждого из них есть свои преимущества и недостатки:

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Интересно, что теперь мы можем использовать рекурсивные SSM для эффективного вывода, а конволюционные SSM - для параллельного обучения.

Используя эти представления, мы можем применить хитрый трюк выбора представления в зависимости от задачи. Во время обучения мы используем сверточное представление, которое можно распараллелить, а во время вывода - эффективное рекурсивное представление:

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Эта модель известна как Слой линейного пространства состояний (LSSL)2

У этих представлений есть одно важное свойство, а именнолинейный инвариант времени (математика)(LTI обозначает параметры SSM. A, иB ответить пением C фиксирована на всех временных шагах. Это означает, что матрица A, иB ответить пением C одинакова для каждого сгенерированного токена.

Другими словами, в какой бы последовательности вы ни давали SSM.A, иB ответить пением C Значения всех из них остаются неизменными. У нас есть статическое представление, которому безразлично содержимое.

Прежде чем выяснить, как Mamba решает эту проблему, давайте рассмотрим последний кусочек головоломки -Матрица A.

матрицы A важность

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

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) По сути.Матрица A Создайте скрытое состояние:

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Поэтому создание Матрица A может определять, сможем ли мы запомнить только несколько предыдущих лексем или запомним все, что видели до сих пор. Особенно в контексте рекурсивного представления, которое только вспоминает, что Предыдущее государство.

Как создавать так, чтобы сохранить много памяти (размер контекста) матрица A?

Мы используем "Голодный бегемот!" или HiPPO3 реализовыватьваш (почетный)лестница как (в какой степени)термин (математика) отдавать себя в рукифильм удачаОператор.HiPPO пытается сжать все входные сигналы, которые он видел до сих пор, в вектор коэффициентов.

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Он использует матрица A для построения представления состояния, которое лучше отражает недавние лексемы и уменьшает старые лексемы. Формула может быть выражена следующим образом:

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Предположим, у нас есть квадрат матрица AЭто дает нам:

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Строительство с помощью HiPPO матрица A оказалось гораздо лучше, чем инициализация случайной матрицей. Таким образом, она лучше восстанавливает обновление Аспект сигнализации (ближайший маркер) более важен, чем старше Сигнал (начальный токен) более точен.

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

Математически это достигается путем отслеживания Полином Лежандра Коэффициенты для достижения этой цели, что позволяет аппроксимировать все исторические записи.4

Затем HiPPO применяется к рекурсивным и конволюционным представлениям, которые мы уже рассматривали ранее, для обработки дальних зависимостей. Результат. Структурированное пространство состояний для последовательностей (S4)SSM - это класс SSM, которые могут эффективно обрабатывать длинные последовательности.5

Он состоит из трех частей:

  • пространственная модель
  • HiPPO для обработки зависимость на расстоянии
  • Дискретизация используется для создания рекурсивный (расчет) ответить пением свертка указать

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Этот тип SSM имеет ряд преимуществ, в зависимости от выбранного представления (рекурсивное или конволюционное). Он также может обрабатывать длинные текстовые последовательности и эффективно хранить память, поскольку основан на матрицах HiPPO.

принимать к сведению: Если вы хотите глубже понять, как вычислить матрицу HiPPO и построить свою собственную модель S4, я настоятельно рекомендую прочитать Аннотированный S4.

 

Часть 3:Mamba - селективная модель пространства состояний

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

В этом разделе мы обсудим два основных вклада Mamba:

  1. один вид Алгоритм селективного сканированиячто позволяет модели отсеивать (не)релевантную информацию
  2. один вид Алгоритмы, учитывающие особенности оборудованияС помощью параллельное сканирование, ислияние ядер ответить пением пересчитать для эффективного хранения (промежуточных) результатов.

Вместе они создают Селективное моделирование пространства состояний возможно S6 модель, которую можно использовать, как самовнимание, для создания Блок "Мамба.

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

Какую проблему пытаются решить?

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

Мы можем проиллюстрировать это на примере двух синтетических задач, а именно выборочное копирование ответить пением головка индуктора.

существовать выборочное копирование Цель SSM в задаче - скопировать входные части и вывести их по порядку:

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Однако, поскольку SSM Инвариант линейного времени(используется в форме номинального выражения)что он плохо справляется с этой задачей. Как мы уже видели, матрица A, иB ответить пением C Каждый сгенерированный токен является одинаковым для SSM.

В результате SSM не может выполнить Рассуждения с учетом содержанияЭто проблема, потому что мы хотим, чтобы SSM рассуждал о входах (подсказки). потому что он одинаково относится к каждому маркеру из-за фиксированной матрицы A, B и C. Это проблема, потому что мы хотим, чтобы SSM рассуждал о входах (подсказки).

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

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) В приведенном выше примере мы, по сути, выполняем одноразовую подсказку, в которой пытаемся "научить" модель использовать одну и ту же подсказку в каждом "Q." после предоставления "A.". Однако, поскольку SSM не зависит от времени, он не может выбирать, какие предыдущие лексемы вызывать из истории.

Давайте сделаем это, сосредоточившись на Матрица B чтобы проиллюстрировать этот момент. Независимо от входных данных x Что это.Матрица B всегда одинакова, так что с x Неважно:

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Аналогично.A ответить пением C также остается неизменным в любой момент времени, независимо от входного сигнала. Это говорит о том, что то, что мы видели до сих пор о SSM статический (как электростатическая сила) Характеристики.

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) В отличие от этого, эти задачи относительно просты для трансформатора, поскольку они основаны на входной последовательности динамичный (наука) Изменение внимания. Они могут выборочно "смотреть" или "фокусироваться" на разных частях последовательности.

Низкая производительность SSM на этих задачах иллюстрирует потенциальные проблемы инвариантного по времени SSM, матрица A, иB ответить пением C Статическая природа Чувство содержания проблемы.

Избирательное запоминание информации

Рекурсивное представление SSM создает меньшее состояние, которое очень эффективно, поскольку сжимает всю историю. Однако по сравнению с моделью трансформера модель трансформера не сжимает историю (через матрицу внимания), поэтому она более способна.

Mamba стремится к лучшему из двух миров. Маленькое государство, которое так же мощно, как государство-трансформер:

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Как уже говорилось выше, это происходит за счет выборочного сжатия данных в состояния. Когда вы получаете входное предложение, в нем обычно есть некоторая информация, например стоп-слова, которые не имеют особого смысла.

Для избирательного сжатия информации необходимо, чтобы параметры зависели от входных данных. Для этого сначала изучим размеры входов и выходов SSM в процессе обучения:

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) В структурированной модели пространства состояний (S4) матрица A, иB ответить пением C не зависят от входных данных, поскольку их размеры N ответить пением D является статичным и не меняется.

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Вместо этого Mamba, комбинируя длину входной последовательности и размер партии, составляет матрицу B ответить пением Cдаже кардиостимулятор _, зависит от исходных данных:

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Это означает, что для каждой входной лексемы у нас теперь есть разные B ответить пением C матрица, которая решает проблему восприятия контента!

принимать к сведению: Матрица A остается неизменным, потому что мы хотим, чтобы само состояние оставалось статичным, но то, как на него влияют (через B ответить пением C) является динамичным.

вместе выборочно Выберите, что оставить в скрытом состоянии, а что игнорировать, поскольку теперь они зависят от ввода.

меньше кардиостимулятор  приводит к игнорированию конкретных слов в пользу предыдущего контекста, в то время как больший кардиостимулятор  Вместо этого основное внимание уделяется словарному запасу, а не контексту:

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) операция сканирования

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

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

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Каждое состояние - это предыдущее состояние (умноженное на A) с текущим входом (умноженным на B) из и. Это известно как операция сканированияЭто можно легко вычислить с помощью цикла for.

В отличие от этого, распараллеливание кажется невозможным, поскольку каждое состояние может быть вычислено только после того, как будет доступно предыдущее состояние. Однако в Mamba появилась возможность распараллелить состояние каждого состояния путем параллельное сканирование Алгоритмы делают это возможным.

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

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) динамическая матрица B ответить пением C и алгоритмы параллельного сканирования объединяются, чтобы создать Алгоритм селективного сканированиячтобы представить динамическую и быструю природу использования рекурсивных представлений.

Алгоритмы, учитывающие особенности оборудования

Одним из недостатков современных графических процессоров является ограниченная скорость передачи данных (IO) между небольшой, но эффективной SRAM и большой, но чуть менее эффективной DRAM. Частое копирование информации между SRAM и DRAM может стать узким местом.

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Mamba похожа на Flash Attention тем, что пытается ограничить количество переходов из DRAM в SRAM и обратно. Для этого она слияние ядер Реализация этого позволяет модели не записывать промежуточные результаты и продолжать выполнять вычисления до их завершения.

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Мы можем увидеть конкретные примеры распределения DRAM и SRAM, визуализировав базовую архитектуру Mamba:

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Здесь в одном ядре объединены следующие элементы:

  • Шаг дискретизации такой же, как и размер шага 
  • Алгоритм селективного сканирования
  • вместе с C умножение

Последняя часть алгоритма, учитывающего особенности оборудования, - это пересчет.

Промежуточные состояния не сохраняются, но они необходимы для вычисления градиента в обратном проходе. Вместо этого авторы пересчитывают эти промежуточные состояния во время обратного прохода.

Хотя это может показаться неэффективным, это гораздо дешевле, чем считывать все эти промежуточные состояния из относительно медленной DRAM.

Теперь мы рассмотрели все компоненты его архитектуры, которые изображены ниже в статье:

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Селективный SSM. Извлечено из: Gu, Albert and Tri Dao. "Mamba: линейное моделирование временных рядов с выборочными пространствами состояний". Препринт arXiv:2312.00752 (2023).

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

Модуль Mamba

Что мы изучили на данный момент Селективный SSM может быть реализована в виде модуля, точно так же, как мы можем представить самовнимание в виде модуля-декодера.

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Подобно декодеру, мы можем складывать несколько модулей Mamba и использовать их выход в качестве входа для следующего модуля Mamba:

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Он начинается с линейного проецирования для расширения входного вложения. Затем Селективный SSM Для предотвращения независимого вычисления маркеров перед этим применяется свертка.

Селективный SSM обладает следующими характеристиками:

  • пройти (законопроект, проверку и т.д.) дискретный создан Рекурсивный SSM
  • матрица A идти вперёд HiPPO Инициализация для захвата долгосрочная зависимость
  • Алгоритм селективного сканирования для выборочного сжатия информации
  • Алгоритмы, учитывающие особенности оборудования для ускорения вычислений

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

 

回顾Transformer,并深入讲解替代方案Mamba原理(图解) Обратите внимание на некоторые изменения, такие как добавление слоя нормализации и softmax для выбора выходных лексем.

Когда мы соединяем все это вместе, то получаем быстрый вывод и обучение даже при бесконечном контексте. Используя эту архитектуру, авторы обнаружили, что ее производительность соответствует, а иногда и превосходит производительность модели Transformer того же размера!

вынести вердикт

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

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

回顾Transformer,并深入讲解替代方案Mamba原理(图解)

© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...