NL-053, Small and Practical BERT Models for Sequence Labeling (2019-EMNLP)

*Distilling
1.위키피디아 코퍼스로 pre-trained BERTstudentdistilling을 한다.
2.이 때는 teacherpredicted prob을 이용한다.
3.Fine-tuned할 때는 distilling을 이용안하는 듯하다.

■ Comment
  • 논문에 경량화에 대한 내용도 있지만, 읽어보면 contribution이 다국어 모델에 관련된 내용도 많다.
  • 즉 다국어 모델을 해야 low resource에 대한 언어를 처리하게 용이하다는 점도 논문의 주된 내용이다.
  • 경량화 방법은 사실 특별한 것은 없고 마지막 logit을 temperature을 이용한 방법이다.
  • 다른 경량화 논문들과는 다르게 GLUE가 아닌 POS tagging과 형태소 분석으로 논문 모델의 성능을 입증한다.
  • 그러다 보니 다른 경량화 모델과 비교가 없었던 것이 아쉬웠지만 사실 논문의 주된 내용은 경량화+다국어이기 때문에 그런 것 같기도 하다.
  • (온전히 나의 추측으론 논문이 short papaer인 것 같은데 ) 크게 인사이트를 보여준 논문은 아닐 수 있지만 short-paper라 EMNLP에 억셉된 게 아닐까 싶기도..

0. Abstract

  • 여기서는 하나의 다국어 sequence labeling 모델을 학습하는 실용적인 방법을 제안하고 이것이 SoTA의 결과를 내며 CPU 한장에서 돌아갈 만큼 작고 빠르다.
  • public 다국어 BERT을 checkpoint로 시작하여 마지막 모델은 6배작고 27배 빠르고 다국어 모델의 SoTA basline보다 성능이 좋다.
  • 특히 우리의 모델은 low-resource 언어에서 좋은 성능을 내고 codemixed 입력에대해 따로 학습없이 작동한다.
    • low-resource는 보통 데이터가 얼마 없는 상황을 말한다고 보면 됨
    • codemixed는 "나는 game을 좋아한다"와 같은 입력이라고 보면 됨
  • 모델의 효과는 70 treebanks와 48 언어의 POS tagging과 morphological(형태소) 예측에 대해 입증한다.

1. Introduction

  • 기존의 형태소 모델들은 각가의 언더나 작은 그룹의 관련된 언어들을 위해 모델들을 분리하여 집중되어 있다.
  • 이 논문에서는 50개의 다양한 언어에 대해 하나의 다국어 모델을 학습, 평가, 적용을 고려한다.
    • 모델의 평가는 Universal Dependencies repository 데이터로 PoS와 형태소 예측을 하게 된다.
  • 다국어 모델을 사용하면 다음과 같은 장점이 있다.
    • Parameter sharing among languages reduces model size and enables cross-lingual transfer learning. We show that this improves accuracy, especially for low-resource languages.
    • No language identification model needed to decide which language-specific model to query. Critically, this reduces system complexity and prevents prediction errors from language identification from propagating into the downstream system.
    • Multilingual models can be applied to multilingual or codemixed inputs without explicitly being trained on codemixed labeled examples. Otherwise, given, e.g. a mixed Hindi/English input, one must decide to query either the Hindi model or the English model, both of which are sub-optimal.
  • 이 논문에서는 기존의 BERT 모델을 fine-tuning 함으로써 특정 언어 모델의 SoTA과 비교할만한 다국어 모델을 만들 수 있고 이 모델은 low-resource 언어들에서 성능이 더 좋다.
  • 다른 다국어 모델 baseline들 보다 큰 마진을 가지고 있다.
  • 그러나 이 모델은 느리고 크고 실제 적용하기 어렵다.
  • 따라서 여기서는 모델을 1 CPU에서 작동하도록 작고 성능은 보존하면서 실용적이게 만들었다.
    • 이는 BERT-based 보다 27배 빠르고 SoTA LSTM 보다 7배 빠르다.
    • 크기는 BERT-based 모델보다 6배 작다고 한다.

2. Multilingual Models for Sequence Labeling

  • 여기서 두 가지 모델로 sequence labeling 문제를 설명하고 학습한다.
  • 1) Meta-LSTM
  • 2) multilingual BERT-based model

2.1 Meta-LSTM

  • Meta-LSTM은 3가지 구성으로 이루어져 있다.
    • character-BiLSTM
    • word-BiLSTM
    • single joint BiLSTM (위의 두 개를 합친 것)
  • Multilingual Meta-LSTM 학습을 세팅하기 위하여 fasttext embeddings을 사용하고 OOV 단어들을 위하여 special unknown token이 사용된다.
  • char-BiLSTM과 word-biLSTM을 먼저 학습하고 마지막으로 Meta-LSTM을 학습했다고 한다.
    • 참고 논문을 보면 meta-LSTM이 joint BiLSTM을 말하는 것 같음 (concat하여 연결)

2.2 Multilingual BERT

  • 기존의 multilingual BERT을 sequence prediction tasks에 맞게 학습하였다.
  • 모든 언어 데이터를 섞어서 첫 번째 word piece의 top layer에 softmax layer을 추가하여 finetuning 하였다.
  • 학습할 때, 모든 treebanks을 concat하고 랜덤하게 예제들을 섞었다.

3. Small and Practical Models

    • BERT가 성능이 확실히 좋으나 훨씬 더 많은 파라미터를 가지고 있다.
  • 이 논문의 목표는 MiniBERT로 파라미터수는 줄이고 인퍼런스 속도는 빠르게 하는 것이다.

