GPT-1: 생성적 사전 훈련을 통한 언어 이해 능력의 혁신

GPT-1은 대규모의 레이블 없는 텍스트 코퍼스에서 언어 모델을 생성적으로 사전 훈련(generative pre-training)한 후, 각 특정 과제에 맞게 판별적으로 미세 조정(discriminative fine-tuning)하여 자연어 이해(NLU) 능력을 크게 향상시킨 모델입니다. 이 접근법은 Transformer 아키텍처를 사용하여 긴 텍스트의 의존성을 효과적으로 학습하고, 최소한의 아키텍처 변경만으로 다양한 다운스트림 과제에 적용할 수 있는 범용 표현(universal representation)을 학습합니다. 그 결과, 상식 추론, 질의응답, 텍스트 함의 관계 인식 등 12개 과제 중 9개에서 당시 최고 수준의 성능을 달성했습니다. 논문 제목: Improving Language Understanding by Generative Pre-Training

Radford, Alec, et al. "Improving language understanding by generative pre-training." (2018): 3.

Improving Language Understanding by Generative Pre-Training

Alec Radford
OpenAI
alec@openai.com

Karthik Narasimhan
OpenAI
karthikn@openai.com

Tim Salimans
OpenAI
tim@openai.com

Ilya Sutskever
OpenAI
ilyasu@openai.com

Abstract

자연어 이해는 **텍스트 함의(textual entailment), 질문 응답(question answering), 의미 유사성 평가(semantic similarity assessment), 문서 분류(document classification)**와 같이 다양하고 광범위한 task를 포함한다. 대규모의 레이블 없는 텍스트 코퍼스는 풍부하지만, 이러한 특정 task를 학습하기 위한 레이블 데이터는 부족하여, 판별적으로 학습된(discriminatively trained) 모델이 충분한 성능을 내기 어렵다.

우리는 **레이블 없는 다양한 텍스트 코퍼스에 대한 언어 모델의 생성적 사전학습(generative pre-training)**과, 각 특정 task에 대한 판별적 fine-tuning을 통해 이러한 task에서 큰 성능 향상을 달성할 수 있음을 보여준다. 기존 접근 방식과 달리, 우리는 fine-tuning 과정에서 task-aware input transformation을 활용하여 모델 아키텍처에 **최소한의 변경만으로도 효과적인 전이 학습(transfer learning)**을 가능하게 한다.

우리는 자연어 이해를 위한 광범위한 벤치마크에서 우리 접근 방식의 효과를 입증한다. 우리의 일반적인 task-agnostic 모델은 각 task에 특화된 아키텍처를 사용하는 판별적으로 학습된 모델들을 능가하며, 연구된 12개 task 중 9개에서 state of the art를 크게 향상시킨다. 예를 들어, 우리는 상식 추론(Stories Cloze Test)에서 8.9%, 질문 응답(RACE)에서 5.7%, 텍스트 함의(MultiNLI)에서 1.5%의 절대적인 성능 향상을 달성했다.

1 Introduction

원시 텍스트로부터 효과적으로 학습하는 능력은 자연어 처리(NLP)에서 지도 학습(supervised learning)에 대한 의존도를 완화하는 데 매우 중요하다. 대부분의 딥러닝 방법은 상당한 양의 수동으로 레이블링된 데이터를 필요로 하며, 이는 주석된 자원이 부족한 많은 도메인에서 적용 가능성을 제한한다 [61]. 이러한 상황에서, 레이블링되지 않은 데이터로부터 언어 정보를 활용할 수 있는 모델은 시간과 비용이 많이 드는 추가적인 주석 수집에 대한 가치 있는 대안을 제공한다. 더욱이, 상당한 양의 지도 데이터가 사용 가능한 경우에도, 비지도 방식으로 좋은 표현(representation)을 학습하는 것은 상당한 성능 향상을 가져올 수 있다. 지금까지 이에 대한 가장 설득력 있는 증거는 사전학습된 단어 임베딩(pretrained word embeddings) [10, 39, 42]이 다양한 NLP task [8, 11, 26, 45]에서 성능을 향상시키는 데 광범위하게 사용되었다는 점이다.

그러나 레이블링되지 않은 텍스트로부터 단어 수준 이상의 정보를 활용하는 것은 두 가지 주요 이유로 인해 어렵다. 첫째, 전이(transfer)에 유용한 텍스트 표현을 학습하는 데 어떤 종류의 최적화 목표가 가장 효과적인지 불분명하다. 최근 연구는 언어 모델링(language modeling) [44], 기계 번역(machine translation) [38], 담화 일관성(discourse coherence) [22]과 같은 다양한 목표를 살펴보았으며, 각 방법은 다른 task에서 서로를 능가하는 성능을 보였다. 둘째, 학습된 이러한 표현을 목표 task로 전이하는 가장 효과적인 방법에 대한 합의가 없다. 기존 기술은 모델 아키텍처에 task별 변경을 가하거나 [43, 44], 복잡한 학습 방식을 사용하거나 [21], 보조 학습 목표를 추가하는 것 [50]을 포함한다. 이러한 불확실성으로 인해 언어 처리를 위한 효과적인 준지도 학습(semi-supervised learning) 접근 방식을 개발하기 어려웠다.

