learningAI
article thumbnail

XLM은 기존의 pre-training을 여러 언어에 대해 학습이 가능하도록 확장한 훈련 기법이다. 이를 cross-lingual language model 줄어서 XLM이라고 칭한다. XLM은 다중 언어 학습을 위해 monolingual data와 parallel data를 활용한 두 가지 학습 방법을 제시하여 machine translation task에 대한 성능을 높인다. 또한 aligning distribution of sentences (문장의 분포 균형 조절) 에 대해 굉장히 강조한다. XLM은 여러 언어에 대한 이해를 평가하는 지표인 XNLI와 WMT' 16 German-English 등에서 SOTA를 달성했다.

 

Introduction

Pre-training은 NLU 성능 발전에 큰 기여를 했지만, 대부분의 연구는 영어로 이뤄진 데이터에서 진행되었다. 최근 cross-lingual 분야에서 이뤄진 연구들은 영어-편파적인 학습에서 벗어나 많은 언어에서 범용적으로 사용 가능한 모델을 학습했다. XLM은 보다 뛰어난 cross-lingual language model pre-training을 위해 다음 연구를 진행한다.

 

1. Cross-lingual representations 학습을 위한 새로운 unsupervised 기법 CLM, MLM을 제시한다. 

2. 기존의 parallel data를 사용한 학습을 개선시켜 새로운 supervised learning objective TLM을 제시한다.

 

지난 연구들은 transformer pre-training 방식이 자연어에 대한 이해 능력을 향상시켜 GLUE benchmark에서 뛰어난 결과를 보일 뿐만 아니라 English-German 데이터처럼 이미 많은 데이터로 학습되는 모델들 또한 성능 개선에 도움을 줄 수 있다는 것을 증명했다. 

Text representations의 분포를 맞추는 연구(Aligning distributions)는 작은 사전을 활용하여 다른 언어에 대한 word representations의 분포를 조절하는 연구를 시작으로 오래 동안 연구되어 왔다. 이후의 논문들은 cross-lingual representations가 단일 언어 representation을 개선시키는데 활용할 수 있다는 연구 결과를 제시해 왔다. 이에 따라 병렬 데이터를 활용한 supervision의 중요성은 감소하게 되었다. 해당 연구는 이를 확장시켜 문장의 분포를 aligning 하고 병렬 데이터의 필요성을 감소시키는 주제에 대해 탐구한다.

 

Cross-lingual modeling methods

XLM은 unsupervised objective인 CLM과 XLM을 제시하고, parallel data가 있을 경우 보다 효율적인 학습이 가능하게 하는 TLM을 제시한다.

 

Shared vocabulary

XLM은 한 BPE를 데이터의 전체에 걸쳐 공유하면서 여러 언어의 표현을 효과적으로 할 수 있도록 한다. BPE를 공유함으로써 각 언어에서 빈번하게 사용되는 sub-word를 추출하여 이를 서로 공유할 수 있다. 이를 통해 각 언어에서 사용되는 sub-word의 공간을 보다 효율적으로 사용하여 모델의 크기를 줄일 수 있으며, 각 언어 간의 상호작용을 높일 수 있다.

BPE는 단일 언어 데이터에서 랜덤하게 추출한 문장들을 분리시켜 저장한다. 이때, 문장을 샘플링하는 다항 분포 (multinomial distribution) $q_i$는 다음과 같다.

$q_i = \frac{p_{i}^{\alpha}}{\sum_{j=1}^{N} p_{j}^{\alpha}}$  with  $p_i = \frac {n_i}{\sum_{k=1}^{N} n_k}$

데이터에 포함된 언어의 수를 N이라고 하고, $\{C_{i}\}_{i=1 \cdots N}$은 monolingual 데이터를 나타낸다. $n_i$는 $C_i$의 문장 수를 의미한다.

이 추출 분포를 사용함으로서 적은 데이터 양을 가진 언어에 대한 추출 빈도를 높이고, 언어에 대한 데이터의 양이 많은 경우 비교적 샘플링을 적게 하게 된다. 이를 통해 언어에 대한 빈도수를 조절할 수 있다 (aligning distribution).

 

Causal Langauge Modeling

해당 language modeling objective는 기존의 GPT-1에서 사용된 모델링 기법을 사용한다. Causal Language Modeling (CLM)은 sequence가 주어지면 다음 단어를 예측하는 $P(w_t | w_1, \cdots, w_{t-1}, \theta)$ objective이다. 

 

Masked Language Modeling

Cloze task라고도 하는 Masked Language Modeling (MLM) objective는 BERT의 pre-training 과정에서 사용되었던 방법이다. 기존의 BERT의 방식에 따라 15%의 토큰을 골라 선택된 토큰 중 80%는 [MASK] 토큰으로 대체하고, 10%는 랜덤 한 토큰으로 대체하며 나머지 10%의 토큰은 바꾸지 않고 놔둔다.

