Подробное объяснение трех межъязыковых моделей (XLM, XLM-R, mBART)

алгоритм

Это 6-й день моего участия в ноябрьском испытании обновлений.Подробности о событии:Вызов последнего обновления 2021 г.

В этой статье будут подробно описаны три межъязыковые модели в зависимости от времени их публикации на Arxiv, которыеXLM(2019/1/22),XLM-R(2019/11/5),mBART(2020/1/22),Интересно то,что эти три статьи все из Фейсбука.У них есть какая-то одержимость кросс-языковыми моделями?

XLM (Cross-lingual Language Model Pretraining)

Хотя исходная модель BERT может быть предварительно обучена на сотнях языков, информация между языками несовместима, и между разными языковыми моделями нет общих знаний.XLM-модель FacebookПреодоление проблемы непередачи информации, объединение разных языков и использование новых учебных целей для обучения, чтобы модель могла усвоить больше межъязыковой информации. Существенным преимуществом этой межъязыковой модели является то, что для последующих задач после предварительного обучения (таких как классификация текстов или задачи перевода) языки с разреженными обучающими корпусами могут использовать информацию, полученную на других корпусах.

Предлагаемая статья3 предтренировочных задания, 2 из которых нужно толькоОдноязычный набор данных (неконтролируемый подход), другой требуетПараллельный корпус (под наблюдением)

Shared sub-word vocabulary

Предположим, естьNNязыке соответствующий корпус записывается как{Ci}i=1,2,...,N\{C_i\}_{i=1,2,...,N},CiC_iколичество предложений вnin_iвыражать

В экспериментах автора все языки имеют общий словарь, созданный с помощью Byte Pair Encoding (BPE). Общий контент включает в себя те же буквы, символы, токены, такие как цифровые символы и имена собственные. Такой способ обмена словарями может значительно улучшить выравнивание разных языков в пространстве для встраивания. В этой статье представлены предложения из случайного полиномиального распределения в одном корпусе для обучения BPE. В целях обеспечения сбалансированности корпуса вероятность выборки предложения выглядит следующим образом:

qi=piαj=1Npjα          with          pi=nik=1Nnkq_i=\frac{p^\alpha_i}{\sum_{j=1}^Np^\alpha_j}\;\;\;\;\;with\;\;\;\;\;p_i=\frac{n_i}{\sum_{k=1}^Nn_k}

вα=0.5\alpha=0.5. Использование этой функции вероятности для выборки может увеличить частоту языков с меньшим объемом обучающего корпуса и в то же время избежать прямого разрезания небольших языков на отдельные символы в процессе BPE.

Примечание. Многие блоггеры просто помещают эту формулу прямо в этот пост, и я объясню эту формулу ниже.

Предположим, что теперь существует три языковых корпуса.C1,C2,C3C_1,C_2,C_3, соответствующие им предложенияn1=100,n2=190,n3=10n_1=100,n_2=190,n_3=10

Так

p1=100300=13, p1α0.57p2=190300=1930, p2α0.79p3=10300=130, p3α0.18q1=0.571.540.37q2=0.791.540.51q3=0.181.540.11p_1=\frac{100}{300}=\frac{1}{3}, \ p_1^\alpha \approx 0.57\\ p_2=\frac{190}{300}=\frac{19}{30}, \ p_2^\alpha \approx 0.79\\ p_3=\frac{10}{300}=\frac{1}{30}, \ p_3^\alpha \approx 0.18 \\ q_1=\frac{0.57}{1.54}\approx 0.37 \\ q_2 = \frac{0.79}{1.54} \approx 0.51\\ q_3 = \frac{0.18}{1.54} \approx 0.11\\

Может быть, у читателей нет чувства, когда они видят эту вероятность, предполагая, что соотношение количества предложений просто используетсяppДля примерки можно посмотретьC1C_1Вероятность попадания в выборку равнаC3C_310 раз. Но если вы используетеqqвероятность выборки,C1C_1Вероятность попадания в выборку составляет всегоC3C_3более чем в три раза большеC3C_3Вероятность попадания в выборку по-прежнему мала в численном выражении, но, условно говоря, вероятность того, что будет отобран небольшой корпус, действительно улучшилась.

