0. Abstract
자연어 이해는 텍스트 수반, 질문 답변, 의미적 유사성 평가와 문서 분류와 같은 매우 다양한 task로 구성된다. 대규모의 라벨링되지 않은 텍스트 코퍼스는 풍부하지만, 특정 task를 학습하기 위한 라벨링된 데이터가 부족해, 차별적으로 학습된 모델이 적절한 성능을 발휘하기가 어렵다. 본 논문은 라벨이 없는 다양한 텍스트 코퍼스에 대해 언어 모델을 생성적으로 학습한 다음 각 특정 작업에 대해 차별적으로 fine-tuning하면 이러한 작업에서 큰 이득을 얻을 수 있음을 입증한다. 이전 접근 방식과 달리 fine-tuning 중에 task-aware input transformations을 사용해 모델 아키텍처를 최소한으로 변경하면서 효과적인 transfer를 달성한다. 자연어 이해에 대한 다양한 벤치마크에서 이러한 접근 방식의 효과를 입증했다. 우리의 작업에 구애받지 않는 모델은 각 task에 맞게 제작된 아키텍처를 사용하는 차별적으로 훈련된 모델보다 성능이 뛰어나며, 연구 대상 12개 작업 중 9개 작업에서 최신 기술을 크게 향상시켰다.
1. Introduction
NLP에서 supervised learning에 대한 의존도를 낮추기 위해서는 raw text로부터 효과적으로 학습할 수 있는 능력이 필수적이다. 대부분의 딥러닝 방식은 다량의 수동 라벨링된 데이터가 필요하기 때문에 리소스가 부족한 많은 도메인에서는 적용이 제한된다. 이 상황에서 라벨링되지 않은 데이터의 언어 정보를 활용할 수 있는 모델은 시간과 비용이 많이 드는 annotation을 수집하는 것을 대신할 수 있는 유용한 대안이 될 수 있다. 더욱이, 상당한 supervision이 가능한 경우에도 unsupervised 방식으로 좋은 표현을 학습하는 것은 상당한 성능 향상을 가져올 수 있다. 지금까지 이에 대한 가장 강력한 증거는 사전 학습된 단어 임베딩을 광범위하게 사용해 다양한 NLP 작업의 성능을 개선한 것이다.
그러나 라벨이 없는 텍스트에서 단어 수준 이상의 정보를 활용하는 것은 크게 두 가지 이유로 어렵다. 첫째, 어떤 유형의 optimization 목표가 transfer에 유용한 텍스트 표현을 학습하는 데 가장 효과적인지 불분명하다. 둘째, 학습된 표현을 목표 작업에 가장 효과적으로 전송하는 방법에 대한 합의가 이루어지지 않았다. 기존 기법에는 모델 아키텍처를 과제별로 변경하거나, 복잡한 학습 체계를 사용하거나, 보조 학습 목표를 추가하는 등의 조합이 포함된다. 이러한 불확실성으로 인해 언어 처리를 위한 효과적인 semi-supervised learning approach들을 개발하기가 어려웠다.
이 논문에서는 unsupervised pre-training과 supervised fine-tuning을 조합해 언어 이해 작업에 대한 semi-supervised approach을 살펴본다. 논문의 목표는 다양한 작업에 거의 변형 없이 적용할 수 있는 보편적인 표현을 학습하는 것이다. 라벨이 없는 대규모 text corpus와 수동으로 annotation을 한 training example(target tasks)에 액세스할 수 있다고 가정하자. 본 논문의 setup에서는 이러한 target task가 라벨링되지 않은 corpus와 같은 도메인에 있을 필요는 없다. 2단계 training procedure를 사용한다.
- unlabeled data에 language modeling objective를 사용해 신경망 모델의 초기 파라미터를 학습한다.
- 그런 다음, 해당 supervised objective를 사용해 이러한 파라미터를 target task에 맞게 조정한다.
본 논문에서는 다양한 작업에서 강력한 성능을 발휘하는 것으로 입증된 Transformer를 모델 아키텍처로 사용한다. 해당 모델 선택은 우리에게 recurrent network와 같은 대안에 비해 텍스트의 long-term dependencies를 처리하기 위한 보다 구조화된 메모리를 제공하므로 다양한 작업에서 robust한 transfer 성능을 제공한다.
우리는 자연어 추론, 질문 답변, 의미적 유사성, 텍스트 분류 등 4 가지 유형의 언어 이해 작업에 대한 접근 방식을 평가한다. 일반적인 task-agnostic model은 각 task를 위해 제작된 아키텍처를 사용하는 훈련된 모델보다 성능이 뛰어나며, 연구 대상 12개 과제 중 9개 과제에서 최신 기술을 크게 상승시켰다. 또한 4 가지 setting에서 pre-trained model의 zero-shot 동작을 분석해 다운스트림 작업에 유용한 언어 지식을 습득하는 것을 입증했다.
2. Related Work
Semi-supervised learning for NLP
우리의 작업은 크게 자연어를 위한 semi-supervised learning의 범주에 속한다. 이 패러다임은 sequence labeling 또는 text classification과 같은 작업에 적용되면서 상당한 관심을 불러일으키고 있다. 이전에는 단어 수준의 정보를 전이했다면, 우리는 더 높은 수준의 의미를 포착하는 것을 목표로 한다. 최근의 접근 방식은 labeling 되지 않은 데이터에서 단어 수준 이상의 의미를 학습하고 활용하는 방법을 연구하는데, unlabeled corpus를 사용해 학습할 수 있는 phrase 수준 또는 sentence 수준의 embedding이 text를 다양한 target task에 적합한 vector representation으로 encoding하는데 사용되었다.
Unsupervised pre-training
Unsupervised pre-training은 supervised learning objective를 수정하는 대신 좋은 초기화 지점을 찾는 것이 목표인 semi-supervised learning의 특수한 경우다. 초기 연구에서는 이미지 분류와 regression task에 이 기법을 사용하는 방법을 탐구했지만, 후속 연구에서는 pre-training이 regularization scheme로서 작용해 neural network에서 더 나은 generalization을 가능하게 한다는 사실이 입증되었다. 최근 연구에서는 이미지 분류, 음성 인식, 엔티티 모호성 제거, 기계 번역과 같은 다양한 task에서 neural network를 훈련하는 데 이 방법이 사용된다.
우리와 가장 가까운 작업 방식은 language modeling objective를 사용해 neural network를 사전 훈련한 다음 supervision을 통해 target task에 대해 neural network를 fine-tuning 하는 것이다. pre-training step에서 LSTM과 같은 모델을 사용하면 예측 능력이 짧은 범위로 제한되는 반면에, transformer network를 사용하면 실험에서 입증된 것 처럼 더 긴 범위의 언어 구조를 포착할 수 있다.
Auxiliary training objectives
auxiliary unsupervised training objective를 추가하는 것은 semi-supervised learning의 또 다른 형태이다. 초기에는 sematic role labeling을 개선하기 위해 POS 태깅, chunking, named entity recognition, 언어 모델링과 같은 다양한 보조 NLP 작업을 사용했다. 최근에는 target task objective에 auxiliary language modeling objective를 추가했고, sequence labeling 작업에서 성능 향상을 입증했다. 우리의 실험에서도 auxiliary objective를 사용했지만, unsupervised pre-training은 이미 target task와 관련된 여러 언어적 측면을 학습하고 있음을 보여준다.
3. Framework
training procedure는 두 단계로 구성된다.
- 대규모 text corpus에 대한 high-capaciry language model을 학습하는 것이다.
- fine-tuning 단계가 이어지며, 이 단계에서는 label이 지정된 데이터로 모델을 discriminative task에 맞게 조정한다.
3-1. Unsupervised pre-training
unsupervised corpus of token $ \upsilon = \{u_{1}, ..., u_{n}\} $이 주어지면 standard language modeling objective를 사용해 다음과 같은 likelihood를 최대화한다.
$ L_{1}(\upsilon ) = \sum_{i}log\textbf{P}(u_{i}|u_{i-k}, ..., u_{i-1};\Theta) $
여기서 k는 context window의 size이며, 조건부 확률 $ P $는 매개변수 $ /Theta $가 있는 neural network를 사용해 modeling된다. 이러한 매개변수는 stochastic gradient descent를 사용해 학습된다.
실험에서는 Transformer의 변형인 multi-layer Transformer decoder를 language model에 사용했다. 이 모델은 input context token에 대해 multi-headed self-attention을 적용한 다음, position-wise feedforward layers를 적용해 target token에 대한 output distribution을 생성한다.
$ 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 = (u_{-k}, ..., u_{-1}) $는 token의 contect vector, $ n $은 레이어 수, $ W_{e} $는 token embedding matrix, $ W_{p} $는 position embedding matrix이다.
3-2. Supervised fine-tuning
3-1에서 model을 training한 후에, parameter를 supervised target task에 맞게 조정한다. 우리는 각각 label $ y $와 $ x^{1}, ..., x^{m} $으로 이루어진 sequence of input tokens로 구성된 labeled dataset $ C $를 가정한다. input은 pre-trained model을 통해 최종 transformer block의 activation인 $ h_{l}^{m} $을 얻은 후, parameter $ W_{y} $와 함께 added linear output layer에 공급되어 $ y $를 예측한다.
$ P(y|x^{1}, ..., x^{m}) = softmax(h_{l}^{m}W_{y}) $
이를 통해 다음과 같은 목표를 극대화할 수 있다.
$ L_{2}(C) = \sum_{(x, y)}logP(y|x^{1}, ..., x^{m}) $
또한 language modeling을 fine-tuning의 auxiliary objective로 설정하면
1. supervised model의 generalization를 개선하고
2. convergence 가속화한다.
이로 인해 학습에 도움이 된다는 사실을 추가로 발견했다. 구체적으로는 다음과 같은 목표를 최적화한다.(weight $ \lambda $ 사용)
$ L_{3}(C) = L_{2}(C) + \lambda * L_{1}(C) $
전반적으로 fine-tuning 시 필요한 additive parameter는 $ W_{y} $와 구분 기호 토큰에 대한 embedding 뿐이다.
3-3. Task-specific input transformations
text classification과 같은 일부 task의 경우 위에서 설명한 대로 model을 직접 fine-tuning 할 수 있다. question answering이나 textual entailment와 같은 다른 특정 task에는 정렬된 문장 쌍 또는 문서, 질문, 답변의 삼중 구조와 같은 구조화된 입력이 있다. pre-trained model은 연속된 text sequence에 대해 학습되었기 때문에 이러한 작업에 적용하려면 약간의 수정이 필요하다. 이전 연구에서는 transferred representations 위에 task 별 아키텍처를 학습하는 방법을 제안했다. 이러한 접근 방식은 상당한 양의 task 별 커스터마이징을 다시 도입하고 이러한 추가 아키텍처 구성 요소에 transfer learning을 사용하지 않았다. 대신, 우리는 구조화된 입력을 pre-trained model이 처리할 수 있는 정렬된 순서로 변환하는 traversal-style approach를 사용한다. 이러한 input transformations를 통해 작업 전반에 걸쳐 아키텍처를 광범위하게 변경하는 것을 피할 수 있다. 아래에서 이러한 input transformations에 대한 간략한 설명을 제공하고 figure 1.은 시각적 예시를 제공한다. 모든 변환에는 무작위로 초기화된 시작 토큰과 종료 토큰 (<s>, <e>)을 추가하는 것이 포함된다.
Textual entailment
해당 작업의 경우, 전제 $ p $와 가설 $ h $ 토큰을 연결하고 그 사이에 구분 기호 토큰 ($)을 넣는다.
Similarity
유사도 작업의 경우, 비교 대상인 두 문장의 고유한 순서가 없다. 이를 반영하기 위해 input sequence를 두 가지 가능한 문장 순서(중간에 구분 기호 포함)를 모두 포함하도록 수정하고 각각을 독립적으로 처리해 linear output layer에 공급되기 전에 두 개의 sequence representation $ h_{l}^{m} $을 생성한다.
Question Answering and Commonsense Reasoning
이러한 작업에는 context document $ z $, question $ q $, 가능한 답변 집합 $ \{ a_{k} \} $이 주어진다. document context와 question을 각각의 가능한 답변과 연결하고, 그 사이에 구분 기호 토큰을 추가해 $ [z; q; \$; a_k] $를 얻는다. 이러한 각 sequence는 model에서 독립적으로 처리된 다음 softmax layer를 통해 normalized되어 가능한 답변에 대한 output distribution을 생성한다.
4. Experiments
4-1. Setup
Unsupervised pre-training
language model 학습을 위해 BooksCorpus dataset을 사용한다. 여기에는 모험, 판타지, 로맨스 등 다양한 장르의 미출간 도서 7,00 여 권이 포함되어 있다. 결정적으로, 여기에는 연속된 긴 텍스트가 포함되어 있어 generative model이 long-range information을 조건으로 학습할 수 있다. 유사한 접근 방식인 ELMo에서 사용하는 대체 dataset인 1B 단어 벤치마크는 거의 동일한 크기지만 문장 수준에서 섞이기 때문에 long-range structure를 파괴한다. 우리의 언어 모델은 이 corpus에서 18.4라는 매우 낮은 token level perplexity를 달성했다.
Model specifications
우리의 모델은 original transformer work를 크게 따른다. 우리는 masked self-attention heads(768 dimensional states and 12 attention head)를 갖춘 12-layer decoder-only transformer를 훈련했다. position-wise feed-forward networks의 경우, 3072 demensional inner states를 사용했다. 우리는 max learning rate가 2.5e-4인 Adam optimization scheme를 사용했다. 학습 속도는 처음 2000회의 업데이트에 걸쳐 0에서 선형적으로 증가했으며, cosine schedule을 사용해 0까지 annealing되었다. random sampling된 64개의 contiguous sequences로 구성된 minibatch에서 100회 동안 훈련한다. layernormalization이 모델 전체에 광범위하게 사용되었기 때문에 $ N(0, 0.02) $의 간단한 weight initialization으로 충분했다. 우리는 정규화를 위해 40,000개의 merge과 residual, embedding 및 attention dropouts rate가 0.1인 bytepair encoding (BPE) vocabulary를 사용했다. 우리는 또한 수정된 버전의 L2 regularization을 사용했으며, 모든 non bias 또는 gain weights에 대해 $ w = 0.01 $을 적용했다. activation function에는 Gaussian Error Linear Unit(GELU)를 사용했다. original work에서 제안된 sinusoidal version 대신 learned position embedding을 사용했다. 우리는 ftfy library를 사용해 BooksCorpus에서 raw text를 정제했으며, punctuation과 whitespace를 표준화하며, spacy tokenizer를 사용했다.
Fine-tuning details
지정하지 않는 한, unsupervised pre-training의 hyperparameter 설정을 재사용한다. classifier에 0.1의 rate로 dropout을 추가한다. 대부분의 task에서는 6.25e-5의 learning rate와 32의 batchsize를 사용한다. 모델은 빠르게 fine-tuned되며 3회의 training으로 충분했다. 우리는 훈련의 0.2%에 걸쳐 워밍업을 하는 linear learning rate decay schedule을 사용한다. λ는 0.5로 설정되었다.
4-2. Supervised fine-tuning
해당 논문에서는 natural language inference, question answering, semantic similarity, text classification 등 다양한 supervised task에 대한 실험을 수행한다. 이러한 task 중 일부는 GLUE multitask benchmark의 일부로 제공되며, 우리는 이를 활용한다. Table 1은 모든 작업과 데이터 세트에 대한 개요를 제공한다.
Natural Language Inference
NLI는 한 쌍의 문장을 읽고 수반성, 모순 또는 중립 중 하나에서 문장 간 관계를 판단하는 것이다. 이미지 캡션(SNLI), 필사된 연설, 대중 소설, 정부 보고서(MNLI), 위키피디아 기사(QNLI), 과학 시험(SciTail), 또는 뉴스 기사(RTE) 등 다양한 출처의 5가지 데이터셋을 대상으로 평가한다.
Table 2는 우리 모델과 기존의 최신 접근 방식에 대한 다양한 NLI 작업에 대한 다양한 결과를 자세히 보여준다. 우리의 방법은 5개 데이터셋 중 4개 데이터셋에서 baseline을 크게 능가하며, 이전 최고 결과보다 MNLI에서 최대 1.5%, SciTail에서 5%, QNLI에서 5.8%, SNLI에서 0.6%의 절대적인 개선을 달성했다. 이는 여러 문장을 더 잘 추론하고 언어적인 모호성의 측면을 처리하는 모델의 능력을 보여준다.
Question answering and commonsense reasoning
single and multi-sentence reasoning의 측면이 필요한 또 다른 과제는 question answering이다. 우리는 최근에 출시된 RACE 데이터셋을 사용하는데, 이 데이터셋은 중고등학교 시험의 영어 구절과 관련 질문으로 구성되어 있다. 해당 corpus는 CNN이나 SQuadD와 같은 다른 데이터셋보다 더 많은 추론 유형의 문제를 포함하고 있어 장문의 문맥을 처리하도록 training된 우리 모델에 완벽한 평가를 제공한다. 또한 두 가지 옵션 중에서 여러 문장으로 구성된 스토리의 올바른 결말을 선택하는 Story Cloze 테스트를 통해 평가한다. 이 과제에서 우리 모델은 Story Cloze에서는 최대 8.9%, RACE에서는 전체 5.7%로 이전 최고 결과를 다시 한 번 크게 앞섰다. 이는 우리 모델이 long-range context를 효과적으로 처리할 수 있는 능력을 보여준다.
Semantic Similarity
semantic similarity task에는 두 문장이 의미적으로 동일한지 아닌지를 예측하는 작업이 포함된다. 이 task에는 뉴스 소스에서 수집한 Micrisoft Paraphrase corpus(MRPC), Quora Question Pairs(QQP)와 Semantic Textual Similaity benchmark(STS-B)의 세 가지 데이터 셋이 사용된다. 3가지 semantic similarity task 중 2가지 task에서 STS-B에서 1점의 절대적인 gain을 얻는 최신 결과를 얻었다. QQP의 성능 delta는 BiLSTM+ELMo+Attn에 비해 4.2%의 절대적인 개선을 얻었다.
Classification
마지막으로 두 가지 다른 text classification task도 평가한다. Corpus of Linguistic Acceptability(CoLA)는 문장이 문법적인지 아닌지에 대한 전문가의 판단을 포함하고 훈련된 모델의 타고난 언어적 편향성을 테스트한다. 반면에 Stanford Sentiment Treebank(SST-2)는 standard binary classification task이다. 우리 모델은 CoLA에서 45.4점을 얻었는데, 이는 이전 최고 결과인 35.0점보다 큰 폭으로 상승한 것으로, 우리 모델이 학습한 선천적 언어 편향성을 보여준다. 이 모델은 또한 SST-2에서 91.3%의 정확도를 달성해 최첨단 결과와 경쟁할 수 있는 수준이다. 우리는 또한 GLUE benchmark에서 72.8점의 overall score를 달성했으며, 이전 최고 기록인 68.9점보다 크게 향상되었다.
전반적으로, 우리의 approach는 평가한 12개의 데이터셋 중 9개에서 새로운 최첨단 결과를 얻었으며, 많은 경우 앙상블을 능가하는 성능을 보여주었다.
5. Analysis
Impact of number of layers transferred
unsupervised pre-training에서 supervised target task로 다수의 layer를 전송하는 것이 미치는 영향을 관찰했다. Figure 2(왼쪽)는 transferred layer의 수의 함수로 MultiNLI와 RACE에 대한 approach의 성능을 보여준다. embedding을 전송하면 성능이 향상되고 각각의 transformer layer가 MultiNLI에서 full transfer 시 최대 9%의 추가적인 benefit을 제공한다는 표준 결과를 관찰할 수 있다. 이것은 pre-trained model의 각 layer에 taget task를 해결하는 데 유용한 기능이 포함되어 있음을 나타낸다.
Zero-shot Behaviors
language model pre-training이 효과적인 이유를 더 잘 이해하고자 한다. 한 가지 hypothesis는 기본 generative model이 language modeling 기능을 향상시키기 위해 평가하는 많은 작업을 수행하는 방법을 학습하고, transformer의 보다 구조화된 attentional memory가 LSTM에 비해 transfer에 도움이 된다는 것이다. 우리는 underlying generative model을 사용해 supervised finetining 없이 task를 수행하는 일련의 heuristic solution을 설계했다. Figure 2(오른쪽)는 이러한 generative pre-training의 과정에서 heuristic solution의 효과를 시각화한 것이다. 이러한 heuristic의 성능이 안정적이고 traininng을 거듭할수록 꾸준히 증가하는 것을 관찰할 수 있으며, 이는 gerative pre-training이 다양한 task 관련 기능의 학습을 지원함을 시사한다. 또한 LSTM은 zero-shot 성능에서 더 높은 편차를 보이는데, 이는 transformer의 architecture의 inductive bias가 transfer에 도움이 된다는 것을 시사한다.
CoLA(언어적 수용성)의 경우, generative model이 할당하는 평균 token log-probability로 예제에 점수를 매기고 thresholding을 통해 예측을 수행한다. STT-2(감정 분석)의 경우, 각 예제에 token을 매우 추가하고 language model의 output distribution을 긍정과 부정 단어로만 제한해 더 높은 확률을 할당하는 token을 예측으로 추측한다. RACE(질문 답변)의 경우, generative model이 문서와 질문을 조건으로 할 때 가장 높은 평균 token log-probability를 할당하는 답변을 선택한다. DPRP(winograd schemas)의 경우, pronoun을 두 개의 가능한 referrent로 대체하고, generative model이 대체 후 나머지 sequence에 더 높은 평균 token log-probability 확률을 할당하는 resolution을 예측한다.
Ablation studies
3가지 ablation study를 수행한다.
먼저, fine-tuning 동안에 auxiliary LM objective를 사용하지 않았을 때의 성능을 조사한다. auxiliary objective가 NLI 작업과 QQP에 도움이 된다는 것을 관찰했다. 전반적으로, larger dataset은 auxiliary objective의 이득을 얻지만 smaller dataset에는 그렇지 않은 것을 확인했다.
두 번째로, 동일한 framework를 사용하는 single layer 2048 unit LSTM과 비교해 transformer의 성능을 분석한다. transformer 대신 LSTM을 사용할 때 평균 5.6점의 점수 하락이 관찰되었다. LSTM은 단 하나의 데이터셋인 MRPC에서만 transformer를 능가하는 성능을 보였다.
마지막으로, pre-training 없이 supervisd target task에 대해 직접 학습한 transformer architecture와도 비교한다. pre-training이 부족하면 모든 task에서 성능이 저하되어 전체 model에 비해 14.8% 감소하는 것을 관찰할 수 있다.
6. Conclusion
우리는 generative pre-training과 discriminatve fine-tuning을 통해 single task-agnostic model로 강력한 language understanding을 달성하기 위한 프레임워크를 도입했다. 긴 연속된 텍스트가 포함된 다양한 corpus에 대한 pre-training을 통해 model은 상당한 지식과 long-range dependency를 처리하는 능력을 습득한 다음 question answering, semantic similarity assessment, entailment determination과 text classification과 같은 판별 작업을 성공적으로 해결해 12개의 데이터셋 중 9개의 데이터셋에서 최신 기술을 향상시켰다. unsupervised (pre-)training을 사용해 discriminative task의 성능을 향상시키는 것은 오랫동안 머신러닝 연구의 중요한 목표였다. 이번 연구는 상당한 성능 향상이 실제로 가능하다는 것을 시사하며, 어떤 모델(Transformer)과 데이터셋(long-range dependency가 있는 텍스트)가 이 접근 방식에 대한 힌트를 제공한다. 이를 통해 자연어 이해 및 기타 영역 모두에서 unsupervised learning에 대한 새로운 연구가 활성화되어 unsupervised learning의 작동 방식과 시기에 대한 이해도가 더욱 향상되길 바란다.