본 논문에서는 비지도 사전학습(unsupervised pre-training)과 지도 fine-tuning을 결합하여 언어 이해 task를 위한 준지도 학습 접근 방식을 탐구한다. 우리의 목표는 다양한 task에 거의 적응 없이 전이될 수 있는 보편적인 표현(universal representation)을 학습하는 것이다. 우리는 대규모의 레이블링되지 않은 텍스트 코퍼스수동으로 주석된 학습 예시(목표 task)를 포함하는 여러 데이터셋에 접근할 수 있다고 가정한다. 우리의 설정은 이러한 목표 task가 레이블링되지 않은 코퍼스와 동일한 도메인에 있을 것을 요구하지 않는다. 우리는 두 단계의 학습 절차를 사용한다. 첫째, 레이블링되지 않은 데이터에 대해 언어 모델링 목표를 사용하여 신경망 모델의 초기 파라미터를 학습한다. 이어서, 해당 지도 목표를 사용하여 이 파라미터들을 목표 task에 적응시킨다.

모델 아키텍처로는 Transformer [62]를 사용한다. Transformer는 기계 번역 [62], 문서 생성 [34], 구문 분석 [29]과 같은 다양한 task에서 강력한 성능을 보여주었다. 이 모델 선택은 순환 신경망과 같은 대안에 비해 텍스트의 장기 의존성을 처리하기 위한 더 구조화된 메모리를 제공하여, 다양한 task에 걸쳐 견고한 전이 성능을 가져온다. 전이 과정에서 우리는 순회(traversal) 방식 접근법 [52]에서 파생된 **task별 입력 적응(task-specific input adaptations)**을 활용한다. 이 방식은 구조화된 텍스트 입력을 단일의 연속적인 토큰 시퀀스로 처리한다. 실험에서 보여주듯이, 이러한 적응은 사전학습된 모델 아키텍처에 최소한의 변경만으로 효과적인 fine-tuning을 가능하게 한다.

우리는 **자연어 추론(natural language inference), 질문 응답(question answering), 의미론적 유사성(semantic similarity), 텍스트 분류(text classification)**의 네 가지 유형의 언어 이해 task에서 우리의 접근 방식을 평가한다. 우리의 일반적인 task-agnostic 모델은 각 task에 특화된 아키텍처를 사용하는 판별적으로 학습된 모델들을 능가하며, 연구된 12개 task 중 9개에서 state of the art를 크게 향상시킨다. 예를 들어, 우리는 상식 추론(Commonsense Reasoning, Stories Cloze Test) [40]에서 8.9%, 질문 응답(RACE) [30]에서 5.7%, 텍스트 함의(textual entailment, MultiNLI) [66]에서 1.5%, 그리고 최근 도입된 GLUE multi-task 벤치마크 [64]에서 5.5%의 절대적인 성능 향상을 달성했다. 또한 우리는 사전학습된 모델의 zero-shot 동작을 네 가지 다른 설정에서 분석하고, 다운스트림 task에 유용한 언어 지식을 습득함을 입증한다.

NLP를 위한 준지도 학습 (Semi-supervised learning for NLP)
우리의 연구는 넓게 보아 자연어 처리를 위한 준지도 학습(semi-supervised learning) 범주에 속한다. 이 패러다임은 sequence labeling [24, 33, 57] 또는 text classification [41, 70]과 같은 task에 적용되며 상당한 관심을 받아왔다. 초기 접근 방식들은 레이블이 없는 데이터를 사용하여 단어 또는 구(phrase) 수준의 통계치를 계산하고, 이를 지도 학습 모델의 feature로 활용했다 [33]. 지난 몇 년간 연구자들은 레이블이 없는 코퍼스에서 학습된 word embedding [11, 39, 42]을 사용하여 다양한 task에서 성능을 향상시키는 이점을 입증했다 [8, 11, 26, 45]. 그러나 이러한 접근 방식들은 주로 단어 수준의 정보를 전달하는 반면, 우리는 더 높은 수준의 의미론(semantics)을 포착하는 것을 목표로 한다.
최근 접근 방식들은 레이블이 없는 데이터로부터 단어 수준 이상의 의미론을 학습하고 활용하는 방법을 연구해왔다. 레이블이 없는 코퍼스를 사용하여 학습될 수 있는 구(phrase) 또는 문장 수준의 embedding은 다양한 target task에 적합한 벡터 표현으로 텍스트를 인코딩하는 데 사용되었다 [28, 32, 1, 36, 22, 12, 56, 31].