Pre-training tasks

Автор предлагает три предтренировочных задания: CLM, MLM и TLM, которые описаны ниже:

CLM (Causal Language Modeling)

Задача каузального языкового моделирования (CLM) в этой статье на самом деле представляет собой языковую модель Transformer, которая обучена предсказывать вероятность следующего слова для данного предложения.P(wtw1,...,wt1,θ)P(w_t\mid w_1,...,w_{t-1},\theta)

MLM (Masked Language Modeling)

Это МАСКОВАЯ задача BERT, которую вы знаете, с небольшой разницей, использует бумагаТекстовый поток, состоящий из любого количества предложений (усечено 256 токенов на предложение).вместо текстовой пары, состоящей всего из двух предложений в BERT. А для того, чтобы сбалансировать разницу между высокочастотными и низкочастотными словами, при покрытии слов используется метод, аналогичный описанному выше ресэмплингу.

TLM (Translation Language Modeling)

Как CLM, так и MLM не контролируются и требуют только одноязычных данных Как разработать контролируемую задачу для параллельного корпуса? Задача перевода — хороший выбор. Диссертация представленаНовый подход к моделированию языка перевода (TLM) для улучшения межъязыкового обучения. TLM на самом деле является расширением MLM, TLM не учитывает одноязычный поток текста, а соединяет пары предложений параллельного перевода.

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

Мы также заметили, что вложения Position на приведенном выше рисунке несколько отличаются от традиционных PE. В частности, в части целевого предложения необходимо сбросить позиционное кодирование. При этом, вне зависимости от того, какая из трех предтренировочных задач, мы будем дополнительно вводить в модель Language embeddings

Cross-lingual Language Models

Кросс-языковая предварительно обученная модельКЛМ и МЛМилиМЛМ против ТЛМКомбинированный модельный состав

заКЛМ и МЛМВ процессе обучения модели текста каждый пакет содержит 64 потока предложений, а каждый поток предложений состоит из 256 токенов. На каждой итерации партия исходит из предложений на одном и том же языке, и вероятность выборки предложения такая же, как и метод расчета функции вероятности для выборки словарного запаса подслов, за исключением того, чтоα\alphaстановится 0,7

заТЛМ и МЛМКомбинацию двух заданий необходимо чередовать во время обучения, а переведенные пары предложений отбираются аналогичным образом.

Experiences & Results

Cross-lingual classification

Для межъязыковой классификации текста в статье используются выходные данные первого токена последнего слоя модели в качестве входных данных последующего линейного классификатора. Во-первых, используйте задачу MLM для обучения на одноязычном корпусе каждого языка (есть также часть добавления дополнительного параллельного корпуса для обучения TLM), затем используйте набор для обучения английскому языку для тонкой настройки и, наконец, оцените его на многоязычном XNLI. набор данных, результаты показаны в следующей таблице

Примечание. Задача XNLI состоит в том, чтобы определить, существует ли взаимосвязь Entailment, Contradict или Natural между двумя предложениями одного и того же языка.

Unsupervised Machine Translation (UMT)

Наиболее часто используемый метод неконтролируемого машинного перевода — это шумоподавляющий автоэнкодер + циклический перевод. В частности, для задачи перевода с английского на немецкий после построения модели кодировщика-декодера вы можете использовать английский текст для добавления шума, ввести кодировщик, а затем декодер сгенерирует немецкие псевдоданные, а затем введет немецкие псевдоданные. -data в Encoder.Надеюсь, что на выходе Decoder будет исходный английский текст без шумов, и в нем есть ощущение AutoEncoder (English->Devon->English)

В этой статье CLM или MLM фактически используются для инициализации кодировщика и декодера.В следующей таблице показаны результаты различных методов инициализации.

