Рекуррентные нейронные сети (RNN), такие как долговременная кратковременная память (LSTM) или Gated Recurrent Units (GRU), в последние годы доминировали в области моделирования последовательностей. В наиболее эффективных моделях используется архитектура кодер-декодер в основном в сочетании с механизмами внимания. В 2017 году Васвани и др. представили The Transformer, модель последовательности, которая опирается исключительно на механизмы внимания без каких-либо операций повторения и свертки. Обладая высокой степенью параллелизации, архитектура Transformer требует значительно меньше времени для обучения (Vaswani et al., 2017). Тем не менее, механизм внутреннего внимания, который используется в архитектуре Transformer, имеет некоторые ограничения, когда речь идет о длинных последовательностях. Вычислительная сложность увеличивается квадратично с длиной последовательности n. Из-за этой квадратичной зависимости от длины последовательности обучение моделей Transformer часто невозможно для очень длинных последовательностей. Поскольку существует множество потенциальных вариантов использования приложений с длинными последовательностями, таких как обобщение документов или анализ последовательности ДНК, в последнее время проводится много исследований о том, как заставить Transformers работать с более длинными последовательностями. В этой статье следует обобщить уже предложенные подходы и сравнить их преимущества и недостатки.

Если вы уже знакомы с архитектурой Transformer и механизмом внимания, вы можете пропустить первые разделы и сразу перейти к этому разделу.

В общем, если вы хотите глубже погрузиться в эту тему или поискать какие-то разъяснения, статья Внимание — это все, что вам нужно Васвани и др. является идеальной отправной точкой для этого.

Архитектура Трансформера

Преобразователь — это модель последовательности, предложенная Vaswani et al. Как и многие другие конкурирующие модели последовательностей, архитектура Transformer состоит из части кодера и декодера, где каждый кодер и декодер состоят из N слоев. Каждый уровень кодера состоит из двух подуровней. Первый слой представляет собой многоголовой механизм самовнимания, который будет подробно рассмотрен в следующей главе. Второй уровень представляет собой обычную точечную полносвязную сеть прямого распространения. Вокруг каждого из двух подуровней используется остаточное соединение с последующей нормализацией уровня. Что отличается от декодера, так это то, что у декодера есть дополнительный третий подуровень, который представляет механизм внимания с несколькими головками по выходным данным кодера. Поскольку Transformer не полагается на операции повторения или свертки, информацию о порядке последовательности необходимо вводить с помощью позиционного кодирования. Позиционные коды имеют тот же размер, что и входные данные, поэтому их можно эффективно суммировать с входными вложениями, предоставляя модели информацию о местоположении. Окончательный результат, полученный путем передачи ввода через стеки кодировщика и декодера, представляет собой вложение с фиксированным размером d (размерность модели), которое представляет собой сопоставление с начальным вводом (Vaswaniet al., 2017).

Внимание

Центральным элементом Трансформера является его алгоритм внимания. В общем, внимание можно рассматривать как сопоставление запроса и набора пар ключ-значение с выходом, где выход представляет собой взвешенную сумму значений. Формула механизма внимания (здесь, в частности, «Масштабированное скалярное произведение внимания») проиллюстрирована ниже:

Здесь Q — матрица запроса, K — матрица ключей, а V — матрица значений. Отдельные векторы запросов для соответствующих запросов упакованы в Q, тогда как ключи и значения упакованы в K и V. Переменная dk представляет размерность ключей. Отличие «Масштабируемого скалярного произведения внимания» от обычного «Скалярного произведения внимания» заключается в том, что к термину добавляется коэффициент масштабирования sqrt(1/dk), чтобы избежать низких градиентов для функции softmax, особенно для высоких значений. значения дк. Что еще особенного в Transformer, так это то, что он не только полагается на вычисление функций одного внимания, но и использует «многоголовое внимание». Обычно используются ключи, значения и запросы размерности dmodel, но для Multi-Head Attention ключи, значения и запросы проецируются линейно в течение h раз с изученной линейной проекцией на dk dv и dq. Затем головы снова объединяются и проецируются с помощью линейного преобразования, в результате чего получаются окончательные значения, как показано на рисунке 2.

Преимущество Multi Head Attention заключается в том, что он позволяет модели совместно фокусироваться на информации из разных подпространств представления и с разных позиций. При этом вычислительные усилия для многоголового внимания равны одноголовому вниманию с полной размерностью, поскольку размерность на голову задается как dk = dmodel/h, где h — количество головок.