3.1 Size and speed

  • 3 layer의 BERT을 선택하였고 MiniBERT라고 명명한다.
  • Meta-LSTM과 같은 layer 수이지만, 훨씬 더 적은 embedding parameters과 hidden units을 사용한다. (Table 2)
  • 인퍼런스 속도의 바틀넥은 Meta-LSTM은 sequential character-LSTM-unroliing에서 일어나고 BERT는 큰 feedforward layers과 attention 계산에서 일어나게 된다. 
    • 시간은 sequence length에 2차비례의 복잡성을 가진다.
  • CPU에서 BERT은 MetaLSTM와 MiniBERT보다 훨씬느리다.
  • GPU에서는 transformers의 parallel 계산량 때문에 BERT가 Meta-LSTM보다 빠르다.
    • 그러나 MiniBERT는 GPU에서도 그냥 BERT보다 빠르다.

3.2 Distillation

  • 위키피다에서 public 다국어 문장들을 이용하여 pretrain을 한다.
  • 각 문장마다 open-source BERT wordpiece tokenizer을 사용하였다.
  • cross-entropy 손실 함수는 다음과 같이 정의한다.
    • 는 softmax 함수, 는 BERT model의 logit, 는 small BERT의 logit
    • T는 temperature이다.
  • mMiniBERT(multilingual model)을 학습하기 위해 unlabeled data의 teacher의 logit을 이용하여 student을 학습한다.
  • 그 다음 teacher을 학습할 때 사용한 labeled data을 이용하여 finetune을 한다.

4. Experiments

4.1 Data

  • CoNLL 2018에서 공유된 POS tagging과 형태소 데이터를 사용하였다.
  • POS는 17개의 labels와 18334 형태소 레이블이 있다.

4.2 Tunning

  • 튜닝한 파라미터들 소개

4.3 Multilingual Models

4.3.1 Multilingual Modeling Results

  • Table 1에서 위의 결과가 단일 언어에 대한 것이고 밑의 결과가 Table 4와 같은 것이다.
    • m이 붙은 모델들은 다국어에 대한 결과이다.

4.3.2 Multilingual Models Comparison

  • mBERT가 다국어 모델 중 성능이 가장 좋다
  • mMiniBERT는 mBERT와 비교할만한 성능을 내고 mMeta-LSTM 보다 성능이 좋다.

4.3.3 Multilingual Models vs Per-Language Models

  • 다국어 모델과 각 언어에 해당하는 모델과 비교를 했을 때 다국어 모델들이 성능이 떨어진다.
  • Meta-LSTM은 BERT에 비해서 성능이 많이 떨어진다.
  • 그 이유는 character-LSTM 때문에 떨어진다고 논문에서는 언급한다.

4.4 Low Resource Languages

  • 500개 학습 예제에 대해 low-resource 언어에 대해 조사를 했다.
    • Tamil (ta), Marathi (mr), Belarusian (be), Lithuanian (lt), Armenian (hy), Kazakh (kk)
    • Table 5가 그것에 대한 결과이다.

4.4.1 BERT Cross-Lingual Transfer

  • mBERT가 individual-BERT보다(적은 데이터를 가진 언어로만 학습한 모델) 성능이 훨씬 더 좋은 것을 알 수가 있다.
  • mBERT을 distilling한 mMiniBERT 조차도 individual-BERT와 성능이 좋다.

4.4.2 mMiniBERT Effectiveness

  • 다국어 베이스라인 mMeta-LSTM은 resource 언어에 대해 잘 작동을 한다.
  • 하지만 mMiniBERT은 SoTA Meta-LSTM보다 POS tagging에서는 모두 좋고 형태소 분석에서는 4개의 언어에서 성능이 좋음을 알 수가 있다.

4.5 Codemixed Input

  • Universal Dependencies’ Hindi-English codemixed data을 이용하여 code-mixed 데이터에 대해 평가를 한다.
    • 이 데이터는 Hindi와 English의 트윗을 기반으로 만들어 진것인가 봄
  • POS tagging을 할 때, code-switched 혹은 foreign-word 토큰에 대해서는 X로 label을 한다고 한다.
  • 즉 codemixed 입력은 한 언어에 대해서는 X로 다른 언어에 대해서는 제래도 된 POS tags가 레이블링의 정답이라고 보면 된다.
  • 이렇게 했을 때, 2nd-most 레이블이 제대로된 레이블인 경우라고 한다.
    • 여기서는 1-best가 X이 레이블일 때를 평가했다고 한다.
    • 정확히 무슨 말인지 모르겠지만..아마 X로 레이블링 된 토큰 같은 경우 2번째로 높은 확률 가지는 POS tagging이 실제 정답인 경우가 많은 것 같다.
    • 하지만 평가를 할 때는 1-bset가 X일 때 맞다고 평가를 한 것 같음
    • 여기서 영어 BERT supervised는 기존의 BERT을 위에서 설명한 세팅으로 finetune을 했을 때의 결과 같다(?).
    • 하지만 mBERT은 supervised codemixed 학습 데이터 없이 그럴싸한 결과를 보여준다고 한다. (이때는 아마 X가 아닌 섞인 언어 모두다 제대로 된 POS을 뽑는 식으로 BERT을 사용해서 평가했을 듯)

5. Conclusion

  • 다국어 모델이 단일어 모델보다 가지는 장점들을 보여준다.
  • 그리고 단일 CPU에서도 잘 돌아가게 distilling한 MiniBERT는 성능도 괜찮고 빠르다.
  • 따라서 mMiniBERT은 강력한 baseline 모델이다.

6. Appendix

  • Appendix에 추가적인 실험 결과가 있어서 궁금하신 분은 보시면 된다.
  • 여기서는 간단히 표하나만 첨부하겠음.
Reference

댓글