비지도 사전학습 (Unsupervised pre-training)
비지도 사전학습지도 학습 objective를 수정하는 대신 좋은 초기화 지점을 찾는 것을 목표로 하는 준지도 학습의 특별한 경우이다. 초기 연구들은 이미지 분류 [20, 49, 63] 및 회귀 task [3]에서 이 기술의 사용을 탐구했다. 후속 연구 [15]는 사전학습이 심층 신경망에서 더 나은 일반화를 가능하게 하는 정규화(regularization) 방식으로 작용함을 입증했다. 최근 연구에서는 이 방법이 이미지 분류 [69], 음성 인식 [68], 개체 모호성 해소(entity disambiguation) [17], 기계 번역 [48]과 같은 다양한 task에서 심층 신경망을 학습시키는 데 사용되었다.
우리 연구와 가장 유사한 연구는 language modeling objective를 사용하여 신경망을 사전학습한 다음, 지도 학습을 통해 target task에 fine-tuning하는 방식이다. Dai et al. [13]과 Howard and Ruder [21]는 이 방법을 따라 텍스트 분류 성능을 향상시켰다. 그러나 사전학습 단계가 일부 언어 정보를 포착하는 데 도움이 되지만, LSTM 모델의 사용은 예측 능력을 짧은 범위로 제한한다. 이와 대조적으로, 우리가 선택한 Transformer 네트워크는 실험에서 입증되었듯이 더 긴 범위의 언어 구조를 포착할 수 있게 한다. 또한, 우리는 자연어 추론(natural language inference), paraphrase detection, story completion을 포함한 더 넓은 범위의 task에서 우리 모델의 효과를 입증한다. 다른 접근 방식들 [43, 44, 38]은 사전학습된 language model 또는 machine translation model의 hidden representation을 보조 feature로 사용하여 target task에 대한 지도 학습 모델을 학습시킨다. 이는 각각의 개별 target task에 대해 상당한 양의 새로운 파라미터를 필요로 하는 반면, 우리는 전이(transfer) 시 모델 아키텍처에 최소한의 변경만을 요구한다.

보조 학습 objective (Auxiliary training objectives)
보조 비지도 학습 objective를 추가하는 것은 준지도 학습의 또 다른 형태이다. Collobert and Weston [10]의 초기 연구는 POS tagging, chunking, named entity recognition, language modeling과 같은 다양한 보조 NLP task를 사용하여 semantic role labeling을 개선했다. 최근에는 Rei [50]가 보조 language modeling objective를 target task objective에 추가하여 sequence labeling task에서 성능 향상을 입증했다. 우리 실험 또한 보조 objective를 사용하지만, 우리가 보여주듯이 비지도 사전학습은 이미 target task와 관련된 여러 언어적 측면을 학습한다.

3 Framework

우리의 학습 절차는 두 단계로 구성된다. 첫 번째 단계는 대규모 텍스트 코퍼스에서 고용량 language model을 학습하는 것이다. 이어서 fine-tuning 단계에서는 labeled data를 사용하여 모델을 discriminative task에 적응시킨다.

3.1 Unsupervised pre-training

주어진 비지도 토큰 코퍼스 U={u1,,un}\mathcal{U}=\left\{u_{1}, \ldots, u_{n}\right\}에 대해, 우리는 표준적인 language modeling objective를 사용하여 다음 likelihood를 최대화한다:

L1(U)=ilogP(uiuik,,ui1;Θ)L_{1}(\mathcal{U})=\sum_{i} \log P\left(u_{i} \mid u_{i-k}, \ldots, u_{i-1} ; \Theta\right)

여기서 kk는 context window의 크기이며, 조건부 확률 PP는 파라미터 Θ\Theta를 가진 신경망을 사용하여 모델링된다. 이 파라미터들은 stochastic gradient descent [51]를 사용하여 학습된다.

우리 실험에서는 language model로 multi-layer Transformer decoder [34]를 사용하는데, 이는 Transformer [62]의 변형이다. 이 모델은 입력 context token에 대해 multi-headed self-attention 연산을 적용한 후, position-wise feedforward layer를 거쳐 target token에 대한 출력 분포를 생성한다:

h0=UWe+Wphl=transformer_block(hl1)i[1,n]P(u)=softmax(hnWeT)\begin{aligned} h_{0} & =U W_{e}+W_{p} \\ h_{l} & =\operatorname{transformer\_ block}\left(h_{l-1}\right) \forall i \in[1, n] \\ P(u) & =\operatorname{softmax}\left(h_{n} W_{e}^{T}\right) \end{aligned}

여기서 U=(uk,,u1)U=\left(u_{-k}, \ldots, u_{-1}\right)는 토큰의 context vector이고, nn은 layer의 수이며, WeW_{e}는 token embedding matrix, WpW_{p}는 position embedding matrix이다.

3.2 Supervised fine-tuning

