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
Просмотреть все темы этой серии здесь