https://cdn.openai.com/research-covers/language-unsupervised/language_understanding_paper.pdf
Abstract
- 자연어 이해는 textual entailment, question answering, semantic similarity assessment, document classification 등 다양한 작업으로 구성됨
- Unlabeled corpora는 풍부하지만, 이러한 특정 작업을 학습하기 위한 labeled corpora는 부족하여 모델이 차별적으로 학습하기 어려움
- Open AI는 다양한 unlabeled text corpora에 기반한 GPT language 모델과 specific task 각각에 대한 fine-tuning으로 이러한 task를 진행하고 이에 대한 큰 이점을 확인할 수 있음을 보여줌
- Step1: Unlabeled text corpora로 학습하여 GPT 모델을 통해 embedding vectors를 찾아냄
- Step2: Labeled text corpora for a specific task에 대한 fine-tuning
- OpenAI의 general task-agnostic 모델은 각 task를 위해 특별히 제작된 아키덱처를 사용하며 차별적으로 학습된 모델을 능가함
- OpenAI는 이전의 접근 방식과 다르게, fine-tuning 과정에서 효과적인 transfer 달성하며 모델 아키텍처를 최소한으로 변경하는 task-aware input transformations를 사용함
- 12개의 연구 작업 중 9개에서 최신 성능을 크게 향상함
- 다음 부문에서 절대적인 향상을 달성함:
- 상식추론commonsense reasoning(Stories Cloze Test) 8.9%
- 질의응답question answering(RACE) 5.7%
- 텍스트 함의textual entailment(MultiNLI) 1.5%
Introduction
- Raw 텍스트에서 효과적으로 학습하는 능력은 NLP(Natural Language Processing)에서 지도 학습supervised learning에 대한 의존도를 완화하는 데 중요함
- 대부분의 딥러닝 방법은 상당한 양의 수동적으로 라벨링된 데이터를 필요로 함
- 이러한 상황에서, unlabeled 데이터에서 언어 정보를 활용할 수 있는 모델은 시간이 많이 걸리고 비싼, 더 많은 annotation 수집에 대한 유용한 대안을 제공함
- 또한, supervised learning이 가능한 경우에도 unsupervised 방식으로 표현을 학습하면 상당한 성능 향상을 제공할 수 있음
- 이에 대한 가장 강력한 증거는 pre-trained word embeddings을 광범위하게 사용하여 NLP 작업에서 성능을 향상한 것
- 그러나 unlabeled text에서 word-level 이상의 정보를 활용하는 것 어려운 과제
- Unlabeled text data만으로 어떠한 목적 함수가 transfer에 가장 효과적인지 분명하지 않음
- Target task가 주어졌을 때 각 task에 대해 가장 효과적으로 transfer 하는 방법이 무엇인지 consensus가 없음
Framework
- 학습 절차는 두 단계로 구성되어 있음
- 많은 양의 text corpus에서 high-capacity language 모델 학습 단계
- fine-tuning 단계: labeled 데이터로 모델을 차별적인 task에 적용시킴
Unsupervised pre-training
- U = {u1, ..., un}: Unsupervised token corpus
- Standard language modeling 함수의 목표: L1(U)를 최대화
- k: the size of the context window
- P: 해당 neural network에 의해 모델링 된 조건부 확률
- ϴ: stochastic gradient descent로 학습되는 파라미터
- GPT의 구조: multi-layer transformer decoder
- transformer의 변형
- h0: 처음 input
- hl: l번째 hidden state
- l-1번째 hidden state vector를 입력받음
- input context tokens에 multi-headed self-attention 연산을 적용한 후 position-wise feedforward layers를 적용하여 대상 토큰에 대한 output 분포를 생성함 = 하나의 decode block을 통과시키는 과정
- 이 과정을 n번만큼 반복 (= decode block을 몇 개(n)를 쌓느냐가 hyper parameter)
- softmax를 통해 그 다음 토큰이 무엇인지 예측
- U = (u-k, ..., u-1): context vector of tokens
- n: the number of layers
- We: token embedding matrix
- Wp: position embedding matrix
Supervised fine-tuning
*GPT: 다음 단계에서 수행하고자 하는 supervised learning task에 대한 데이터셋이 있을 때 이에 대한 fine-tuning을 하고자 함
* language model: 앞에 주어진 시퀀스를 통해 다음 단어가 무엇인지를 예측하고자 함
- input은 pre-trained 모델을 통해 최종 transformer block의 activation hlm을 얻음
- hlm을 매개변수 Wy와 함께 추가된 linear output layer에 입력하여 y를 예측함
- softmax를 사용해서 확률 값을 계산함
- 이 과정을 통해 (4) 함수를 극대화할 수 있음
- C: labeled dataset , 각 요소는 input 토큰의 시퀀스(x1,..., xm)와 레이블 y로 구성
- L1: language model에 대한 목적 함수
- L1(U): supervised task가 아닌 전체 unsupervised text corpus에 대한 language model의 목적 함수. 이를 사용하여 먼저 pre-training을 함
- supervised learning에 해당하는 목적 함수(L2)뿐만이 아니라 fine-tuning의 보조 함수를 language 모델링에 포함하면 아래 두 가지의 장점이 있음
- supervised learning에 대한 generalization ability가 향상됨
- 학습 속도가 빨라짐(= convergence가 더 빨리 늘어남)
- 함수(weight λ)를 최적화함
L1(U)를 통해서 먼저 language model을 pre-training하고 다시 task specific 한(labeled) 데이터셋이 주어지면
해당 데이터셋에 대한 language model fine-tuning과 supervised learning에 해당하는 목적 함수를 함께 결합해서 극대화함으로써
더 좋은 성능을 얻을 수 있음
Task-specific input transformations
- GPT는 task specific한 input의 형태가 있음
- Figure 1
- 왼쪽: 이 작업에 사용된 transformer 아키텍처 및 학습 함수
- 오른쪽: 다양한 task에 대한 fine-tuning을 위한 입력 변환, 모든 구조화된 입력을 토큰 시퀀스로 변환하여 pre-trained 모델에서 처리한 후 linear+softmax layer로 변환
- 입력 변환을 통해 작업 전반에 걸쳐 아키텍처를 광범위하게 변경하는 것을 피할 수 있음
- Transformer의 decoder block을 통해 language model을 만드는 것은 똑같은 과정인데, 그 이후에 특정한 task가 무엇이냐에 따라서 실제 입력의 구조가 달라질 수 있음을 보여줌
Classification
- Start와 Extract 토큰 사이에 text를 넣음
Entailment
- Natural language inference 과정에서 두 문장(premise, hypothesis) 사이에 delim을 두고 구분함
- 하나의 transformer output을 이용해서 다시 linear layer에 결합함
Similarity
- 비교하는 두 문장의 고유한 순서가 없음
- 이를 반영하기 위해 첫 번째 문장과 두 번째 문장, 두 번째 문장과 첫 번째 문장의 순서를 바꾸어 가능한 순서를 모두 포함함
- 각각 독립적으로 transformer decoder block에 처리하여 두 개의 시퀀스 hlm을 생성하고 concatenate 하여 다시 linear layer에 입력함
Multiple choice
- context와 answer들의 조합들을 input으로 함
- output hidden state vector를 각각 구한 다음에 전부 linear layer에 입력하고 output에 sofmax를 사용함
Experiments
- Dataset
- BooksCorpus dataset for training the language model
- 출판되지 않은 다양한 장르의 7,000 이상의 도서
- 1B Word Benchmark
- sentence level에서 shuffle하여 long-range structure가 해체된 데이터
- BooksCorpus dataset for training the language model
- 4가지 task를 사용함
- Finetuned Transformer LM = GPT와의 비교
- Natural language inference
- Table 2: 자연어 추론 작업natural language inference에 대한 실험 결과
- 5x: 5개의 모델의 앙상블
- 모든 데이터셋은 정확도를 평가 지표로 사용함
- Question Answering
- Table 3: 질의응답question answering과 상식 추론commonsense reasoning에 대한 결과
- 9x: 9개의 모델의 앙상블
- Sentence similarity
- Classification
- Table 4: 의미론적 유사성semantic similarity 및 분류classification 결과
- Natural language inference
- Finetuned Transformer LM은 평가한 12개의 데이터셋 중 9개의 데이터셋에서 새로운 최첨단new state-of-the-art 결과를 얻음
- 소규모 데이터셋 STS-B(≈5.7k)부터 가장 큰 데이터셋 SNLI(≈550k)까지, 다양한 크기의 데이터셋에서 Finetuned Transformer LM이 잘 작동함
Analysis
- 왼쪽: transformer layer 수에 따른 accuracy
- 두 가지의 데이터셋에 대해서 decoding block을 최대 12개까지 쌓음
- train, test 데이터 모두에 대해 decoding block 수 증가에 따라 정확도 향상
- # of layers = 12 부터는 수렴 양상
- 오른쪽: LM pre-training 업데이트의 함수 (transformer vs. LSTM)
- 서로 다른 task에 대한 zero-shot 성능의 진화를 보여주는 그림
- task 당 성능은 단일 모델로 random guess baseline과 현재 가장 우수한 모델 사이에서 정규화함
- 4가지 task에서 transformer가 LSTM보다 성능이 좋음
- Mehod
- Transformer w/o pre-training: transformer block에 pre-training을 하지 않고 모형을 만든 것 = supervised learning만 목적 함수를 쓴 것
- Transformer w/o aux LM: task specific한 language model들에 대한 목적 함수 부분을 제외한 것
- LSTM w/ aux LM: LSTM을 통해서 language model의 task만 추가적으로 사용한 것, 목적함수로 사용한 것
- 결과
-
성능이 안정적이고 꾸준히 증가함
-
LSTM이 zero-shot에서 더 높은 분산을 나타냄 (= 낮은 정확도)
-
Conclusion
- GPT와 차별적 fine-tuning을 통해 single task-agnostic model로 강력한 자연어 이해를 달성하기 위한 프레임워크를 도입함
- 차별적인 작업에 대한 성능을 높이기 위해 unsupervised (pre-) training을 사용하는 것은 오랫동안 기계 학습 연구의 중요한 목표
- 본 논문의 연구는 상당한 성능 향상을 실제로 달성할 수 있음을 시사하며, 이 접근 방식에서 어떤 모델(transformer)과 데이터셋(text with long range dependencies)이 가장 잘 작동하는지에 대한 힌트를 제공함
- 이를 통해 자연어 이해와 다른 영역 모두에 대한 unsupervised learning에 대한 새로운 연구가 가능해져 unsupervised learning이 작동하는 방법과 시기에 대한 이해도를 더욱 높이는 데 도움이 되기를 바람