모델을 Eq. 1의 목적 함수로 학습시킨 후, 우리는 매개변수를 supervised target task에 맞게 조정한다. 우리는 각 인스턴스가 입력 토큰 시퀀스 x1,,xmx^{1}, \ldots, x^{m}과 레이블 yy로 구성된 **레이블링된 데이터셋 C\mathcal{C}**를 가정한다. 입력은 사전학습된 모델을 통과하여 **최종 Transformer 블록의 활성화 값 hlmh_{l}^{m}**을 얻고, 이는 추가된 선형 출력 레이어(WyW_{y} 매개변수 포함)에 입력되어 yy를 예측한다:

P(yx1,,xm)=softmax(hlmWy).P\left(y \mid x^{1}, \ldots, x^{m}\right)=\operatorname{softmax}\left(h_{l}^{m} W_{y}\right) .

이를 통해 우리는 최대화해야 할 다음 목적 함수를 얻는다:

L2(C)=(x,y)logP(yx1,,xm).L_{2}(\mathcal{C})=\sum_{(x, y)} \log P\left(y \mid x^{1}, \ldots, x^{m}\right) .

우리는 또한 fine-tuning 시 language modeling을 보조 목적 함수(auxiliary objective)로 포함하는 것이 (a) supervised 모델의 일반화 성능을 향상시키고, (b) 수렴을 가속화함으로써 학습에 도움이 된다는 것을 발견했다. 이는 이러한 보조 목적 함수를 통해 성능 향상을 관찰한 선행 연구 [50, 43]와 일치한다. 구체적으로, 우리는 다음 목적 함수(가중치 λ\lambda 포함)를 최적화한다:

L3(C)=L2(C)+λL1(C)L_{3}(\mathcal{C})=L_{2}(\mathcal{C})+\lambda * L_{1}(\mathcal{C})

전반적으로, fine-tuning 시 추가적으로 필요한 매개변수는 WyW_{y}와 구분자 토큰(delimiter token)에 대한 임베딩뿐이다 (자세한 내용은 아래 Section 3.3에서 설명).

Figure 1: (왼쪽) 본 연구에서 사용된 Transformer 아키텍처 및 학습 목적 함수. (오른쪽) 다양한 task에 대한 fine-tuning을 위한 입력 변환. 모든 구조화된 입력은 사전학습된 모델에 의해 처리될 토큰 시퀀스로 변환된 후, 선형(linear) + softmax 레이어를 거친다.

3.3 Task-specific input transformations

특정 task, 예를 들어 **텍스트 분류(text classification)**의 경우, 위에서 설명한 대로 모델을 직접 fine-tuning할 수 있다. 하지만 **질의응답(question answering)이나 텍스트 함의(textual entailment)**와 같은 다른 task들은 정렬된 문장 쌍 또는 **문서, 질문, 답변의 세 가지 요소(triplet)**와 같은 구조화된 입력을 가진다. 우리의 사전학습 모델은 연속적인 텍스트 시퀀스(contiguous sequences of text)로 학습되었기 때문에, 이러한 task에 적용하기 위해서는 일부 수정이 필요하다.
이전 연구에서는 전이된 표현(transferred representations) 위에 task-specific 아키텍처를 학습하는 방식을 제안했다 [44]. 그러나 이러한 접근 방식은 상당한 양의 task-specific 커스터마이징을 다시 도입하며, 이러한 추가적인 아키텍처 구성 요소에 대해 전이 학습(transfer learning)을 활용하지 않는다.
대신, 우리는 순회(traversal) 방식 [52]을 사용한다. 이 방식에서는 구조화된 입력을 우리의 사전학습 모델이 처리할 수 있는 정렬된 시퀀스로 변환한다. 이러한 입력 변환을 통해 우리는 task별로 아키텍처를 광범위하게 변경하는 것을 피할 수 있다. 아래에 이러한 입력 변환에 대한 간략한 설명을 제공하며, Figure 1은 시각적인 설명을 제공한다. 모든 변환에는 무작위로 초기화된 시작 토큰(s\langle s\rangle)과 끝 토큰(e\langle e\rangle)을 추가하는 과정이 포함된다.

텍스트 함의 (Textual Entailment)
함의 task의 경우, 전제(premise) pp와 가설(hypothesis) hh 토큰 시퀀스를 **구분자 토큰($)을 사이에 두고 연결(concatenate)**한다.

유사성 (Similarity)
유사성 task의 경우, 비교되는 두 문장에는 고유한 순서가 없다. 이를 반영하기 위해, 입력 시퀀스가 가능한 두 가지 문장 순서(구분자를 사이에 둠)를 모두 포함하도록 수정하고, 각각을 독립적으로 처리하여 두 개의 시퀀스 표현 hlmh_{l}^{m}을 생성한다. 이들은 선형 출력 레이어에 공급되기 전에 요소별로 더해진다.

