본문 바로가기
Paper review

[논문 리뷰] Massive Multi-task Representations with Pre-Finetuning

by mssong92 2022. 9. 24.

1. Abstract

Language Model Pre-Training

unlabeled dataset을 활용한 학습 방법
대표적으로 문장에서 특정 단어를 맞추는 방식으로 Unspervised Learning
ELMO, BERT 등등
 

Multil-task learning

여러 TaskLabeled Dataset을 활용하여 1개의 모델 Supervised Learning
장점 :

  1. 지식 공유 : Task 1을 학습하면서 얻은 정보가 다른 연관 Task들에 좋은 영향을 줌

  2. 과적합 방지 : 여러 task들을 학습하면서 보다 일반화된 특징(generalized representation)을 학습

  3. 계산 효율성 : 동시에 학습하기 때문에 계산 비용이 적다

  4. 다양성 : 현실에서는 더욱 다양한 task들을 수행할 수 있는 모델을 요구함

 

 

그림 1

 

Muppet ( Massive Multi-task Representations with Pre-Finetuning )

 

Muppet은 새로운 Multi-task Learning 학습을 소개하며 RobertaBart Pre-training 모델을 선택하여 추가로 Pre-finetuing을 적용하여 대규모 Multi-task Learning 및 각 성능의 향상을 보여준다.

 

Multi-task Learning은 여러 개의 task를 동시에 잘 수행할 수 있는 모델을 구축하는 것을 목표로 하며, 데이터로부터 특징을 추출하는 모델은 공유하고 Multi-head 구조를 활용해 각 task별로 별도의 네트워크 구조를 활용하여 각 네트워크의 파라미터가 유사해지도록 하는 loss를 추가하여 학습을 진행하게 되고, 이를 통해 각 task에 적합한 네트워크가 학습되면서 과적합을 방지해주게 된다.

 

RobertaFaceBook에서 발표한 Pretraining모델로서 Bert를 기반으로 하지만 기존 BertNext Sentence Prediction을 제거하고 특정 단어를 마스킹하는 부분(Masked Language Model)만 사용하여 학습하고, 전처리에서 마스킹을 미리 하지 않고, 모델에 입력할 때 매번 마스킹을 변경하며 학습함으로서 Bert를 개선한 모델이다.

 

BART (Bidirectional and Auto-Regressive Transfomers)Bidirectional TransfomerAuto-Regressive Transfomer가 결합된 모델로서, 입력 텍스트 일부에 노이즈를 추가하여 이를 다시 원문으로 복구하는 autoencoder의 형태로 학습을 진행한다.

 

2. Task

Diverse Tasks

보다 일반적인 언어 특징을 잘 학습하기 위해 본 논문에서는 4가지의 different domains를 학습한다.

1.Classification : 분류
2.Commonsense Reasoning : 상식 추론
3.MRC(Machine Reading Comprehension) : 기계 독해
4.Summarization : 요약

모든 Task의 학습을 위한 데이터셋으로 총 47개의 데이터셋을 사용했다.

 

Loss Function

여러 데이터 셋에 대해 학습하기 위해 본 논문의 모델은 각 Task에 대해 Loss를 최적화 하기 위해 Loss Function을 모델별로 다르게 사용하며 Loss Function은 아래 표1과 같다.

표 1

본 논문에서는 Multi-task 학습을 위해 단일 Task에의 기울기를 따라 gradient descent가 되면 안된다고 얘기한다.

이를 극복하기 위해 각 배치가 여러 Task로 구성되어 있는지 확인하고, 최종 업데이트를 위해 누적된 기울기를 계산한다고 하며, 모델 학습에 64개의 GPU를 사용하므로 각 배치는 64개의 SamplingTask에 대한 Gradient로 구성된다고 한다.

 

또한 본 모델에서는 Roberta, Bart를 처음부터 만드는 것이 아닌, 이미 self-supervised pre-training 되어 있는 모델을 통해 시작하며 이는, 이미 Pre-training 되어 있는 모델의 지식을 상속하고, 학습 속도를 높일 수 있다고 말한다.

Pre-training되어 있는 모델은 일반적으로 fine-tuning시에 기존의 학습된 표현들의 표현력 저하를 의미하는 representational collapse가 나타날 수 있는데, 이를 최소화 하고자 Better Fine-tuning by Reducing Representational Collapse (2020.08.06) 논문에 나와있는 R3F, R4F 방법 (전체적인 모델의 변화량을 제한) 을 채택했다고 한다.

 

초기 실험에서 논문의 저자는 R3F 방법이 MUPPETBART를 작동하게 하는데 중추적인 역할을 했다고 하며, 모든 fine-tuningStochastic Gradient Descent(SGD) 방법을 사용했다고 하며, 클래스 분포가 모델 예측과 함께 균일하게 분포된 경우 모든 Loss가 동일한 값을 갖도록 Scale했다고 한다.

 