Самовнимание и его сложность

Самовнимание связывает все n позиций входа с постоянным числом последовательно выполняемых операций. Для входных данных X формы (n,d) результирующая сложность может быть обозначена как O(n^2*d), где n — количество слов, длина последовательности, а d — размерность представления. Таким образом, вычислительная сложность слоя с самостоятельным вниманием квадратично зависит от длины последовательности n и линейно зависит от размерности представления d.

Проблема с длинными последовательностями

Большинство моделей Transformer имеют фиксированную длину последовательности, как, например, популярная модель BERT (Devlin et al., 2018), которая ограничена 512 токенами. Это совершенно нормально для широкого круга задач, но может иметь некоторые серьезные ограничения, когда речь идет о таких задачах, как обобщение документов, ответы на вопросы или обработка ДНК. Для таких задач способность обрабатывать более длинный контекст имеет решающее значение, поскольку контекста длины последовательности, например, 512, может быть недостаточно для получения соответствующей информации (Zaheer et al., 2020). Причина, по которой большинство моделей Transformer ограничены в длине последовательности, заключается в том, что сложность вычислений и памяти для самовнимания квадратично зависит от длины последовательности, как указано. Это может сделать обучение моделей длинных последовательностей практически невозможным из-за огромных вычислительных затрат. Чтобы решить эту проблему для работы с задачами в ранее обсуждавшихся областях, в последнее время проводилось много исследований о том, как уменьшить эту квадратичную зависимость от длины последовательности, например, аппроксимируя ее до линейной зависимости, т. е. спроектировав « эффективный »трансформер. В следующей главе обобщаются и сравниваются некоторые подходы к этой проблеме.

Решение: шаблоны внимания

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

  • Разреженное внимание
    Разреженное внимание относится к механизму внимания, при котором внимание каждого маркера ограничено подмножеством других маркеров. В Sparse Transformer (Child et al., 2019) использовались предопределенные шаблоны внимания для текстовых и графических данных. Чайлд и др. показали, что для создания изображений высокого качества достаточно внимания только к предыдущим пикселям в той же строке или столбце, в то время как внимание ограничено O (n √ n). В общем, разреженное внимание также использовалось для повышения интерпретируемости головок внимания, позволяя вниманию присваивать точно нулевой вес определенным входным токенам. Существуют также экстремальные примеры разреженного внимания, такие как Reformer (Китай и др., 2020), где модель находит ближайшего соседа запроса внимания и использует только его для внимания.
  • Иерархическое внимание
    Для иерархического внимания входные данные разбиваются на блоки для создания сводных вложений, представляющих весь блок. Затем к этим блокам по-разному и на разных иерархических уровнях блока (например, на уровне абзаца или предложения) подключаются отдельные слои. Это позволяет извлекать контекстную информацию с разных уровней. Этот тип механизмов не является совершенно новым для архитектур Transformer, поскольку аналогичные методы уже использовались для моделей рекуррентных нейронных сетей (Ainslie et al., 2020).
  • Глобально-локальное внимание
    Для глобально-локального внимания механизм получает два входа: глобальный вход и длинный вход xl. Как правило, длинный ввод содержит ввод, который получил бы стандартный Transformer, в то время как глобальный ввод содержит гораздо меньшее количество вспомогательных токенов. Затем внимание разделяется на четыре отдельные части: глобальная-глобальная (g2g), глобальная-длинная (g2l), длинная-глобальная (l2g) и длинная-длинная (l2l).
    Рисунок 3 иллюстрирует диаграмму разреженности, где запросы внимания (строки) обращают внимание на ключи внимания (столбцы).
    a, для стандартного внимания Transformer с входным размером n
    b) для глобально-локального внимания с входными размерами ng, nl и радиусом r
    c) как элемент внимания l2l преобразуется в гораздо меньшая матрица внимания, ограниченная локальным радиусом.

  • Скользящее окно внимания
    Скользящее окно внимания использует окно фиксированного размера, окружающее каждый токен. Здесь размер окна можно использовать как гиперпараметр для тонкой настройки. Используя несколько слоев сложенного скользящего окна, восприимчивое поле может быть значительно увеличено, как в архитектуре CNN. Кроме того, внимание с расширенным скользящим окном оказалось успешным в контексте длинных трансформеров, поскольку оно еще больше увеличивает рецептивное поле без увеличения вычислений (Beltagy et al., 2020).

Существующие решения