질의응답 및 상식 추론 (Question Answering and Commonsense Reasoning)
이러한 task의 경우, 우리는 **문맥 문서(context document) zz, 질문 qq, 그리고 가능한 답변 집합 {ak}\left\{a_{k}\right\}**를 제공받는다. 우리는 문서 문맥과 질문을 각 가능한 답변과 연결하고, 구분자 토큰을 사이에 추가하여 [z ; q ; \ ; a_{k}$] 형태를 얻는다. 이들 각 시퀀스는 우리 모델로 독립적으로 처리된 후, softmax 레이어를 통해 정규화되어 가능한 답변에 대한 출력 분포를 생성한다.

4 Experiments

4.1 Setup

비지도 사전학습 (Unsupervised pre-training)
우리는 language model 학습을 위해 BooksCorpus 데이터셋 [71]을 사용한다. 이 데이터셋은 어드벤처, 판타지, 로맨스 등 다양한 장르의 7,000권 이상의 독특한 미출판 도서를 포함한다. 중요한 점은 이 데이터셋이 길게 연속된 텍스트 구간을 포함하고 있어, 생성 모델이 장거리 정보에 조건화하는 방법을 학습할 수 있게 한다는 것이다. 유사한 접근 방식인 ELMo [44]에서 사용되는 대체 데이터셋인 1B Word Benchmark는 대략 같은 크기이지만, 문장 단위로 섞여 있어 장거리 구조가 파괴된다. 우리 language model은 이 코퍼스에서 18.4의 매우 낮은 token level perplexity를 달성한다.

Table 1: 실험에 사용된 다양한 task 및 데이터셋 목록.

TaskDatasets
Natural language inferenceSNLI [5], MultiNLI [66], Question NLI [64], RTE [4], SciTail [25]
Question AnsweringRACE [30], Story Cloze [40]
Sentence similarityMSR Paraphrase Corpus [14], Quora Question Pairs [9], STS Benchmark [6]
ClassificationStanford Sentiment Treebank-2 [54], CoLA [65]

모델 사양 (Model specifications)
우리 모델은 대체로 오리지널 Transformer [62] 연구를 따른다. 우리는 masked self-attention head를 가진 12-layer decoder-only Transformer를 학습시켰다 (768차원 상태 및 12개의 attention head). position-wise feed-forward network의 경우, 3072차원 내부 상태를 사용했다. Adam 최적화 방식 [27]을 사용했으며, 최대 학습률은 2.5e-4였다. 학습률은 처음 2000번의 업데이트 동안 0부터 선형적으로 증가시킨 후, cosine schedule을 사용하여 0으로 감소시켰다. 우리는 64개의 무작위로 샘플링된 512 토큰 길이의 연속 시퀀스로 구성된 미니배치로 100 epoch 동안 학습했다. layernorm [2]이 모델 전반에 걸쳐 광범위하게 사용되므로, N(0,0.02)N(0,0.02)의 간단한 가중치 초기화로 충분했다. 우리는 40,000개의 merge를 가진 bytepair encoding (BPE) vocabulary [53]와 0.1의 비율로 residual, embedding, attention dropout을 정규화에 사용했다. 또한 [37]에서 제안된 수정된 L2 정규화 버전을 사용했으며, 모든 non bias 또는 gain 가중치에 대해 w=0.01w=0.01을 적용했다. 활성화 함수로는 Gaussian Error Linear Unit (GELU) [18]을 사용했다. 오리지널 연구에서 제안된 sinusoidal 버전 대신 학습된 position embedding을 사용했다. BooksCorpus의 원시 텍스트를 정제하고, 일부 구두점과 공백을 표준화하기 위해 ftfy 라이브러리를 사용했으며, spaCy tokenizer를 사용했다.

Fine-tuning 세부 사항 (Fine-tuning details)
별도로 명시되지 않는 한, 우리는 비지도 사전학습의 하이퍼파라미터 설정을 재사용한다. classifier에 0.1의 dropout을 추가한다. 대부분의 task에서 6.25e-5의 학습률과 32의 batchsize를 사용한다. 우리 모델은 빠르게 fine-tuning되며, 대부분의 경우 3 epoch의 학습으로 충분했다. 학습의 0.2%에 걸쳐 warmup이 있는 선형 학습률 감소 스케줄을 사용했다. λ\lambda는 0.5로 설정되었다.

4.2 Supervised fine-tuning

우리는 **자연어 추론(natural language inference), 질문 응답(question answering), 의미론적 유사성(semantic similarity), 텍스트 분류(text classification)**를 포함한 다양한 supervised task에 대한 실험을 수행한다. 이 중 일부 task는 최근 출시된 **GLUE multi-task 벤치마크 [64]**의 일부로 제공되며, 우리는 이를 활용한다. Figure 1은 모든 task와 데이터셋에 대한 개요를 제공한다.

