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 (ТЕСТОВЫЙ НАБОР). Искать во всем Чжидао.