Обзор RoBERTa

алгоритм

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

По сравнению с BERT, RoBERTa имеет три самых больших улучшения:

  1. Динамическое маскирование
  2. Отменить задачу NSP (предсказание следующего предложения)
  3. Расширить размер партии

Статическая маскировка против динамической маскировки

  • Static Maksing: матрица маски генерируется во время предварительной обработки данных, и каждый образец будет выполнять случайную маску только один раз, и каждая эпоха одинакова.
  • Модифицированная версия статического максинга: копируем 10 копий данных при препроцессинге, каждая копия использует разную маску, то есть для одного и того же предложения есть 10 разных методов маски, а затем обучается каждая копия данных N/10 Эпохи
  • Динамическое маскирование: каждый раз, когда последовательность загружается в модель, создается новый способ Макса. То есть он не выполняет маску во время предварительной обработки, а динамически генерирует маску при вводе данных в модель.

Отменить задачу NSP

Фактически, к 2020 году многие документы больше не использовали задачи NSP, но Roberta - это ранняя партия моделей, которые задаются вопросу о задачах NSP. Roberta экспериментировал с 4 методами:

  • SEGMENT-PAIR + NSP: ввод состоит из двух частей, каждая часть представляет собой сегмент из того же документа или другого документа (сегмент представляет собой несколько последовательных предложений), а общее количество токенов этих двух сегментов меньше 512. Предварительное обучение включает в себя задачи MLM и задачи NSP. Вот как это делал оригинальный BERT
  • ПАРА ПРЕДЛОЖЕНИЙ + NSP: входные данные также содержат две части, каждая часть представляет собой одно предложение из одного и того же документа или разных документов, а общее количество токенов этих двух предложений меньше 512. Поскольку эти входные данные значительно меньше, чем 512 токенов, размер пакета увеличивается, чтобы общее количество токенов оставалось таким же, как у SEGMENT-PAIR + NSP. Предварительное обучение включает в себя задачи MLM и задачи NSP
  • ПОЛНЫЕ ПРЕДЛОЖЕНИЯ: входные данные содержат только одну часть (вместо двух частей), несколько последовательных предложений из одного и того же документа или разных документов, а общее количество токенов не превышает 512. Ввод может пересекать границы документа, если это так, добавьте токен, обозначающий границу документа, в конце предыдущего документа. Предварительная подготовка не включает задачи NSP
  • DOC-SENTENCES: входные данные состоят только из одной части (вместо двух частей), входная структура аналогична FULL-SENTENCES, за исключением того, что не нужно пересекать границу документа, входные данные представляют собой последовательные предложения из одного и того же документа и общее количество токенов не превышает 512. Входные данные, выбранные ближе к концу документа, могут быть короче 512 токенов, поэтому в этих случаях размер пакета динамически увеличивается, чтобы достичь того же общего количества токенов, что и в FULL-SENTENCES. Предварительная подготовка не включает задачи NSP

Расширить размер партии

На самом деле, я видел заявление раньше (отChinese-BERT-wwm):Уменьшение размера партии значительно снизит экспериментальный эффект

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

Среди них bsz — размер пакета; steps — количество шагов обучения (чтобы убедиться, что bsz*steps примерно одинаковы, поэтому большие bsz должны соответствовать маленьким шагам); lr — скорость обучения; ppl — недоумение. , чем меньше, тем лучше, последние два отличаются точностью задания

Reference