자연어 추론 (Natural Language Inference)
**자연어 추론(NLI)**은 **텍스트 함의 인식(recognizing textual entailment)**으로도 알려져 있으며, 두 문장 쌍을 읽고 그들 간의 관계가 함의(entailment), 모순(contradiction), 또는 중립(neutral) 중 무엇인지 판단하는 task이다. 최근 많은 관심이 집중되고 있음에도 불구하고 [58, 35, 44], 이 task는 **어휘적 함의(lexical entailment), 공참조(coreference), 어휘적 및 구문적 모호성(lexical and syntactic ambiguity)**과 같은 다양한 현상으로 인해 여전히 도전적이다. 우리는 이미지 캡션(SNLI), 전사된 음성, 대중 소설, 정부 보고서(MNLI), 위키피디아 기사(QNLI), 과학 시험(SciTail), 뉴스 기사(RTE) 등 다양한 출처를 가진 5개의 데이터셋으로 평가를 수행한다.

Table 2는 우리 모델과 기존 state-of-the-art 접근 방식에 대한 다양한 NLI task의 결과를 상세히 보여준다. 우리 방법은 5개 데이터셋 중 4개에서 baseline을 크게 능가하며, MNLI에서 최대 1.5%, SciTail에서 5%, QNLI에서 5.8%, SNLI에서 0.6%의 절대적인 성능 향상을 달성하여 이전 최고 결과를 뛰어넘었다. 이는 우리 모델이 여러 문장에 걸쳐 더 잘 추론하고 언어적 모호성을 처리하는 능력을 보여준다. 우리가 평가한 더 작은 데이터셋 중 하나인 **RTE(2490개 예시)**에서는 56%의 정확도를 달성했는데, 이는 multi-task biLSTM 모델이 보고한 61.7%보다 낮은 수치이다. 더 큰 NLI 데이터셋에서 우리 접근 방식의 강력한 성능을 고려할 때, 우리 모델도 multi-task training을 통해 이점을 얻을 수 있을 것으로 예상되지만, 현재로서는 이를 탐구하지 않았다.

Table 2: 자연어 추론 task에 대한 실험 결과로, 우리 모델과 현재 state-of-the-art 방법들을 비교한다. 5x는 5개 모델의 앙상블을 나타낸다. 모든 데이터셋은 정확도(accuracy)를 평가 지표로 사용한다.

MethodMNLI-mMNLI-mmSNLISciTailQNLIRTE
ESIM + ELMo [44] (5x)--89.3\underline{89.3}---
CAFE [58] (5x)80.279.089.3\underline{89.3}---
Stochastic Answer Network [35] (3x)80.6\underline{80.6}80.1\underline{80.1}----
CAFE [58]78.777.988.583.3
GenSen 6471.471.3--82.3\underline{82.3}59.2
Multi-task BiLSTM + Attn [64]72.272.1--82.161.7
Finetuned Transformer LM (ours)82.181.489.988.388.156.0

Table 3: 질문 응답 및 상식 추론 결과로, 우리 모델과 현재 state-of-the-art 방법들을 비교한다. 9x는 9개 모델의 앙상블을 의미한다.

MethodStory ClozeRACE-mRACE-hRACE
val-LS-skip [55]76.5---
Hidden Coherence Model [7]77.6\underline{77.6}---
Dynamic Fusion Net [67] (9x)-55.649.451.2
BiAttention MRU [59] (9x)-60.2\underline{60.2}50.3\underline{50.3}53.3\underline{53.3}
Finetuned Transformer LM (ours)86.5\mathbf{8 6 . 5}62.9\mathbf{6 2 . 9}57.4\mathbf{5 7 . 4}59.0\mathbf{5 9.0}

질문 응답 및 상식 추론 (Question answering and commonsense reasoning)
단일 및 다중 문장 추론을 요구하는 또 다른 task는 질문 응답이다. 우리는 최근 출시된 **RACE 데이터셋 [30]**을 사용하는데, 이 데이터셋은 중고등학교 시험에서 발췌한 영어 지문과 관련 질문으로 구성되어 있다. 이 코퍼스는 CNN [19] 또는 SQuaD [47]와 같은 다른 데이터셋보다 더 많은 추론 유형의 질문을 포함하는 것으로 나타났으며, 이는 장거리 context를 처리하도록 학습된 우리 모델에 완벽한 평가 환경을 제공한다. 또한, 우리는 **두 가지 선택지 중에서 다중 문장 이야기의 올바른 끝을 선택하는 Story Cloze Test [40]**로도 평가를 수행한다. 이 task들에서 우리 모델은 다시 한번 이전 최고 결과를 크게 능가하는데, **Story Cloze에서 최대 8.9%, RACE 전체에서 5.7%**의 성능 향상을 보였다. 이는 우리 모델이 장거리 context를 효과적으로 처리하는 능력을 입증한다.