Далее мы подробно рассмотрим три конкретные модели, а именно BigBird, Longformer и Nyströmformer. Были выбраны BigBird и Longformer, потому что они были наиболее эффективными моделями в комплексном тесте моделей с длинными последовательностями в 2020 году, проведенном Tay et al.

  • BigBird (Google)
    Архитектура BigBird использует механизм разреженного внимания, который сводит квадратичную зависимость к линейной. Большим преимуществом BigBird является то, что его можно интегрировать в стандартную архитектуру Transformer, в отличие от многих ранее предложенных решений. Механизм разреженного внимания был вдохновлен методами разреживания графов. Он представляет собой аппроксиматор универсальной функции, полный по Тьюрингу, тем самым сохраняя эти свойства квадратичной модели полного внимания. Строительные блоки предложенного механизма внимания представляют собой комбинацию ранее предложенных методов, а именно глобального внимания, локального внимания и случайного внимания. Разница между этими механизмами показана на рисунке 4 ниже.
    Здесь соответствующие механизмы внимания представлены в виде ориентированных графов (граф Уоттса-Строгаца), где токены представляют собой узлы, а оценки сходства, вычисленные между токенами, представляют ребра. Важно отметить, что количество ребер равно количеству внутренних продуктов, которые будет учитывать механизм внимания, что иллюстрирует вычислительную стоимость механизма.
    Предлагаемая архитектура может обрабатывать последовательности, длина которых в 8 раз больше, чем длина того, что было ранее возможно с аналогичным оборудованием. Применительно к стандартным задачам NLP BigBird достигает самых современных результатов по обобщению документов, ответам на вопросы и данным геномики (Zaheer et al., 2020).

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

  • Nyströmformer
    Отправной точкой Nyströmformer для снижения вычислительных затрат на собственное внимание является метод Nyström, который широко применяется для матричной аппроксимации. В частности, матрица самовнимания softmax аппроксимируется с помощью метода Нистрёма путем выборки подмножества строк и столбцов (Xiong et al., 2020). Конкретный механизм для этой аппроксимации показан ниже на рисунке 6. Учитывая входной ключ K и запрос Q, модель сначала использует среднее значение сегмента для вычисления ориентиров в виде матриц K˜ и Q˜. С опорными точками модель затем вычисляет приближение Нистрема, используя приближенную псевдообратную модель Мура-Пенроуза. Кроме того, для облегчения обучения в модель также добавляется пропускное соединение со значением V, реализованное с использованием одномерной свертки по глубине. Показано, что данный алгоритм, использующий аппроксимацию собственного внимания Нистрёма, удовлетворяет всем требованиям, предъявляемым к эффективному преобразователю. Что также интересно, данный механизм внимания Нистрёма даже немного лучше, чем ванильный механизм внимания (+0,18%), будучи значительно более эффективным (Xiong et al., 2020).

Ориентиры

Что касается производительности, эта таблица из теста Long-range arena (LRA) (Tay et al., 2020) дает хороший обзор нескольких успешных моделей трансформаторов с длинной последовательностью — многие из них уже обсуждались в этой статье — и их производительность. на пяти конкретных наборах данных длинных последовательностей. В этих экспериментах BigBird — это модель, которая смогла лучше всего обобщить заданные наборы данных с наивысшим средним баллом в тесте. Вторым по среднему баллу является Longformer, скорее всего, из-за его довольно похожего механизма внимания, как у BigBird.

Недавно также был предложен Nyströmformer. Он использует довольно новый подход, а именно приближение Нистрёма к само-вниманию. К сожалению, Nyströmformer был выпущен после проведения тестов на дальней арене. Тем не менее команда Nyströmformer также провела эксперименты в заданных условиях LRA с теми же наборами данных и показателями. Было показано, что Nyströmformer может превзойти другие эффективные модели Transformer, такие как Linformer, Reformer и Performer, но прямое сравнение с лучшими моделями выполнение моделей BigBird и Longformer не проводилось. При этом не существует современной модели Transformer для обработки длинных последовательностей, поскольку для некоторых конкретных задач один механизм внимания более полезен, чем другие. Однако можно констатировать, что большинство предлагаемых моделей следуют определенной схеме, когда речь идет о механизмах аппроксимации. Большинство моделей полагаются на рассеянное внимание. В частности, формы глобального внимания, используемые в BigBird и Longformer, оказались полезными для производительности модели, предоставляя модели целостный контекст последовательности. Кроме того, скользящее окно и случайное внимание показали хорошие результаты среди нескольких моделей. Тем не менее, какой паттерн внимания работает лучше всего, также часто зависит от поставленной задачи.

