BERT (B двунаправленный E кодировщик R презентации от T преобразователей), возможно, является наиболее заметным предварительным обучением. модель в обработке естественного языка (NLP). Например, BERT поднял оценку с 72,8 до 80,5 в тесте GLUE для 9 различных задач НЛП - это крупнейшее достижение за последнее время [6].

Хотя BERT впечатляет, к сожалению, не было реализаций с открытым исходным кодом, которые одновременно

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

Таким образом, мы выпускаем GluonNLP 0.6 для решения таких проблем путем i) предварительного обучения BERT с 8 графическими процессорами за 6,5 дней; ii) воспроизведение нескольких результатов понимания естественного языка; iii) оптимизация развертывания.

Мы предварительно обучаем BERT с 8 графическими процессорами за 6,5 дней

Если вы живете под скалой и не слышали о BERT, вот как это работает. Он 1) использует многослойные двунаправленные преобразователи кодировщиков, 2) изучает параметры с помощью моделирования замаскированного языка и предсказания следующего предложения на больших корпусах с самоконтролем, и 3) передает эти изученные текстовые представления конкретным последующим задачам NLP с небольшим набором помеченных данных с помощью тонкая настройка.

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

Мы предварительно обучили базовую модель BERT с нуля. Мы использовали дамп данных английской Википедии, который содержит 2,0 миллиарда слов после удаления изображений и таблиц, и набор данных корпуса книг, который содержит 579,5 миллионов слов после дедупликации. При смешанном обучении точности и накоплении градиента базовая модель BERT занимает 6,5 дней с использованием 8 графических процессоров Volta 100 и дает следующие результаты на проверочных наборах.

Мы воспроизводим тонкую настройку BERT для задач NLU с доступными скриптами и журналами

Поощрение воспроизводимых исследований - одна из важных целей GluonNLP. В GluonNLP мы предоставляем обучающие скрипты и журналы, которые воспроизводят современные результаты на RTE [6], MNLI [8], SST-2, MRPC [10], SQuAD. 1.1 »[9] и SQuAD 2.0 [11]. Наш код разбит на модули, чтобы облегчить BERT для многих задач в одной структуре.

Мы сообщаем о результатах F1 и точных совпадений в наборе проверки для наборов данных с ответами на вопросы:

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

Мы оптимизируем развертывание BERT

Благодаря мощности MXNet мы предоставляем модель BERT, которую можно сериализовать в формат json и развернуть на C ++, Java, Scala и многих других языках. С поддержкой float16 мы видим примерно в 2 раза ускорение вывода BERT на графических процессорах. Мы также работаем над квантованием int8 на процессорах.

С чего начать?

Чтобы начать работу с BERT с использованием GluonNLP, посетите наш учебник, в котором рассматривается код для тонкой настройки BERT для классификации предложений. Вы также можете ознакомиться с нашим зоопарком моделей BERT, где можно найти сценарии предварительного обучения BERT и сценарии точной настройки для тестов SQuAD и GLUE.

Чтобы узнать о других новых функциях, добавленных в GluonNLP, ознакомьтесь с нашими примечаниями к выпуску. Мы также работаем над улучшением распределенного обучения BERT и добавляем GPT-2, BiDAF [12], QANet [3], BERT для NER / синтаксического анализа и многое другое в GluonNLP.

Удачного БЕРТИНГА с GluonNLP 0.6!

Подтверждение

Мы благодарим сообщество GluonNLP за большой вклад: @ haven-jeon @fiercex @kenjewu @imgarylai @TaoLv @Ishitori @ szha @ astonzhang @cgraywang

использованная литература

[1] Питерс, Мэтью Э. и др. «Глубоко контекстуализированные представления слов». Препринт arXiv arXiv: 1802.05365 (2018).

[2] Ховард, Джереми и Себастьян Рудер. «Тонкая настройка универсальной языковой модели для классификации текста». Препринт arXiv arXiv: 1801.06146 (2018).

[3] Ю, Адамс Вей и др. «Qanet: сочетание локальной свертки с глобальным самовниманием для понимания прочитанного». Препринт arXiv arXiv: 1804.09541 (2018).

[4] Девлин, Джейкоб и др. «Берт: Предварительная подготовка глубоких двунаправленных преобразователей для понимания языка». Препринт arXiv arXiv: 1810.04805 (2018).

[5] Себастьян Рудер. Момент ImageNet в NLP настал, 2018 г. (по состоянию на 1 ноября 2018 г.). URL https://thegradient.pub/nlp-imagenet/.

[6] Ван, Алекс и др. «Glue: многозадачная платформа для тестирования и анализа естественного языка». Препринт arXiv arXiv: 1804.07461 (2018).

[7] Лю, Сяодун и др. «Многозадачные глубокие нейронные сети для понимания естественного языка». Препринт arXiv arXiv: 1901.11504 (2019).

[8] Уильямс, Адина, Никита Нангиа и Сэмюэл Р. Боуман. «Корпус задач с широким охватом для понимания предложения через умозаключение». Препринт arXiv arXiv: 1704.05426 (2017).

[9] Раджпуркар, Пранав и др. «Команда: более 100 000 вопросов для машинного понимания текста». Препринт arXiv arXiv: 1606.05250 (2016).

[10] Долан, Билл, Крис Брокетт и Крис Квирк. «Корпус перефразирования исследований Microsoft». Получено 29 марта (2005 г.): 2008 г.

[11] Раджпуркар, Пранав, Робин Джиа и Перси Лян. «Знайте, чего вы не знаете: вопросы, на которые нет ответа для SQuAD». Препринт arXiv arXiv: 1806.03822 (2018).

[12] Туасон, Рамон, Даниэль Грациан и Генки Кондо. «Модель BiDAF для ответов на вопросы». Таблица III ОЦЕНКА МОДЕЛЕЙ MRC (ТЕСТОВЫЙ НАБОР). Искать во всем Чжидао.