의미론적 유사성 (Semantic Similarity)
의미론적 유사성(또는 paraphrase detection) task두 문장이 의미적으로 동등한지 여부를 예측하는 것을 포함한다. 이 task의 도전 과제는 개념의 재구성(rephrasing)을 인식하고, 부정(negation)을 이해하며, 구문적 모호성을 처리하는 데 있다. 우리는 이 task를 위해 세 가지 데이터셋을 사용한다: Microsoft Paraphrase corpus (MRPC) [14] (뉴스 출처에서 수집), Quora Question Pairs (QQP) 데이터셋 [9], Semantic Textual Similarity benchmark (STS-B) [6]. 우리는 세 가지 의미론적 유사성 task 중 두 가지에서 state-of-the-art 결과를 얻었으며, STS-B에서는 1점의 절대적인 성능 향상을 보였다. QQP에서의 성능 차이는 Single-task BiLSTM + ELMo + Attn 대비 4.2%의 절대적인 향상으로 상당하다.

분류 (Classification)
마지막으로, 우리는 두 가지 다른 텍스트 분류 task에 대해서도 평가를 수행한다. **Corpus of Linguistic Acceptability (CoLA) [65]**는 문장이 문법적인지 여부에 대한 전문가의 판단을 포함하며, 학습된 모델의 내재된 언어적 편향(innate linguistic bias)을 테스트한다. 반면, **Stanford Sentiment Treebank (SST-2) [54]**는 표준적인 이진 분류 task이다. 우리 모델은 CoLA에서 45.4점을 얻었는데, 이는 이전 최고 결과인 35.0점보다 특히 큰 폭의 상승으로, 우리 모델이 학습한 내재된 언어적 편향을 보여준다. 또한 모델은 SST-2에서 91.3%의 정확도를 달성하여 state-of-the-art 결과와 경쟁할 만한 수준이다. 우리는 또한 GLUE 벤치마크에서 72.8점의 전체 점수를 달성했는데, 이는 이전 최고 점수인 68.9점보다 훨씬 우수하다.

Table 4: 의미론적 유사성 및 분류 결과로, 우리 모델과 현재 state-of-the-art 방법들을 비교한다. 이 표의 모든 task 평가는 GLUE 벤치마크를 사용하여 수행되었다. (mc=mc= Mathews correlation, acc=acc= Accuracy, pc=pc= Pearson correlation)

MethodClassificationSemantic SimilarityGLUE
CoLA (mc)SST2 (acc)MRPC (F1)STSB (pc)QQP (F1)
Sparse byte mLSTM [16]-93.2----
TF-KLD [23]--86.0---
ECNU (mixed ensemble) [60]---81.0\underline{81.0}--
Single-task BiLSTM + ELMo + Attn [64]35.0\underline{35.0}90.280.255.566.164.8
Multi-task BiLSTM + ELMo + Attn [64]18.991.683.572.863.368.9
Finetuned Transformer LM (ours)45.491.382.382.070.372.8

전반적으로, 우리 접근 방식은 우리가 평가한 12개 데이터셋 중 9개에서 새로운 state-of-the-art 결과를 달성했으며, 많은 경우 앙상블 모델을 능가했다. 우리 결과는 또한 우리 접근 방식이 STS-B(약 5.7k 학습 예시)와 같은 작은 데이터셋부터 SNLI(약 550k 학습 예시)와 같은 가장 큰 데이터셋에 이르기까지 다양한 크기의 데이터셋에서 잘 작동함을 보여준다.

5 Analysis

전이된 layer 수의 영향
우리는 비지도 사전학습(unsupervised pre-training)에서 지도 학습 대상 task로 전이되는 layer 수의 변화가 미치는 영향을 관찰했다. Figure 2(왼쪽)는 MultiNLI와 RACE에서 전이된 layer 수에 따른 우리 접근 방식의 성능을 보여준다. 우리는 embedding 전이가 성능을 향상시키고, 각 Transformer layer가 MultiNLI에서 전체 전이 시 최대 9%까지 추가적인 이점을 제공한다는 표준적인 결과를 관찰했다. 이는 사전학습된 모델의 각 layer가 대상 task 해결에 유용한 기능을 포함하고 있음을 나타낸다.

Figure 2: (왼쪽) 사전학습된 language model에서 전이되는 layer 수가 RACE 및 MultiNLI 성능에 미치는 영향. (오른쪽) LM 사전학습 업데이트 횟수에 따른 다양한 task의 zero-shot 성능 변화를 보여주는 그래프. 각 task의 성능은 무작위 추측 baseline과 단일 모델을 사용한 현재 state-of-the-art 사이에서 정규화되었다.

Zero-shot 동작
우리는 Transformer의 language model 사전학습이 왜 효과적인지 더 잘 이해하고자 한다. 한 가지 가설은 기저의 generative model이 언어 모델링 능력을 향상시키기 위해 우리가 평가하는 많은 task를 수행하는 방법을 학습하며, Transformer의 더 구조화된 attention memory가 LSTM에 비해 전이에 도움을 준다는 것이다. 우리는 기저의 generative model을 사용하여 지도 학습 fine-tuning 없이 task를 수행하는 일련의 휴리스틱 솔루션을 설계했다. Figure 2(오른쪽)에서 generative 사전학습 과정 동안 이러한 휴리스틱 솔루션의 효과를 시각화했다. 우리는 이러한 휴리스틱의 성능이 안정적이며 학습이 진행됨에 따라 꾸준히 증가하는 것을 관찰했으며, 이는 generative 사전학습이 다양한 task 관련 기능 학습을 지원한다는 것을 시사한다. 또한 LSTM이 zero-shot 성능에서 더 높은 분산을 보인다는 점을 관찰했는데, 이는 Transformer 아키텍처의 inductive bias가 전이에 도움을 준다는 것을 시사한다.

