새소식

딥러닝/논문 리뷰(GitBook으로 이전)

[Paper Review] How good is your tokenizer?

  • -

 

본 논문에서는 Pretrain된 multilingual LMmonolingual  LM의 체계적이고 포괄적인 경험적 비교를 제공한다.

또한 기존 방법론들의 경우에는 더 좋은 model을 사용하거나 더 큰 dataset을 사용하는 방식에 집중하는 반면 본 논문은 Tokenizer를 변인으로 지정하고 모델 성능에 미치는 영향을 비교하였다.

 

Monolingual LM : 단일 언어로 학습된 Language Model (ex. BERT, GPT-2)

Multilingual LM : 여러 개의 언어로 학습 된 Language Model (ex. mBERT, XLM-R)- Multilingual LM의 capacity가 고정이 되어 있다면 학습하는 언어의 개수를 늘릴 수록 언어 당 할당할 수 있는 공간이 적어지기 때문에 Curse of multilinguality가 발생하여  Single Multilingual LM의 성능이 저하되는 것이 일반적이다.

 

( Curse of dimensionality: 변수가 증가하면 같은 설명력을 갖기 위해 필요한 dataset의 규모가 지수적으로 증가하게 됨 )

( Curse of multiliguality: 모델의 capacity를 고정한 상태에서 새로운 언어를 추가할 경우 Cross-lingual performance가 향상되다가 특정 순간부터 성능이 감소하는 현상 )

 

 

 

본 논문은 9개의 language5가지 task에 대해서 실험을 진행하였다.

Language와 task 선택의 기준은 아래와 같다.

  • Typological diversity (최대한 다양한 언어)
  • 이미 monolingual BERT이 있어야 함
  • Standard evaluation benchmark가 충분하게 있어서 비교하기 용이한 task

5가지 Task로는 NER, SA, QA, UDP, POS task를 선정하였다.

  • NER : 각 형태소가 어떤 Entity인지 분류하는 task
  • SA : 감성 분석 문제로 해당 문장의 긍/부정을 분류하는 binary task
  • QA : 기계 독해 문제로 Question에 대한 답을 context에서 찾는 task
  • UDP : Dependency parsing에 대한 분석으로 단어 간의 구조를 찾는 task
  • POS : 각 형태소의 품사를 찾는 task

task 마다의 Evaluation metric는 아래와 같다.

  • NER: F1
  • SA , POS : Acc
  • UDP : UAS&LAS
  • QA : EM, F1

하이퍼 파라미터는 아래와 같이 공통적으로 사용하였다.

  • Optimizer: AdamW
  • Learning rate: 3e-5
  • Epochs : 10 epochs with early stopping

 

 

본 논문에서 Monolingual LM과 Multilingual LM을 비교한 결과를 정리한 표는 아래와 같다.

대부분의 언어가 Monolingual에서 성능이 더 우수하였으며 인도네시아 언어의 경우는 Multilingual에서 성능이 더 우수하였다.

UDP task의 경우 Monolingual과 Multilingual 성능의 간극이 가장 컸다.

 

본 논문은 Monolingual LM과 Multilingual LM의 성능 간극의 원인을 tokenizer, corpus size, language, task로 가정하고 각 factor들에 대한 실험을 진행하였다.

 

▮ Tokenizer

Tokenizer가 얼마나 단어를 split 하는지를 측정하는 metric으로 Subword fertility와 Proportion of Continued words를 사용하였다. 두 metric 모두 낮을수록 성능이 우수함을 나타낸다.

  • Subword fertility : 얼마나 공격적으로 tokenizer가 split을 진행하는지 측정하는 척도
  • Proportion of words : 얼마나 자주 words를 split 하는지를 측정하는 척도

JA, ZH를 제외한 모든 언어에서 monolingual tokenizer가 우수한 성능을 보임을 알 수 있다.

 

 

▮ Corpus size

일반적으로 Pretraining corpus size가 클수록 성능이 우수함을 알 수 있다. 인도네시아 언어의 경우에만 corpus size와 성능의 상관관계를 설명하기 어렵다.

 

 

위의 실험 결과를 통해 Tokenizer와 corpus size가 성능에 영향을 주는 것을 확인할 수 있었다.

본 논문은 Multilingual과 Monolingual 간의 성능 차이가 심했던 언어인 AR, FI, ID, KO, TR에 대해 LM 2가지(Mono/Multi), Tokenizer 2가지(Mono/Multi)의 총 4가지 조합을 비교하여 각 인자의 성능에 대한 영향력을 비교하고자 하였다.

Monolingual model의 tokenizer를 사용하였을 때 성능이 우수함을 확인할 수 있다. Tokenizer의 중요성

 

 

▮ Adapter-based Training

본 논문은 각 task와 language에 대해  Adapter를 추가하여 실험을 진행하였다.

 

Adapter : 효과적인 Fine-tuning을 위해 기존 layer에 추가하는 layer로, Fine-tuning 시 기존 layer는 freezing 하고 adapter layer만 학습을 진행한다. → 학습 parameter 수의 획기적인 감소

즉,  Adapter는 downstream task에 대해서 Compact하고 Extensible한 모델을 제공한다.

  • Compact : 이전의 layer는 freezing 하기 때문에 학습해야하는 parameter만 학습하여 compact하다.
  • Extensible : 이전 layer를 freezing하기 때문에 이전 model의 parameter를 기억하므로 확장성이 증가한다.

https://indicodata.ai/blog/adapters-faster-prediction-with-fewer-parameters/

 

https://public.ukp.informatik.tu-darmstadt.de/MAD-X/paper.pdf

 

+A task : 해당 task에 대해 fine-tuning할 때 사용하는 가중치 Adapter

+A Lang : 해당 언어에 대해 Masked LM으로 학습할 때 사용하는 가중치 Adapter

기존 mBERT에 adapter를 사용하는 것만으로는 성능 향상이 보이지 않는다.

Monolingual model의 tokenizer를 같이 사용하는 경우에는 유의미한 성능 향상을 보임을 알 수 있다.

 

▮ Correlation Analysis

각각의 Task에 대해서 Correlation analysis를 한 결과 Pre-training Corpus Size와 Tokenizer의 성능과 model의 성능이 상관관계가 있음을 확인하였다.

 

Conclusion

  • Model의 성능 향상에 tokenizer의 역할이 중요함을 실험적으로 증명
  • Monolingual tokenizer을 적용하는 것이 Mono/Multi model에 상관없이 대부분 좋은 성능을 보임

 

 


Reference

논문: https://aclanthology.org/2021.acl-long.243.pdf

 

 

 

728x90
Contents