BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка.

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

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

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

Архитектура модели BERT представляет собой многоуровневый двунаправленный кодер Transformer, основанный на оригинальной реализации.

BERT в первую очередь сообщил о результатах двух размеров моделей:

  • BERTBASE (L=12, H=768, A=12, общие параметры=110M)
  • BERTLARGE (L=24, H=1024, A=16, общие параметры=340M).

Для сравнения было выбрано BERTBASE с тем же размером модели, что и у OpenAI GPT.

Однако критически важно то, что BERT Transformer использует двунаправленное самовнимание, в то время как GPT Transformer использует ограниченное самовнимание, когда каждый токен может обращать внимание только на контекст слева от него.

Входные/выходные представления

  • BERT использует вложения WordPiece со словарем из 30 000 токенов.
  • Первый токен каждой последовательности всегда является токеном специальной классификации ([CLS]).
  • Окончательное скрытое состояние, соответствующее этому токену, используется в качестве совокупного представления последовательности для задач классификации.
  • Пары предложений объединяются в единую последовательность. Предложения различаются двумя способами.
  • Во-первых, мы разделяем их специальным токеном ([SEP]).
  • Во-вторых, мы добавляем изученное вложение к каждому токену, указывающее, принадлежит ли он предложению A или предложению B.
  • Для данного токена его входное представление строится путем суммирования соответствующих вложений токена, сегмента и позиции.

Предварительная подготовка

Моделирование маскированного языка

  • 15% всех токенов WordPiece маскируются в каждой последовательности случайным образом. В отличие от автоматических кодировщиков с шумоподавлением, предсказываются только замаскированные слова, а не восстанавливается весь ввод.
  • Недостатком этого подхода является то, что мы создаем несоответствие между предварительным обучением и тонкой настройкой, поскольку токен ([MASK]) не появляется во время тонкой настройки.
  • Чтобы смягчить это, мы заменяем токен на:
  • токен [MASK] в 80% случаев
  • случайный токен в 10% случаев
  • неизменный токен 10% времени.

Подсказка следующего предложения

  • Многие важные последующие задачи, такие как ответы на вопросы (QA) и анализ естественного языка (NLI), основаны на понимании отношений между двумя предложениями, которые не учитываются непосредственно при языковом моделировании.
  • Для смягчения этого вводится NSP.
  • NSP — это задача бинарной классификации, в которой предложения A и B выбираются для каждого примера предварительной подготовки, 50% времени B — фактическое следующее предложение, следующее за A (помеченное как IsNext), и 50% времени — это случайное предложение. из корпуса (помечены как NotNext).

Данные перед обучением

Для предтренировочного корпуса мы используем BooksCorpus (800 млн слов) и английскую Википедию (2500 млн слов).

Для Википедии мы извлекаем только текстовые фрагменты и игнорируем списки, таблицы и заголовки.

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

Тонкая настройка

Бумага

BERT: предварительная подготовка глубоких двунаправленных преобразователей для понимания языка 1810.04805

Просмотреть все темы этой серии здесь