Supervised Machine Translation (SMT)

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

  • Sennrich et al.: Это предыдущая SOTA
  • ro -> en: это тонкая настройка с использованием односторонних данных
  • ro en: тонкая настройка с использованием двунаправленных данных
  • ro en + BT: точная настройка с двунаправленными данными и одновременная обратная трансляция (сначала сгенерируйте псевдоданные B из A->B, а затем преобразуйте обратно в A)
Unsupervised cross-lingual word embeddings

Основная цель здесь - проверить точность (отлично) многоязычного встраивания, созданного в условиях без присмотра. Конкретный метод заключается в проверке расстояния между различными исходными словами и их переведенными словами. Результаты следующие:

Код модели XLM находится в открытом доступе по адресуGitHub.com/Facebook Рес…


XLM-R (Unsupervised Cross-lingual Representation Learning at Scale)

Полное название XLM-R - XLM-RoBERTa. Чтобы лучше понять эту модель, пожалуйста, уделите 5 минут чтению.Обзор RoBERTaэта статья

Усовершенствования XLM-R

  1. Основываясь на межъязыковом подходе, используемом в XLM и RoBERTa (по сути, XLM+RoBERTa, ничего больше), в новой моделиувеличилось количество языковиколичество обучающих наборов данных, специально используяболее 2 ТБПредварительно обработанный набор данных CommonCrawl для обучения межъязыковым представлениям в режиме самоконтроля.
  2. Во время тонкой настройки используйте данные многоязычных аннотаций, основанные на способности многоязычных моделей повышать производительность последующих задач.
  3. Параметры модели настроены так, чтобы устранить тот недостаток, что использование межъязыкового переноса для масштабирования модели на большее количество языков ограничивает способность модели понимать каждый язык. Наши изменения параметров включают повышение частоты дискретизации языков с низким уровнем ресурсов во время обучения и создания словарного запаса, создание большего общего словаря и увеличение общей модели до 550 миллионов параметров.

Masked Language Models

Моделью XLM-R по-прежнему является Transformer, а целью обучения является многоязычный MLM, который в основном такой же, как XLM. Автор выбирает текст из корпуса каждого языка, а затем предсказывает замаскированные токены. Выборка из языков такая же, как и в XLM, только сбросα=0.3\alpha=0.3. Другое отличие от XLM состоит в том, что текстНе использовать языковые вложения. Размер словаря этой статьи составляет 250 КБ, и обучаются две модели:

  • XLMRBaseXLM-R_{Base}(L=12, H=768, A=12, 270M параметров)

  • XLMRXLM-R(L = 24, H = 1024, A = 16, 550M параметров)

Scaling to a hundred languages

Предварительная подготовка XLM-R основана на языках 100. На следующем рисунке показаны те же 88 языков XLM-R и XLM-100 и размер каждого корпуса.

Cross-lingual Understading Results

В таблице ниже показаны результаты экспериментов по межъязыковой классификации в XNLI. Столбец D представляет данные, используемые для предварительного обучения, столбец #M представляет количество моделей, а #lg представляет количество языков. Видно, что XLM-R достиг SOTA со средней точностью 82,4%.

Named Entity Recognition

Question Answering

XNLI: XLM versus BERT

Распространенная критика многоязычных моделей заключается в том, что они, как правило, плохо справляются с одноязычными задачами. Однако экспериментальные результаты XLM-R впечатляют, и он может превзойти одноязычный BERT. Конкретные результаты сравнения показаны в таблице ниже.

Примечание: Лично я считаю, что автор здесь действительно использует крайнее средство, чтобы доказать, что это лучше, чем одноязыковая модель. Во-первых, вместо XLM-100 использовалась модель XLM-7 с меньшим количеством языков. Во-вторых,вместо сравнения с РоБЕРТа,это армрестлинг с БЕРТом.Верю всем истина понятна.


mBART (Multilingual Denoising Pre-training for Neural Machine Translation)