기존의 BERT에서 사용된 MLM과 다른 점은 입력 시퀀스가 sentence pair 대신에 여러 개의 문장으로 이뤄진 텍스트 스트림이라는 것이다 (256개의 토큰으로 제한). 희귀한 토큰과 자주 출현하는 토큰의 불균형을 해결하기 위해 앞에서 설명한 다항 분포 $q_i$를 활용하여 샘플링한다 (가중치가 역빈도의 제곱근에 비례한다).

 

Translation Language Modeling

Translation Language Modeling (TLM)은 여러 언어로 구성된 병렬 데이터를 활용하여 학습한다. TLM은 MLM과 유사하다. 입력 sequence를 마스킹하는건 같지만, source sentence와 target sentence로 이뤄져 있다. 이 objective는 병렬 데이터가 있는 경우에만 사용할 수 있다.

 

Masked LM 기법에서 마스크 토큰을 예측하기 위한 정보가 충분하지 않을 때, 모델은 잘못된 결과를 예측할 가능성이 높다. 하지만 병렬 데이터가 있을 경우, source 문장에서 정보가 부족할 때, target 문장의 정보를 활용하여 예측 정확도를 높일 수 있다. 위의 그림을 보면 source 문장과 target 문장을 구분하기 위해 target 문장이 시작되는 지점에서 positional embedding을 초기화한다. 

 

Modeling choices

이후의 실험은 Causal LM과 MLM objective를 각각 사용해서 훈련하거나, Masked LM과 Translation LM objective를 혼용하여 모델을 학습시킨다. CLM과 MLM은 256 tokens로 이뤄진 64 배치 크기의 데이터셋을 사용한다. 각 훈련 스텝의 배치는 하나의 언어 데이터에서 샘플링한 입력을 사용하며, 추출은 distribution $q_i$에 따라 시행된다 (이때,  $\alpha = 0.7$). TLM과 MLM을 같이 사용할 때, 둘은 교차되며 훈련이 진행되며 샘플링은 유사하게 진행된다.

 

Pre-training

XLM은 cross-lingual LM이 모델의 성능을 어떻게 향상시키는지에 대해 설명한다.

  • Zero-shot cross-lingual classification의 초기 성능을 개선시킨다 (이때, zero-shot은 이전에 학습되지 않은 새로운 언어에 대한 처리를 의미한다).
  • Machine translation 모델의 초기 성능을 향상시킨다.
  • 언어 데이터량이 부족할 때 효과적이다.
  • Unsupervised cross-lingual 워드 임베딩

 

Cross-lingual classification

훈련된 XLM 모델은 다중 언어에 대해 범용적인 text representations를 가진다. English classification task를 위해 XLM은 cross-lingual classification 벤치마크로 fine-tuning된다. 이때, 모델의 encoder 출력에 linear layer를 씌운다. 모델의 성능은 15 국어의 XNLI로 평가한다. 

 

Unsupervised machine translation

Pre-training은 UNMT (Unsupervised Machine Translation)의 키 포인트가 되는 중요한 과정이다. 훈련된 모델은 standard machine translation benchmark에 대해 평가되었다.

Supervised machine translation에 대해서도 XLM은 성능 향상 효과를 보인다 (이 부분은 짧으니 넘어간다).

 

Low-resource LM

특정 언어에 대한 데이터 양이 적을 때, XLM을 사용하면 상대적으로 많은 데이터가 있는 언어의 데이터를 활용하여 적은 데이터를 가진 언어에 대한 이해도를 높일 수 있다. 예를 들어, 위키피디아에 Nepali 언어로 적인 문장은 100k 개 가량이 있다. 힌디어는 이보다 6배 많은 데이터를 가진다. 또한, shared BPE에 두 언어는 80%의 토큰을 공통으로 가진다.

이때, 네팔어만으로 학습되었을 때보다, 영어와 힌디어를 종합적으로 학습시켰을 때, 네팔어에 대한 perplexity가 현저히 줄어든다. 힌디어와 영어의 데이터를 활용하여 네팔어에 대한 이해 능력을 향상했기 때문에 이와 같은 결과가 나온 것이다.

 

Discussion

XLM은 다중 언어를 다룰 수 있는 pre-training objective를 소개하면서, 이미 많은 데이터양을 가지는 언어에 대해서도 cross-lingual LM이 도움을 줄 수 있다는 것을 증명했다. 하지만 특히 인상적이었던 것은 적은 데이터량을 가지는 언어를 비교적 많은 데이터량을 가지는 언어를 활용하여 정확도를 높였다는 것이다. 물론 모델이 영어에 대해 학습했다고 한글 처리에 대한 정확도가 엄청나게 높아지진 않겠지만, 비슷한 형태의 언어를 활용하여 정확도를 높였다는 점이 신기했으며, 앞으로 더 많은 발전을 이뤄낼 것이 기대된다.

XLM 논문을 읽어보시고 싶은 분들은 아래 링크를 참고해 주세요

 

https://arxiv.org/pdf/1901.07291.pdf

profile

learningAI

@YyunS

인공지능 공부하는 학생입니다!