Paper Review/NLP

[Paper Review] Improving Language Understanding by Generative Pre-Training

YyunS 2023. 4. 5. 10:50

NLU(Natural Language Understanding) 문제는 다음과 같은 task를 포함하고 있다.
NLU tasks
- 텍스트 함의(textual entailment)
- 질의응답(question answering)
- 문서 분류(document classification) 
- 문장 유사도(semantic similarity)
위와 같은 NLU task는 방대한 양의 unlabeled data와 상대적으로 부족한 양의 labeled data로 인해 학습이 어렵다는 문제가 있다. 해당 논문은 generative pre-training 방식을 제안함으로써 이 문제를 해결하고자 한다. 이전의 접근 방식들과 달리 fine-tuning에서 세부 작업에 맞는 입력 변환을 사용함으로써 효율적인 학습을 진행한다. 
 

Introduction

NLP에서 raw text를 효율적으로 학습하는 것은 매우 중요하다. 대부분의 딥러닝 학습은 방대한 labeled data를 필요로 하지만, 이는 반대로 말하면 부족한 labeled data는 딥러닝 네트워크를 충분히 학습시키지 못할 수 있다. 이러한 상황에서는 레이블이 없는 데이터에서 언어 정보를 추출할 수 있는 모델이 좋은 대안이 될 수 있다. 또한, 충분한 지도 학습이 가능함에도 unlabeled data를 활용하여 언어 지식을 습득한다면 성능을 더욱 높일 수도 있다. 이것의 가장 대표적인 예시로 사전훈련된 Word Embeddings를 사용하여 NLP tasks에서의 성능을 높이는 사례가 있다.
하지만 unlabeled data를 활용하여 단어 수준의 정보를 넘어선 정보를 학습하려면 두 가지 문제점을 해결해야 한다. 첫 번째로 어떤 optimization objective를 활용할 것인지를 정해야 한다. 두 번째로 학습된 정보를 "메인 task에 어떻게 적용할 것인지"에 대한 방법을 고안해야 한다. 기존의 방식은 task-specific transfer을 사용하여 target task에 적용하는 것이 복잡했다.
GPT는 pre-training과 fine-tuning을 결합한 semi-supervised 방법을 고안했다. 모델은 기존의 transformer를 기반으로 한 구조를 채택했으며, traversal-style의 task-specific input adaptations를 통해 fine-tuning 과정에서 미세한 조정으로 적용을 가능하게 한다.
GPT는 natural language inference, question answering, semantic similarity, 그리고 text classification으로 12가지 중 9가지 tasks에서 state of the art를 달성했다.
 

Model Framework

GPT의 학습은 pre-training과 fine-tuning 두 가지 과정을 거친다.
 

Pre-training

Unsupervised tokens $U$가 주어질 때, 다음 language modeling objective를 최대화한다:
$$L_{1}(U) = \sum_{i}logP(u_{i}|u_{i-k}, \cdots, u_{i-1}; \theta)$$
 위 objective 수식에서 $k$는 context window의 크기, $P$는 pre-train 모델의 출력 softmax값이다. 파라미터 $\theta$는 SGD로 학습된다.
GPT는 transformer 기반의 decoder 구조를 사용한다. LM 구조는 다음과 같다:
$$h_{0} = UW_{e} + W{p}$$
$$h_{l} = transformer\_block(h_{l-1})\forall i \in [1, n]$$
$$P(u) = softmax(h_{n} W_{e}^{T})$$
위 수식에서 $U$는 context vector, $n$은 레이어 개수, $W_{e}$은 토큰 임베딩, 그리고 $W_{p}$은 포지션 임베딩을 나타낸다.
 

Fine-tuning

Pre-training 과정을 거친 후 모델의 fine-tuning을 시작한다. Labeled dataset $C$는 입력 토큰 $x^{1}, \cdots, x^{m}$와 정답 레이블 $y$로 구성되어 있다. 입력은 pre-trained 파라미터를 거쳐서 output layer $W_{y}$에 계산되어 결괏값을 도출한다.
$$P(y|x^{1}, \cdots, x^{m}) = softmax(h_{l}^{m} W_{y})$$
Fine-tuning method는 다음 objective를 최대화한다:
$$L_{2}(2) = \sum_{(x, y)}logP(y|x^{1}, \cdots, x^{m})$$
Language modeling을 거쳐 fine-tuning을 하는 방법은 다음 두 가지 이점을 가진다.

1. Supervised model의 일반화 성능을 향상한다.
2. 수렴을 가속화한다.

최종적으로 GPT는 다음 objective를 최적화한다:
$$L_{3}(C) = L_{2}(C) + \lambda \times L_{1}(C)$$

Fine-tuning에서 추가로 학습되는 파라미터는 $W_{y}$와 delimiter token을 위한 embeddings 뿐이다.

 

Task-specific input

Text classification와 같은 task는 간단히 fine-tuning을 통해 학습시킬 수 있다. 하지만 question answering과 textual entailment와 같은 task의 경우 입력이 sentence pairs, triplets of document, question and answers로 이루어져 있기 때문에 GPT의 입력 형태인 연속된 텍스트 시퀀스로 변환하는 과정이 필요하다. 여기서 delimiter token “$”을 사용한 input transformation을 거친다(모든 transformation은 랜덤 하게 초기화된 start token $<s>$와 end token $<e>$을 삽입한다).

Textual entailment task는 delimiter token을 사이에 낀 채로 premise $p$와 hypothesis $h$를 concatenate 한다.
Similarity task는 입력인 두 문장의 순서가 정해지지 않으므로 위의 그림처럼 순서의 경우 두 가지에 대한 결괏값을 더해 최종 output을 도출한다.
Question Answering and Commonsense Reasoning task는 입력으로 context document $z$, question $q$, 그리고 보기 답안 $a_{k}$가 주어진다. 입력은 concatenate 되어 $[z; q; \$; a_{k}]$가 된다. 모든 답안에 대한 입력이 각각 계산되어 output은 확률 분포를 나타낸다.

 

3. Experiments

Pre-training에는 BooksCorpus Dataset과 1B Word Benchmark 데이터가 사용되었으며, 위 12개의 tasks 중에서 9개에서 SOTA를 달성했다.

 

Discussion

GPT-1과 BERT는 pre-trainingr과 fine-tuning 과정을 거친다는 점에서 비슷하지만, 세부적인 부분에서 차이점이 있다.

GPT-1 BERT
단방향 양방향
fine-tuning에서 마지막 레이어 $W_y$만 학습 fine-tuning에서 전체 파라미터 학습
Transformer Decoder based architecture Transformer Encoder based architecture
Masked LM Standard LM
Input transformations($) Task-specific input

GPT-1는 BERT 보다 비교적으로 설명이 자세한 논문이었다. 논문에 삽입된 수식을 통해 모델의 정보를 조금 더 직관적으로 확인할 수 있었다. GPT-1 논문을 참고하고 싶은 분들은 아래 링크에서 볼 수 있다.

https://s3-us-west-2.amazonaws.com/openai-assets/research-covers/language-unsupervised/language_understanding_paper.pdf