Если вы посмотрите на название, mBART на самом деле является многоязычной версией BART. Если вы не понимаете BART, сначала прочтите его.Подробное объяснение BARTэта статья

Pre-train & finetune startegy

На следующем рисунке показан способ предварительной подготовки и тонкой настройки в этой статье, из которых наиболее интересным является предварительная подготовка.

Pre-training

На этом этапе требуется только один язык.Ввод кодировщика — это маскированный токен, ввод декодера — перестановка предложений, а конечный токен добавляется в конце каждого предложения.</s>и надеемся, что этот преобразователь сможет плавно восстановить порядок всех маскированных токенов и исходных предложений и добавить идентификатор языка в качестве начального токена для перевода модели перед входным предложением декодера.

Практика Masked аналогична BERT, а практика перестановки предложений аналогична Sentence Order Prediciton (SOP) в ALBERT. Кроме того, идентификатор языка похож на CTRL, сообщая модели, какой целевой язык следует предсказать следующим.Короче говоря, он сочетает в себе преимущества каждого документа.

Fine-tuning

Этот этап используется для точной настройки последующих многоязычных задач. Автор тестировал перевод Sentence и Document соответственно, разница между этими двумя задачами только в длине текста, конечно перевод Document будет относительно сложным.

Data Overview

В таблице ниже представлен обучающий набор, используемый на этапе Pre-train, в общей сложности 25 языков и словарный запас около 250 000 токенов. Чтобы решить проблему дисбаланса выборки, автор использует повышающую и понижающую дискретизацию (см. XLM), а другие методы обработки в основном аналогичны оригинальному Transformer.

Code Language Tokens/M Size/GB
En English 55608 300.8
Ru Russian 23408 278.0
Vi Vietnamese 24757 137.3
Ja Japanese 530 (*) 69.3
De German 10297 66.6
Ro Romanian 10354 61.4
Fr French 9780 56.8
Fi Finnish 6730 54.3
Ko Korean 5644 54.2
Es Spanish 9374 53.3
Zh Chinese (Sim) 259 (*) 46.9
It Italian 4983 30.2
Nl Dutch 5025 29.3
Ar Arabic 2869 28.0
Tr Turkish 2736 20.9
Hi Hindi 1715 20.2
Cs Czech 2498 16.3
Lt Lithuanian 1835 13.7
Lv Latvian 1198 8.8
Kk Kazakh 476 6.4
Et Estonian 843 6.1
Ne Nepali 237 3.8
Si Sinhala 243 3.6
Gu Gujarati 140 1.9
My Burmese 56 1.6

Evaluation

Затем автор сравнивает влияние тонкой настройки разных языков на английский.На следующем рисунке показано влияние перевода английского и других языков.Низкий/средний ресурс указывает, что количество предложений составляет менее 1 млн и находится в диапазоне от 1 до 10 млн. mBART25 указывает, что автор предварительно обучает модель на 25 языках; random указывает, что вместо использования модели предварительной подготовки обучение выполняется непосредственно на языковой задаче. Можно обнаружить, что независимо от того, какую задачу перевода, mBART25 выполняет лучше всего.

Затем автор выполняет точную настройку на High Resource (> 10M), а всего языков 6. Интересно, что когда объем данных превышает определенный уровень (выше 25M), использование только вашего собственного набора данных будет выполняться лучше.

Наконец, автор провел интересный эксперимент. Сначала точно настройте 12 языков на английский (ось X), а затем напрямую и без разбора переведите каждый язык друг на друга (ось Y). Интересно, что, за исключением самых эффективных самопереводов (диагональная линия), следующие за ними самые эффективные языки принадлежат к одной языковой семье (серая область), что позволяет предположить, что языки в одной языковой семье действительно имеют общий язык. определенные характеристики. Еще одним интересным моментом является то, что чешский (Cs), переведенный на румынский (Ro), работал лучше, чем чешский (Cs), переведенный сам на себя.

Reference