Sampling

Multi-task에서 다양한 task의 균형을 맞추기 위한 다른 방법으로 Sampling을 소개하는데, Multi-task중에 작은 데이터 셋을 Up-sample 하고, 큰 데이터 셋을 Down-sample 하여 데이터 셋 Size간의 균형을 맞추는 방법이라고 한다.

일반적인 Multi-task Learning에서는 결과가 좋지만, 본 논문의 방법인 pre-trained 되어있는 모델의 Multi-task Learning에서는 잘 작동하지 않는다고 말하며, 사용하지 않는다.

 

3. Dataset

본 논문의 성능 측정을 위한 데이터셋으로 pre-finetuning data에 포함되지 않은 Dataset도 추가했으며, Task를 위한 데이터 셋으로 GLUE Benchmark taskMRC DataSet을 사용했으며, GLUE가 아닌 CommonsenseSummarization 데이터 셋도 포함했다.

 

GLUE Datasets

MNLI(Multi-Genre Natural Language Inference): entailment classification task
QQP(Quora Question Pairs): Quora에 올라온 질문 페어가 의미적으로 동일한지 확인하는 task
RTE(Recognizing Textual Entailment): MNLI와 유사하나 데이터가 적음
QNLI(Question Natural Language Inference): SQuAD의 이진분류 버전, paragraphanswer를 포함하는지 안하는지 확  인하는 문제
MRPC(Microsoft Research Paraphrate Corpus): 문장쌍의 유사성 확인하는 문제
SST-2(Stanford Sentiment Treebank): 단문장 이진분류문제. 영화리뷰에서 추출된 문장에 감정이 표기되어있음
SNLI : (MNLI와 같은 포맷)
entailment : premisehypothesis를 포함하는지

MRC(Machine Reading Comprehension)

SQuAD : paragraphquestion pair가 주어지면 정답을 포함하는 text span을 찾는 task

 

4. Experiment Setup

본 논문에서는 RoBERTa (Liu et al., 2019b) BART (Lewis et al., 2019)를 초기 Pre-trained 모델로 선택하여

논문에서 소개한 MUPPET방식으로 Pre-finetuning을 진행 했으며 모든 문장 예측 데이터셋은 별도의 Classification Head(Fine-tune Layer)가 있다고 하며, 요약을 위해서는 parameters를 추가하지 않고 BARTdecoderoutput layer를 그대로 사용한다고 한다.

Commonsense MRC 데이터 셋은 각 task의 데이터 셋마다 별도의 Classification Head를 사용하는 것이 심각한 Overfitting으로 이어지는 것을 보았고, 통합된 Classification Head를 사용한다고 한다.

 

또한 Base 모델 및 Large 모델 모두 pre-finetuning을 진행하였으며, 각 모델이 수렴할 때까지 64개의 GPU로 학습을 진행 했으며, 모델은 구성에 따라 1~4일 정도 학습이 진행되었다고 한다.

 

 

5. Experiment

아래 실험 결과인 표2, 표3를 통해 MUPPET 모델이 Task 전반에 걸쳐 일관되게 성능이 개선됨을 볼 수 있다.

BoldMUPPET 모델의 결과를 나타내며, 밑줄은 Task의 최고의 성능을 나타낸다.

표2
표3

 

 

아래 실험 결과인 표4, 표5pre-finetuning에서 사용되지 않은 데이터 셋의 다양한 Task에 대한 결과를 나타낸다.

BoldMUPPET 모델의 결과를 나타내며, 밑줄은 Task의 최고의 성능을 나타낸다.

 

표4(왼쪽)  표5(오른쪽)

 

 

6. Conclusions

해당 논문에서 저자는 마지막에 MTL 모델 성능을 low resources에서도 실험해봤고, 34~40개의 taskpre-finetuning한 모델이 기존의 RoBERTa 모델보다 훨씬 더 적은 데이터로 더 높은 성능과 정확도에 도달하는 것을 말하며 MTL의 보다 효율적이고 좋은 방식을 얘기하며 논문을 마친다.

 

기존의 BERT와 같은 Pre-training 모델 및 각 Task에 대한 Fine-tuning을 주로 봐왔는데, Multi-task Learning을 여러 형태로 변경하여 학습하고, 기존의 Pre-training Fine-tuning 모델보다 다양한 Task에서 더 좋은 성능을 볼 수 있음을 확인했고,

논문에서 잠깐 나온 MT-DNN (Multi-task Learning 모델) 에서 SNLI, SciTail, GLUE에 대해 10NLU task에서 SOTA의 결과를 낸 것을 보고 MTL의 중요도가 높아져가고 있는 것을 확인했다.

댓글