- PVSM.RU - https://www.pvsm.ru -

XLNet против BERT

XLNet против BERT - 1

В конце июня коллектив из Carnegie Mellon University показал нам XLNet, сразу выложив публикацию [1], код [2] и готовую модель (XLNet-Large [3], Cased: 24-layer, 1024-hidden, 16-heads). Это предобученная модель для решения разных задач обработки естественного языка.

В публикации они сразу же обозначили сравнение своей модели с гугловым BERT-ом [4]. Они пишут, что XLNet превосходит BERT в большом количестве задач. И показывает в 18 задачах state-of-the-art результаты.

BERT, XLNet и трансформеры

Один из трендов последнего времени в глубоком обучении — это Transfer Learning. Мы обучаем модели решать несложные задачи на огромном объеме данных, а затем используем эти предобученные модели, но уже для решения других, более специфических задач. BERT и XLNet — это как раз такие предобученные сети, которые можно использовать для решения задач обработки естественного языка.

Эти модели развивают идею трансформеров [5] — доминирующего на данный момент подхода к построению моделей для работы с последовательностями. Очень подробно и с примерами кода о трансформерах и механизме внимания (Attention mechanism) написано в статье The Annotated Transformer [6].

Если взглянуть на General Language Understanding Evaluation (GLUE) benchmark Leaderboard [7], то сверху можно увидеть много моделей, основанных на трансформерах. Включая обе модели, которые показывают результат лучше человека. Можно сказать, что с транформерами мы наблюдаем мини-революцию в обработке естественного языка.

Недостатки BERT

BERT является автокодировщиком (autoencoder, AE). Он скрывает и портит некоторые слова в последовательности и пытается восстановить изначальную последовательность слов из контекста.

Это приводит к недостаткам работы модели:

  • Каждое скрытое слово предсказывается в отдельности. Мы теряем информацию о возможных связях между маскированными словами. В статье приводится пример с названием «New York». Если мы попытаемся независимо предсказывать эти слова по контексту, мы не будем учитывать связь между ними.
  • Несоответствие между фазами тренировки модели BERT и использования предобученной модели BERT. Когда мы тренируем модель — у нас есть скрытые слова ([MASK] токены), когда мы используем предобученную модель, мы на вход ей уже такие токены не подаем.

И все же, несмотря на эти проблемы, BERT показывал state-of-the-art результаты на многих задачах обработки естественного языка.

Особенности XLNet

XLNet — это авторегрессионная модель (autoregressive language modeling, AR LM). Она пытается предсказать следующий токен по последовательности предыдущих. В классических авторегрессионных моделях эта контекстная последовательность берется независимо из двух направлений исходной строки.

XLNet обобщает этот метод и формирует контекст из разных мест исходной последовательности. Как он это делает. Он берет все (в теории) возможные перестановки исходной последовательности и предсказывает каждый токен в последовательности по предыдущим.

Вот пример из статьи, как предсказывается токен x3 из различных перестановок исходной последовательности.

XLNet против BERT - 2

При этом контекст — это не мешок слов. Информация об изначальном порядке токенов также подается в модель.

Если проводить аналогии с BERT-ом, то получается, мы не маскируем токены заранее, а как бы используем разные наборы скрытых токенов при разных перестановках. При этом исчезает и вторая проблема BERT-а — отсутствие скрытых токенов при использовании предобученной модели. В случае XLNet на вход поступает уже вся последовательность, без масок.

Откуда XL в названии. XL — потому что XLNet использует Attention-механизм и идеи из модели Transformer-XL. Хотя злые языки утверждают, что XL намекает на количество ресурсов, необходимых для обучения сети.

XLNet против BERT - 3

И про ресурсы. В твиттере выложили расчет [8], во что обойдется обучение сети с параметрами из статьи. Получилось 245000 долларов. Правда потом пришел инженер из Гугла и поправил [9], что в статье упоминаются 512 чипов TPU, которых по четыре на устройстве. То есть стоимость уже 62440 долларов, или даже 32720 долларов, если учитывать 512 ядер, которые тоже упоминаются в статье.

XLNet против BERT

К статье выложили пока только одну предобученную модель для английского языка (XLNet-Large, Cased). Но в статье упоминаются эксперименты и с меньшими по размеру моделями. И во многих задачах модели XLNet показывают лучшие результаты по сравнению с аналогичными моделями BERT.

XLNet против BERT - 4

Появление BERT и особенно предобученных моделей привлекло большое внимание исследователей и привело к огромному числу связанных с ним работ. Теперь вот XLNet. Интересно посмотреть, станет ли он на какое-то время стандартом де-факто в NLP, или наоборот подстегнет исследователей в поиске новых архитектур и подходов для обработки естественного языка.

Автор: borges

Источник [10]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/python/323210

Ссылки в тексте:

[1] публикацию: https://arxiv.org/abs/1906.08237

[2] код: https://github.com/zihangdai/xlnet/

[3] XLNet-Large: https://storage.googleapis.com/xlnet/released_models/cased_L-24_H-1024_A-16.zip

[4] BERT-ом: https://habr.com/ru/post/436878/

[5] трансформеров: https://habr.com/ru/post/341240/

[6] The Annotated Transformer: http://nlp.seas.harvard.edu/2018/04/03/attention.html

[7] General Language Understanding Evaluation (GLUE) benchmark Leaderboard: https://gluebenchmark.com/leaderboard/

[8] расчет: https://twitter.com/eturner303/status/1143174828804857856

[9] поправил: https://twitter.com/jekbradbury/status/1143397614093651969

[10] Источник: https://habr.com/ru/post/458928/?utm_campaign=458928&utm_source=habrahabr&utm_medium=rss