Большие лингвистические модели, MirrorBERT – преобразование моделей в универсальные лексические и предложительные кодировщики

Большие лингвистические модели MirrorBERT - универсальное преобразование кодировщиков для лексических и предложительных структур

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

Введение

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

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

Крупномасштабные языковые модели: RoBERTa — робастный оптимизированный подход BERT

Узнайте о ключевых техниках, используемых для оптимизации BERT

towardsdatascience.com

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

Методология

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

Процесс обучения MirrorBERT

1. Самодублирование

Как следует из названия, MirrorBERT просто дублирует исходные данные.

Самодублирование

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

2. Авгментация данных

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

2.1. Авгментация входных данных

Учитывая пару строк (xᵢ, x̄ᵢ), алгоритм случайным образом выбирает одну из них и применяет случайную маскировку диапазона, состоящую из случайной замены подстроки фиксированной длины k в тексте на токен [MASK].

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

2.2. Увеличение особенностей

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

Процесс отсева (dropout) заключается в выключении определенного процента p нейронов в определенном слое сети. Это можно рассматривать как обнуление соответствующих нейронов в сети.

Авторы статьи предлагают использовать отсев для аугментации данных. Когда пара строк (xᵢ, x̄ᵢ) передается в сеть с отсевом, их выходные представления будут немного отличаться, если на каждом прямом проходе отсев всегда отключает разные нейроны.

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

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

3. Контрастное обучение

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

Одним из способов реализации контрастного обучения является использование функции потерь контраста. Одной из выбранных для MirrorBERT является InfoNCELoss. Разберемся, как она работает.

InfoNCELoss

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

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

2. Чтобы лучше понять следующие шаги, необходимо знать, что InfoNCELoss использует преобразование softmax с параметром температуры T, контролирующим гладкость распределения softmax на выходе. Поэтому сходства делятся на T.

Для получения дополнительной информации о температуре softmax, обратитесь к этой статье, где это более подробно объясняется.

Косинусное сходство, разделенное на температуру

3. Как и в стандартной формуле softmax, предсказание (сходство) затем преобразуется в экспоненциальной форме.

Экспонента косинусного сходства

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

  • Числитель содержит экспоненциальное сходство двух немного измененных идентичных строк (xᵢ, x̄ᵢ), которые могут рассматриваться как положительный пример.
  • Знаменатель состоит из суммы экспоненциальных сходств между xᵢ и всеми остальными строками набора данных xⱼ, которые можно рассматривать как набор всех отрицательных примеров.
Формула softmax для косинусного сходства. Nᵢ обозначает все строки набора данных, кроме xᵢ и x̄ᵢ.

5. В идеальном сценарии мы хотим, чтобы сходство между идентичными строками (xᵢ, x̄ᵢ) было высоким, в то время как сходство между xᵢ и другими строками xⱼ было низким. Если это верно, то числитель в формуле выше увеличится, а знаменатель уменьшится, что сделает всё выражение больше.

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

Отрицательный логарифм сходств softmax. Это выражение можно рассматривать как значение потери для отдельной строки xᵢ.

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

InfoNCELoss

Полученная формула – это и есть InfoNCELoss!

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

Триплетная потеря, используемая в модели SBERT, – еще один пример контрастной потери обучения.

Большие языковые модели: SBERT – Sentence-BERT

Узнайте, как сиамские сети BERT точно преобразуют предложения в эмбеддинги

towardsdatascience.com

Ресурсы для обучения

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

Исследователи сообщают, что для донастройки лексических представлений они используют только 10 тысяч самых часто встречающихся слов на каждом языке. Для задач на уровне предложений используется 10 тысяч предложений.

Детали обучения

Детали обучения MirrorBERT перечислены ниже:

  • Температура установлена на T = 0.04 для задач на уровне предложений и на T = 0.2 для задач на уровне слов.
  • В случайном маскировании длины последовательности k установлено равным 5.
  • Вероятность отключения (dropout) установлена на p = 0.1.
  • Используется оптимизатор AdamW с коэффициентом скорости обучения 2e-5.
  • Размер пакета установлен на 200 (или 400 с дубликатами).
  • Лексические модели обучаются в течение 2 эпох, а модели на уровне предложений обучаются в течение одной эпохи.
  • Вместо усреднения всех токеновых представлений вывода, создается представление токена [CLS].

Обучение одной эпохи в модели MirrorBERT занимает всего 10-20 секунд.

Оценки

Авторы оценили метрики на наборе тестов с помощью донастройки методом mirror. Результаты были представлены для трех типов задач: лексических, на уровне предложений и межъязыковых. В каждом из них MirrorBERT продемонстрировал сопоставимую производительность с другими моделями, донастроенными на основе BERT.

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

Заключение

Донастройка методом mirror действительно работает как волшебное заклинание: вместо тяжелых процедур донастройки, зеркальная структура требует гораздо меньше времени без использования внешних данных, при этом производительность на задачах семантической схожести находится на уровне других моделей, таких как BERT, SBERT или RoBERTa.

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

Ресурсы

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