Крупные языковые модели, StructBERT – включение языковых структур в предварительное обучение

Крупные языковые модели StructBERT - интеграция языковых структур в предварительное обучение

Сделайте модели более интеллектуальными, внедряя лучшие учебные цели

Введение

После своего первого появления BERT показал феноменальные результаты в различных задачах NLP, включая анализ тональности, сравнение текста, вопросно-ответную систему и т.д. С тех пор исследователи усердно пытались сделать BERT еще более производительным, модифицируя его архитектуру, увеличивая объем обучающих данных, увеличивая размер словаря или изменяя размер скрытых слоев.

Большие языковые модели: BERT – Бидирекциональное представление энкодера из трансформера

Понимание того, как BERT создает передовые вложения

towardsdatascience.com

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

Идея StructBERT относительно проста и сосредоточена на незначительной модификации цели предварительного обучения BERT.

В этой статье мы рассмотрим основные детали статьи о StructBERT и поймем исходно измененные цели.

Предварительное обучение

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

1. Цель словосочетания

Эксперименты показали, что задача маскировочной модели языка (MSM) играет важную роль в настройках BERT, помогая ему получить обширные лингвистические знания. После предварительного обучения BERT может правильно угадывать замаскированные слова с высокой точностью. Однако он не способен правильно восстановить предложение, в котором слова переставлены в случайном порядке. Чтобы достичь этой цели, разработчики StructBERT частично перемешали входные токены, модифицировав задачу MSM.

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

Во время маскировки 15% случайно выбранных токенов маскируются и затем используются для моделирования языка, как в BERT. Но сразу после маскировки StructBERT случайным образом выбирает 5% последовательных немаскированных токенов и перемешивает их внутри каждой подпоследовательности. По умолчанию StructBERT работает с триграммами (K = 3).

Пример перестановки триграмм

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

В конечном итоге, цель словосочетания объединяется с целью MLM с равными весами.

2. Цель структурного предложения

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

Взяв пару последовательных предложений S₁ и S₂ в документе, StructBERT использует их для создания обучающего примера одним из трех возможных способов. Каждый из этих способов случается с равной вероятностью 1 / 3:

  • S₂ следует за S₁ (метка 1);
  • S₁ следует за S₂ (метка 2);
  • Выбирается еще одно предложение S₃ из случайного документа, за которым следует S₁ (метка 0).

Каждая из этих трех процедур приводит к упорядоченной паре предложений, которые затем конкатенируются. Токен [CLS] добавляется перед началом первого предложения, и токены [SEP] используются для обозначения конца каждого предложения. BERT принимает эту последовательность в качестве входных данных и выдает набор вложений на последнем скрытом слое.

Выходная вставка [CLS], которая изначально использовалась в BERT для задачи предсказания следующего предложения, теперь используется в StructBERT для правильной идентификации одной из трех возможных меток, соответствующих оригинальному способу построения входной последовательности.

Состав обучающих выборок

Конечная цель

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

BERT предварительное обучение, включающее структурные цели слов и предложений

Настройки StructBERT

Все основные детали предварительного обучения одинаковы в BERT и StructBERT:

  • StructBERT использует ту же корпуса предварительного обучения, что и BERT: английская Википедия (2500M слов) и BookCorpus (800M слов). Токенизация выполняется с помощью токенизатора WordPiece.
  • Оптимизатор: Adam (скорость обучения l = 1e-4, весовая декаимирование L₂ = 0.01, β₁ = 0.9, β₂ = 0.999).
  • Начальный период обучения выполняется на первых 10% от общего числа шагов и затем линейно уменьшается.
  • На всех слоях используется слой исключений (α = 0.1).
  • Функция активации: GELU.
  • Процедура предварительного обучения выполняется в течение 40 эпох.

Версии StructBERT

Как и оригинальный BERT, StructBERT имеет базовые и большие версии. Все основные настройки, такие как количество слоев, количество внимательных голов, скрытый размер и число параметров соответствуют базовым и большим версиям BERT соответственно.

Сравнение StructBERT базовой и StructBERT большой версий

Заключение

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

Ресурсы

Все изображения, если не указано иное, принадлежат автору