NL-053, Small and Practical BERT Models for Sequence Labeling (2019-EMNLP)
*Distilling
1.위키피디아 코퍼스로 pre-trained BERT을
student에
distilling을
한다.
2.이
때는 teacher의
predicted
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
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 손실 함수는 다음과 같이 정의한다.
- 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
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 모델이다.
댓글
댓글 쓰기