CoLA(언어적 수용성)의 경우, 예시는 generative model이 할당하는 평균 토큰 log-probability로 점수가 매겨지며, 예측은 임계값 설정을 통해 이루어진다. SST-2(감성 분석)의 경우, 각 예시에 'very' 토큰을 추가하고 language model의 출력 분포를 'positive'와 'negative' 단어로만 제한하며, 더 높은 확률을 할당하는 토큰을 예측으로 선택한다. RACE(질문 응답)의 경우, 문서와 질문에 조건이 주어졌을 때 generative model이 가장 높은 평균 토큰 log-probability를 할당하는 답변을 선택한다. DPRD [46](winograd schemas)의 경우, 대명사를 두 가지 가능한 지시 대상으로 대체하고, 대체 후 나머지 시퀀스에 대해 generative model이 더 높은 평균 토큰 log-probability를 할당하는 해결책을 예측한다.

Ablation 연구
우리는 세 가지 다른 ablation 연구를 수행했다 (Table 5). 첫째, fine-tuning 동안 auxiliary LM objective가 없을 때 우리 방법의 성능을 조사했다. 우리는 auxiliary objective가 NLI task와 QQP에서 도움이 된다는 것을 관찰했다. 전반적으로, 이 경향은 더 큰 데이터셋이 auxiliary objective로부터 이점을 얻지만, 더 작은 데이터셋은 그렇지 않다는 것을 시사한다. 둘째, Transformer의 효과를 분석하기 위해 동일한 프레임워크를 사용하여 단일 layer 2048 유닛 LSTM과 비교했다. 우리는 Transformer 대신 LSTM을 사용할 때 평균 점수가 5.6점 하락하는 것을 관찰했다. LSTM은 MRPC라는 단 하나의 데이터셋에서만 Transformer보다 우수한 성능을 보였다. 마지막으로, 사전학습 없이 지도 학습 대상 task에서 직접 학습된 우리 Transformer 아키텍처와도 비교했다. 우리는 사전학습의 부재가 모든 task에서 성능을 저해하여, 전체 모델에 비해 14.8% 감소하는 결과를 초래한다는 것을 관찰했다.

Table 5: 다양한 task에 대한 다양한 모델 ablation 분석. Avg. score는 모든 결과의 비가중 평균이다. (mc=mc= Mathews correlation, acc=acc= Accuracy, pc=pc= Pearson correlation)

MethodAvg. ScoreCoLA (mc)SST2 (acc)MRPC (F1)STSB (pc)QQP (F1)MNLI (acc)QNLI (acc)RTE (acc)
Transformer w/ aux LM (full)74.745.491.382.382.070.381.888.156.0
Transformer w/o pre-training59.918.984.079.430.965.575.771.253.8
Transformer w/o aux LM75.047.992.084.983.269.881.186.954.4
LSTM w/ aux LM69.130.390.583.271.868.173.781.154.6

6 Conclusion

우리는 **생성적 사전학습(generative pre-training)**과 **판별적 fine-tuning(discriminative fine-tuning)**을 통해 단일 task-agnostic 모델로 강력한 **자연어 이해(natural language understanding)**를 달성하는 프레임워크를 소개했다. 다양한 코퍼스긴 연속 텍스트로 사전학습함으로써, 우리 모델은 상당한 세계 지식장거리 의존성(long-range dependencies)을 처리하는 능력을 습득한다. 이러한 능력은 **질의응답(question answering), 의미 유사성 평가(semantic similarity assessment), 함의 판단(entailment determination), 텍스트 분류(text classification)**와 같은 판별적 task를 해결하는 데 성공적으로 전이되어, 우리가 연구한 12개 데이터셋 중 9개에서 state of the art 성능을 향상시켰다.

비지도 (사전)학습을 사용하여 판별적 task의 성능을 높이는 것은 오랫동안 머신러닝 연구의 중요한 목표였다. 우리의 연구는 상당한 성능 향상이 실제로 가능함을 시사하며, 어떤 모델(Transformer)과 데이터셋(장거리 의존성을 가진 텍스트)이 이 접근 방식에 가장 적합한지에 대한 힌트를 제공한다. 우리는 이 연구가 자연어 이해 및 다른 도메인 모두에서 비지도 학습에 대한 새로운 연구를 가능하게 하여, 비지도 학습이 어떻게, 그리고 언제 작동하는지에 대한 우리의 이해를 더욱 향상시키기를 희망한다.