Лонгформер в деталях

алгоритм

Это 6-й день моего участия в ноябрьском испытании обновлений.Подробности о событии:Вызов последнего обновления 2021 г.

Introduction

Longformer— это модель, которая может эффективно обрабатывать длинный текст, разработанная AllenAI 10 апреля 2020 г. В настоящее время он имеет открытый исходный код и может быть доступен черезhuggingfaceбыстрый в использовании

Традиционные модели на основе Transformer имеют некоторые проблемы при работе с длинными текстами, потому что все они используют механизм внимания типа «Я должен видеть все это», то есть каждый токен должен взаимодействовать со всеми другими токенами, как с точки зрения пространства и временная сложность.O(n2)O(n^2). Чтобы решить эту проблему, некоторые предыдущие работы заключались в том, чтобы разделить длинный текст на несколько более коротких текстовых сегментов, а затем обработать их один за другим, например Transformer-XL. Но это приведет к невозможности взаимодействия между различными текстовыми сегментами, поэтому должно быть много потерь информации. Конечно, мы также можем усилить взаимодействие между текстовыми сегментами, добавив какие-то другие механизмы, но этот новый механизм либо очень сложен в реализации, либо специфичен для конкретной задачи, а не универсален.

Предложенный в этой статье Лонгформер улучшает традиционный механизм самоконтроля Трансформера. Конкретно,Каждый токен выполняет локальное внимание только для токенов, близких к фиксированному размеру окна (локальное внимание).. И Longformer добавляет новый метод, основанный на исходном локальном внимании к конкретным задачам.глобальное внимание

Longformer достигает самых современных результатов в обеих задачах моделирования языка на уровне символов. И автор продолжает предварительно обучать RoBERTa с помощью метода внимания Longformer.После того, как обученная языковая модель настроена на несколько задач с длинными документами, ее производительность превосходит RoBERTa во всех отношениях.

Related Work

Автор предлагает три новых механизма внимания, каждый из которых очень хорошо упрощает традиционное само-внимание.Механизм скользящего окна, механизм пустого скользящего окна, механизм скользящего окна, объединяющий глобальную информацию, что соответствует следующему рисункуb,c,db,c,d

Раздвижное окно внимание

Для каждого токена только ближайшийwwТокен вычисляет внимание, а сложностьO(n×w)O(n\times w)nnэто длина текста. Автор считает, что в зависимости от прикладной задачи к каждому слою Трансформера можно применять разные размеры окон.ww

Прочитав это, каждый может, как и я, ошибочно подумать, что это окноwwЗначение относительно невелико, оценивается в пределах 8-64. Но когда вы увидите экспериментальную часть, вы обнаружите, что автор устанавливает размер окна при ее реализации.w=512w=512, что точно такое же, как предел ввода BERT, поэтому не питайте иллюзий, что «Longformer легче, чем BERT».

Расширенное скользящее окно

При кодировании каждого токена обычный механизм скользящего окна может учитывать только длинуwwконтекст. Кроме того, автор предлагает механизм скользящего окна с полостью (на самом деле, скользящее окно с полостью — это технология, которая существует в области CV в течение длительного времени) для расширения поля зрения без увеличения вычислительной нагрузки. В скользящем окне будет размерdd, так что поле зрения каждого токена может достигатьd×wd\times w. Эксперименты показывают, что механизм скользящего окна с отверстием работает лучше, чем обычный механизм скользящего окна, благодаря учету более полной контекстной информации.

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

I lost some money at the casino yesterday

Традиционное раздвижное окно, размер окнаw=5w=5,Такlostслово может быть присоединено кcasino

Пустое скользящее окно, размер окнаw=5,d=5w=5,d=5,ТакlostСлово не способ присутствоватьcasino

стоит ли присутствоватьcasinoЭто слово играет важную роль в понимании смысла предложения.

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

Механизм скользящего окна, объединяющий глобальную информацию (Global+sliding window)

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

Results

Автор проводит эксперименты на Longformer на двух задачах уровня персонажа, text8 и enwiki8. В эксперименте каждый слой использует разные размеры окна, в частности, нижний слой использует меньшее скользящее окно для построения локальной информации, а верхний слой использует большее скользящее окно для расширения рецептивного поля. При обучении идеальной ситуацией является использование максимальной мощности графического процессора.wwи длины последовательности, но для ускорения обучения автор использует многоэтапный метод обучения: начиная с более короткой длины последовательности и размера окна, каждый последующий этап удваивает размер окна и длину обучения, а также вдвое снижает скорость обучения. Всего автор обучил 5 этапов, длина последовательности первого этапа составляет 2048, а последнего этапа — 23040.

Экспериментальные результаты следующие: Longformer достиг SOTA для обоих наборов данных (Примечание: тестовый индикатор — BPC, бит на символ, чем меньше BPC, тем лучше производительность)

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

  • Первый набор экспериментов (первые три строки) обсуждает: если для разных слоев используются разные размеры окон, можно ли повысить производительность? Результаты показывают, что увеличение размера окна снизу вверх может повысить производительность;
  • Второй набор экспериментов (последние две строки) обсуждает: можно ли улучшить производительность, приняв механизм скользящего окна полости? результат уверен

MLM Pretraining

Основываясь на RoBERTa, автор использует метод Longformer для предварительной подготовки на следующих четырех корпусах уровня документа и настраивает каждый слой на использование скользящего окна с фиксированным размером 512 без временного добавления глобального внимания. Чтобы поддерживать длинный текст, автор в статье расширил встраивание позиции до размера 4096.

После предварительной подготовки авторы дополнительно настраивают предварительно обученную модель для выполнения нескольких задач на уровне документа. Во время тонкой настройки глобальное внимание будет добавлено в соответствии с задачей, и одновременно будут установлены два набора матриц сопоставления, один для локального само-внимания, а другой для глобального внимания. Экспериментальные результаты Longformer превосходит RoBERTa во всех отношениях

Ablation Study

Чтобы доказать, что более высокая производительность Longformer не связана с дополнительным обучением RoBERTa, автор провел серию экспериментов по абляции. в таблице нижеLongformer (seqlen:512, attention: n^2)Он использует ту же длину последовательности и механизм внимания, что и RoBERTa, но эффект не улучшается после продолжения предварительной тренировки.

Reference