Языковое моделирование является ключевым компонентом современных систем НЛП. В простейшем смысле языковая модель — это распределение вероятностей по словам в языке, т. е. она фиксирует семантический контекст словарного запаса языка. Имея хорошую модель данного языка, мы можем добиться высокой производительности во многих нижестоящих задачах НЛП, таких как обработка речи, понимание прочитанного, машинный перевод и так далее. Предупреждение, однако, заключается в том, что языки сложны, и чтобы адекватно охватить тонкости языка, нам необходимо изучить правильный семантический контекст всего (или соответствующего подмножества) словаря, изучая множество многочисленных различных примеров, что приводит к к понятию больших языковых моделей (LLM).

Как используются модели больших языков (LLM)?

____

Большие языковые модели (LLM) обычно предварительно обучаются на большом наборе данных из общих источников (википедия, блоги, академические журналы и т. д.), а затем настраиваются для последующей задачи; модель получает абстрактное понимание языка на этапе предварительной подготовки, а затем обновляется, чтобы обеспечить более конкретное прогнозирование вывода для желаемой задачи НЛП. Преимущество этого двухэтапного подхода (рис. 1) заключается в том, что этап предварительного обучения требует значительно больших вычислительных ресурсов, чем точная настройка, но его нужно выполнить только один раз. Затем одну и ту же предварительно обученную модель можно настроить для различных приложений.

Еще одним важным преимуществом LLM является то, что данные, используемые для предварительной подготовки модели, не нужно маркировать (поскольку мы просто изучаем правила языка и не пытаемся выполнить какую-то конкретную задачу). Это позволяет нашей модели учиться на больших объемах данных и, таким образом, работать значительно лучше, чем модель, обученная только на ограниченном наборе помеченных примеров.

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

Архитектура BERT

____

BERT — расшифровывается как Bidirectional Encoder Representations from Transformers — это LLM, разработанный исследователями из Google [Devlin et al.]2. Модель BERT основана на концепции трансформаторов. Обычно преобразователь содержит два компонента (рис. 2): (1) кодировщик, обрабатывающий вводимый текст; и (2) декодер, предсказывающий результат [Васвани и др.]3. В случае предварительно обученных LLM необходима только часть кодировщика (поскольку мы не прогнозируем вывод для какой-либо конкретной задачи), поэтому BERT не содержит блока декодера.

Входными данными для модели BERT является последовательность словесных токенов. Сначала они встраиваются в векторы размера E (BERT использует вложения WordPiece с объемом словаря V, равным 30 000), а затем передаются через нейронную сеть. Сегмент кодировщика модели BERT показан на рисунке 3. Он в основном состоит из сегмента внимания с несколькими головками, который вычисляет собственное внимание по входным данным (количество головок с самостоятельным вниманием обозначено A) и позиционной подачи. -прямая сеть (после каждого подшага остатки добавляются обратно и выход нормализуется); промежуточный вывод кодера имеет размер H (скрытый размер). BERT по сути содержит L таких блоков кодировщика в своей архитектуре.

Предварительное обучение модели BERT включает в себя две задачи: (1) моделирование маскированного языка (MLM) и (2) прогнозирование следующего предложения (NSP). На первом этапе (MLM) 15% слов во входной последовательности заменяются токеном ‹MASK›, и модель пытается предсказать маскированные слова на основе (двунаправленного) контекста, обеспечиваемого немаскированными словами (см. пример на рисунке 4). Для этой задачи используется кросс-энтропийная потеря (учитываются только замаскированные слова).

Вторая задача (NSP) гарантирует, что модель изучает информацию на уровне предложений. Здесь вход состоит из последовательностей токенов из двух предложений A и B с токеном ‹SEP› в середине. Затем модель должна предсказать, следует ли предложение B естественным образом за предложением A (см. пример на рис. 5); Положительные примеры для этой задачи могут быть созданы путем передачи двух последовательных предложений из обучающего корпуса в модель, а отрицательные примеры включают выбор двух случайных предложений из разных частей текста и их сшивание вместе.

Проблема масштабируемости с BERT

____

Теперь, когда у нас есть общее представление об архитектуре BERT, давайте рассмотрим требования к вычислительным ресурсам для этапа предварительной подготовки.

BERT поставляется в двух вариантах, каждый со своим набором гиперпараметров:

(1) База BERT: количество блоков энкодера (L) = 12, размер встраивания (E) = скрытый размер (H) = 768, количество головок с самостоятельным вниманием (A) = 12. Общее количество параметров = 110M

(2) BERT большой: количество блоков энкодера (L) = 24, размер встраивания (E) = скрытый размер (H) = 1024, количество головок с самостоятельным вниманием (A) = 16. Общее количество параметров = 340M

Обе модели имеют размер словарного запаса (V) 30 000.

Исходя из вышеизложенного, количество параметров для модели увеличивается с

A) больше блоков энкодера L

B) более длинные вложения WordPiece E (и больший скрытый размер H)

C) больший объем словарного запаса V

(Примечание: количество головок с самостоятельным вниманием обычно устанавливается равным H/64, поэтому оно учитывается в скрытом размере.)

Чтобы добиться лучшего понимания языка для задач НЛП, логично, что нам нужно, чтобы наш словарный запас был как можно больше (чтобы наша модель понимала больше типов слов), а вложения для каждого слова также должны быть длиннее (чтобы получить более точное представление их семантического контекста). Кроме того, мы знаем, что более глубокие нейронные сети обычно дают более точные прогнозы, чем неглубокие модели. Легко увидеть, как количество параметров в модели BERT может резко увеличиться, если мы попытаемся увеличить любой (или все) из них. Поэтому нам нужен лучший подход к масштабированию LLM.

АЛЬБЕРТ: Упрощенный БЕРТ

____

В статье ALBERT: A Lite BERT для самостоятельного изучения языковых представлений авторы Lan et al. предложили ALBERT, модифицированную версию архитектуры BERT со значительно меньшим количеством параметров (что позволяет легче масштабировать модель) [Lan et al.]1. Эта модифицированная модель включает в себя 3 ключевых изменения исходной архитектуры BERT, которые устраняют (в некоторой степени) ограничения, обсуждавшиеся ранее. В следующих разделах каждый из них объясняется более подробно.

Факторизированная параметризация встраивания

Одна из проблем с BERT заключается в том, что у нас есть матрица встраивания V x H в первом слое нейронной сети (сопоставление горячего вектора входного слова с его представлением скрытого состояния) — т.е. количество параметров в первом слой O (V x H). Поэтому, если мы хотим увеличить словарный запас, размер скрытого состояния также увеличивается.

Проблема здесь в том, что в исходной модели BERT авторы связали размер встраивания E со скрытым размером H. Однако Lan et al. утверждают, что это неправильный подход, поскольку вложения WordPiece предназначены для изучения контекстно-независимых представлений, в то время как вложения скрытого слоя предназначены для изучения контекстно-зависимых представлений — оба из которых независимы.

Чтобы решить эту проблему, Lan et al. предложить, чтобы матрица вложения V x H была разложена на две меньшие матрицы размера V x E и E x H (как показано на рисунке 6). Выполнение этого двухэтапного встраивания (ввод одного горячего вектора во встраивание WordPiece и встраивание WordPiece в представление скрытого состояния) позволяет нам увеличить размер словаря V без увеличения количества параметров в скрытом слое. Следовательно, этот подход уменьшает количество параметров в матрице вложения с O (V x H) до O (V x E + E x H), что значительно меньше, когда H >> E (что идеально, поскольку мы можем захотеть иметь большие скрытые слои, чтобы получить лучшее контекстно-зависимое представление, но без изменения наших вложений WordPiece).

Обмен параметрами между уровнями

Еще один способ, которым ALBERT уменьшает количество параметров, — совместное использование параметров всеми блоками кодировщика (см. рис. 7), т. е. параметры вычисляются для первого уровня кодировщика, а затем те же параметры используются для всех оставшихся слоев. При этом количество параметров больше не зависит от глубины нейронной сети L, что позволяет нам обучать более глубокие модели.

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

Потеря связности между предложениями

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

Потеря NSP (предсказание следующего предложения) в исходной модели BERT (описанной ранее) представляет собой двоичную потерю, которая предсказывает, появляются ли два предложения последовательно в исходном текстовом корпусе. Однако недавние исследования ([Yang et al. 2019]4; и [Liu et al. 2019]5) показали, что эта потеря NSP ненадежна и не приводит к повышению производительности в последующих задачах. Одно из возможных объяснений этого состоит в том, что потеря NSP является слишком упрощенной и, тем не менее, пытается сделать как предсказание темы (говорим ли мы об одном и том же в обоих предложениях), так и предсказание когерентности (независимо от того, следует ли второе предложение естественным образом из первого) в одном предложении. одиночная задача.

