Natural Language Processing

Improving Language Understanding by Generative Pre-Training

Attention is All You Need 2021. 7. 3. 16:05

1. 논문 제목 : Improving Language Understanding by Generative Pre-Training (GPT1)
2. 발표한 학회 -
3. 논문의 핵심 키워드 : Transformer, Decoder, Auto-regressive, pretraining, fine-tuning, semi-supervised, generative

4. 논문요약 :

Transformer 모델의 Decoder 부분만을 취하여서, auto-regressive한 방법으로 pretraining을 진행한 모델.
unsupervised learning의 방법으로 pretraining을 진행하고, supervised learning의 방법으로 fine-tuning을 진행하여서 필요한 task에 adapt 시킬 수 있으며, zero-shot의 특성을 엿볼 수 있는 모델을 소개한 논문.


5. 논문에서 소개하는 이전 SOTA / 기존 방법들의 한계:

1) unlabeled text corpora는 정말 많은 반면에, labeled data는 정말 부족하고, 이는 기존의 discriminative 모델들이 충분히 학습하지 못하는 결과로 이어진다.
2) 충분한 양의 labeled data가 존재하더라도, unlabeled data를 활용하여 unsupervised learning으로 representation을 학습시키면 더욱 좋은 성능을 이끌어낼 수 있다.
3) 기존에는 unsupervised learning으로 representation을 학습시키지 못한 것은 두 가지 이유가 있었는데, 
"어떤 optimization objective를 사용하여 학습시키는 것이 용이한지 불분명하며",
"학습한 representation을 활용하여 원하는 target task로 transfer하기 위한 효율적인 방법이 부재"하기 때문이다.
4) 이전에 사용되었던 unsupervised learning 방법의 성공적인 예시는 word embedding이었는데, 
이는 word-level information만은 가지고 있어서 더욱 큰 문맥 정보를 capture하는데 한계가 있다.
5) "Semi-supervised sequence learning(Dai et al)"은 해당 논문에서 참조한 가장 근접한 이전 연구인데, 
이는 Language modeling을 진행하는 모델로 LSTM을 사용하여 긴 sequence에 대해 적합하지 않다.
6) 이전에 Pretrained된 모델들을 target task에 adapt하기 위해서 task specific architecture를 이용하였는데, 이는 pretrain된 모델만을 최대한 활용하는 것을 방해한다.

 

 

 

6. 논문에서 문제점을 해결하기 위해서 사용한 방법론:

1) unsupervised pretraining과 supervised fine-tuning이라는 semi-supervised approach를 통해서 어떠한 task에도 adapt할 수 있는 universal representation을 학습시킬 수 있다.
2) GPT1의 핵심은 unsupervised pretraining을 진행한 모델에 최소한의 변형을 가한 채로, 모든 task들에 transfer하여 adapt할 수 있게 하는 것이다.
3) Language modeling을 진행하는 모델로 "Attention is All You Need(Vaswani et al)"의 transformer를 사용하여 긴 sequence를 처리하는데 보다 적합하다.
구체적으로, transformer의 Decoder만을 차용하여 encoder의 output과 decoder의 input 사이의 attention을 진행하는 layer를 제외하여, 각 블록마다 masked multi self attention layer와 feed forward layer만을 두었고,
모델의 끝에 Linear layer를 추가하여 task에 adjust할 수 있도록 설계하였다.

 

모델에서 사용한 블록은 12개이며, 12개의 multihead, 768 diemnsional state를 사용했다.

 

MLE Loss
Auxiliary Objective
Final loss considering both objectives

4) Unsupervised Pretraining을 진행한 방법은, 전통적으로 Language Modeling에서 많이 사용되던 MLE을 이용한 방법을 사용하였다.
5) Supervised Fine-tuning을 진행한 방법은,
"Semi-supervised multitask learning for seqeunce labeling(Rei et al)"이 제시한 auxiliary objective를 기반으로 위의 MLE Loss에 더하여, task에 맞는 fine-tuning을 진행하였다.
6) Fine-tuning 과정에서 추가로 요구되는 모델의 변화는 task에 맞는 linear layer의 weight를 model의 끝에 추가하는 것과, delimiter token($)의 embedding 뿐이다.
7) classification과 다르게 QA와 Textual Entailment와같은 task들은 input의 형식에 structure이 존재하므로, 이를 수행하기 위해서,
"Reasoning about entailment with neural attention(Rocktaschel et al)"이 제시한 traversal-style approach를 사용해서,
input으로 주어진 structured input을 GPT가 pretraining을 진행했을 때의 ordered sequence와 같은 형식으로 바꾸어서 fine-tuning을 진행하였다.

 

 

Types of datasets within GLUE
Natural Language Inference
Question Answering
Classification, Semantic Similarity

 

7. 사용한 데이터셋, 측정한 metric, 학습 진행을 위해서 사용한 hyperparameter, 기존모델대비 성능:

1) 데이터셋 : BooksCorpus dataset(Pretraining), GLUE multi-task benchmark(Fine-tuning)
2) 수행한 task : natural language inference, question answering, semantic similarity, and text classification
3) 학습을 위해서 사용한 hyperparameter :
vocabulary -> BPE vocab with size 40000
batch size -> 64(pretraining), 32(fine-tuning)
optimizer -> Adam
learning-rate -> 2.4e-4 with cosine schedule(pretraining), 6.25e-5 with linear schedule(fine-tuning)
dropout -> rate=0.1
activation function -> GELU
4) 사용한 metric : accuracy(higher the better), F1(higher the better), mc(higher the better)
5) 기존 모델 대비 성능 향상:
SNLI(Natural Language Inference) : 1.5% improvement compared to previous SOTA
SciTail(Natural Language Inference) : 5% improvement compared to previous SOTA
QNLI(Natural Language Inference) : 5.8% improvement compared to previous SOTA
SNLI(Natural Language Inference) : 0.6% improvement compared to previous SOTA
RTE(Natural Language Inference) : 56% accuracy, when previous SOTA is 61.7%
Story Cloze(Question answering and commeonsense reasoning) : 8.9% improvement compared to previous SOTA
RACE(Question answering and commeonsense reasoning) : overall 5.7% improvement compared to previous SOTA
QQP(Semantic Similarity) : 4.1% improvement compared to previous SOTA
COLA(Classification) : mathews correlation score 45.4, when previous SOTA is 35.0
SST-2(Classification) : 91.3% accuracy, when previous SOTA is 93.2%
Overall score on GLUE Benchmark : 72.8, when previous SOTA is 68.9%

 

 

8. 추후에 발전할 여지가 있는 점:

1) Natural Language Inference에서 좋은 성능을 보인 점으로 미루어 보았을 때, multi-task training으로부터 더욱 좋은 성능을 이끌어내는 것을 기대할 수 있다.
2) Generative model이 pretraining에서 language modeling을 전반적으로 학습하여, 다양한 task에 adjust하는 것으로 논문에서 주장하였는데, 이에 대한 근거로 기존의 LSTM 모델들보다 zero-shot performance이 돋보였다는 것이고, 추후에 더욱 학습된 모델을 통해 이를 다시 논해볼 수 있다.
3) Transformer 기반의 모델로 pretraining을 진행하고, data set에 맞게끔 fine-tuning을 진행하는 방법론이 NLP에서 standard가 되어 많은 후속 연구가 나올 것으로 예상하고, 더 나아가서 unsupervised learning이 어떻게 작동하는지 밝혀낼 필요가 있다.