Заключение

Предоставление Transformers возможности работать с более длинной последовательностью — это проблема, по которой в последнее время было проведено множество исследований, поскольку существует множество потенциальных вариантов использования, требующих длинного контекста, таких как суммирование документов или обработка ДНК. В общем, узким местом для Трансформера является механизм внутреннего внимания и его квадратичная зависимость вычислительной сложности от длины последовательности. Целью преодоления этой проблемы является создание эффективного преобразователя, т. е. линейной сложности. Было предложено много решений, чтобы уменьшить сложность полного внимания к себе. Обсуждаемые модели, такие как BigBird и Longformer, уже удовлетворяют требованиям эффективного Transformer и показали впечатляющую производительность в тестах производительности. Кроме того, совсем недавно были предложены новые решения для решения этой проблемы, такие как Nyströmformer. Эти архитектуры открывают новые возможности использования, такие как обобщение гигантских документов или массовое моделирование ДНК с помощью Transformers. Все эти предложенные подходы являются первыми строительными блоками в новой области исследований, целью которой является предоставление Трансформерам возможности работать с очень длинными последовательностями, сохраняя при этом эффективность обучения.

В восторге от того, что будет!

Ссылки

[1] Захир, М., Гуруганеш, Г., Дубей, К. А., Эйнсли, Дж., Альберти, К., Онтанон, С., … и Ахмед, А. (2020, июль). Большая птица: Трансформеры для более длинных последовательностей. В Нейрипс.

[2] Сюн, Ю., Цзэн, З., Чакраборти, Р., Тан, М., Фунг, Г., Ли, Ю., и Сингх, В. (2021). Nyströmformer: основанный на Nyström алгоритм для аппроксимации собственного внимания. Препринт arXiv arXiv: 2102.03902.

[3] Васвани А., Шазир Н., Пармар Н., Ушкорейт Дж., Джонс Л., Гомес А. Н., … и Полосухин И. (2017). Внимание — это все, что вам нужно. В Достижениях в области нейронных систем обработки информации (стр. 5998–6008).

[4] Белтаги, И., Петерс, М.Е., и Коэн, А. (2020). Longformer: преобразователь длинных документов. Препринт arXiv arXiv: 2004.05150.

[5] Чайлд Р., Грей С., Рэдфорд А. и Суцкевер И. (2019). Генерация длинных последовательностей с разреженными преобразователями. Препринт arXiv arXiv:1904.10509.

[6] Сухбаатар С., Грейв Э., Бояновски П. и Джоулин А. (2019). Адаптивная продолжительность концентрации внимания у трансформеров. Препринт arXiv arXiv:1905.07799.

[7] Девлин, Дж., Чанг, М.В., Ли, К., и Тутанова, К. (2018). Берт: Предварительная подготовка глубоких двунаправленных преобразователей для понимания языка. Препринт arXiv arXiv: 1810.04805.

[8] Эйнсли, Дж., Онтанон, С., Альберти, К., Цвичек, В., Фишер, З., Фам, П., … и Ян, Л. (2020). ETC: Кодирование длинных и структурированных входных данных в преобразователях. Препринт arXiv arXiv: 2004.08483.

[9] Тай, Ю., Дегани, М., Абнар, С., Шен, Ю., Бахри, Д., Фам, П., … и Метцлер, Д. (2020). Арена дальнего радиуса действия: эталон эффективных трансформаторов. Препринт arXiv arXiv: 2011.04006.

[10] Китаев Н., Кайзер Л. и Левская А. (2020). Реформер: Эффективный трансформатор. Препринт arXiv arXiv: 2001.04451.

[11] Ye, Z., Guo, Q., Gan, Q., Qiu, X., & Zhang, Z. (2019). Bp-transformer: Моделирование дальнего контекста посредством бинарного разбиения. Препринт arXiv arXiv:1911.04070.

[12] Лю, П. Дж., Салех, М., Пот, Э., Гудрич, Б., Сепасси, Р., Кайзер, Л., и Шазир, Н. (2018). Создание википедии путем суммирования длинных последовательностей. Препринт arXiv arXiv:1801.10198.

[13] Рэй, Дж. В., Потапенко, А., Джаякумар, С. М., и Лилликрап, Т. П. (2019). Компрессионные преобразователи для моделирования дальней последовательности. Препринт arXiv arXiv: 1911.05507.