Среди этих двух Lan et al. считал, что предсказание темы легче выучить, а также совпадает с тем, что было изучено при проигрыше MLM (поскольку предсказание правильных слов в предложении зависит от знания темы, о которой идет речь). Соответственно, авторы сосредотачиваются на предсказании когерентности и заменяют потерю NSP потерей предсказания порядка предложений (SOP). Разница здесь в том, что положительные примеры по-прежнему являются последовательными предложениями из корпуса текстов (как в NSP), а отрицательные примеры — это те же два предложения в обратном порядке (вместо двух случайных предложений из разных частей корпуса) — это фокусирует внимание модель связности предложений, а не предсказания темы (ранее мы использовали случайные предложения, поскольку предложения из разных частей корпуса, вероятно, были бы посвящены разным темам; здесь мы этого не хотим).

Производительность ALBERT и BERT

____

Основное преимущество ALBERT заключается в том, что он имеет значительно меньше параметров по сравнению с соответствующей моделью BERT. В таблице 1 сравниваются различные версии BERT и соответствующие реализации ALBERT. Как видно, базовая модель ALBERT имеет в 9 раз меньше параметров, чем ее аналог BERT, ALBERT large — в 18,6 раз меньше параметров, а ALBERT xlarge — в 21,5 раза меньше параметров. Это ясно демонстрирует, что ALBERT масштабируется намного лучше, чем исходная реализация BERT.

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

Для оценки перед обучением авторы имитировали среду тестирования исходной модели BERT, используя те же учебные корпуса, и оценивали задачи MLM и классификации предложений в наборах для разработки SQuAD и RACE. В таблице 2 приведены результаты предтренировочной оценки. Можно видеть, что все варианты ALBERT быстрее, чем их аналоги BERT. Однако средний балл за задание для базовой и большой моделей ALBERT ниже, чем у BERT. Это означает, что для того, чтобы ALBERT превзошел BERT в пределах 125 000 шагов, требуется как минимум модель xlarge — увеличение количества шагов обучения может дать другой результат.

Чтобы оценить производительность ALBERT в последующих задачах, авторы сравнили производительность своей лучшей конфигурации модели (ALBERT xxlarge) в тестах GLUE, SQuAD и RACE. Таблицы 3 и 4 показывают, как ALBERT сравнивается с другими современными моделями, такими как BERT, XLNet, RoBERTa и другими. И снова мы видим, что ALBERT (обученный на 1 млн шагов и 1,5 млн шагов) достигает лучшей производительности, чем все остальные модели.

Заключение

____

В этой статье мы представили общий обзор модели ALBERT, разработанной Lan et al. Мы обсудили изменения в ALBERT по сравнению с исходной моделью BERT и то, как они приводят к значительно меньшему количеству параметров (что позволяет нам легче масштабировать модели) и повышению производительности в последующих задачах. Экспериментальные результаты из статьи также были кратко упомянуты, чтобы обеспечить числовое подтверждение предполагаемых преимуществ ALBERT. Заинтересованные читатели могут прочитать исходную статью, чтобы получить более подробный анализ этой реализации.

Ссылки

____

[1] Лан, Чжэньчжун и др. «АЛЬБЕРТ: облегченный BERT для самостоятельного изучения языковых представлений». Международная конференция по обучающим представлениям. НП, 2020. Интернет.

[2] Девлин, Джейкоб и др. «BERT: предварительная подготовка глубоких двунаправленных преобразователей для понимания языка». arXiv [cs.CL] 2019. Интернет.

[3] Васвани, Ашиш и др. «Внимание — это все, что вам нужно». arXiv [cs.CL] 2017. Интернет.

[4] Жилин Ян, Зиханг Дай, Йиминг Ян, Хайме Карбонелл, Руслан Салахутдинов и Куок В Ле. XLNet: обобщенное авторегрессивное предварительное обучение для понимания языка. Препринт arXiv arXiv: 1906.08237, 2019.