본문 바로가기
NLP/논문리뷰

[논문 Review] 03. (GPT-1) Improving Language Understanding by Generative Pre-Training

by ㅣlㅣl 2023. 3. 26.

 

universal-domain에 적용할 수 있도록 범용적 사전학습 모델을 구축하자

 


Abstract

NLU는 매우 다양한 작업으로 구성된다. 현실 세계에서 레이블링되지 않은 데이터는 풍부하지만 레이블링 된 데이터는 부족하기 때문에 지도 학습 모델의 한계가 존재하며, 특정 데이터에서 학습된 모델이 다른 태스크에서 좋은 성능을 발휘하기 어렵다.

따라서 레이블링되지 않은 텍스트 데이터를 통해 언어 모델을 생성적으로 사전학습한 후 특정 세부 작업에 대해 파인튜닝 (Fine-tuning) 을 진행하며 좋은 성능을 보일 수 있도록 했다. 

이전 접근 방식과 달리 파인 튜닝 과정 중에 작업에 따른 입력 변환을 사용해 모델 아키텍처를 최소한으로 변경하며 효과적인 전이 학습 효과를 보였다.

즉, 특정 작업에 구애받지 않는 사전 학습 모델을 구축한 후 파인 튜닝을 이용해 다운스트림 태스크에 적용하는 방식을 연구했다.

 

 

1. Introduction

NLP에서 unsupervised learning으로 얻을 수 있는 이점

1. raw text를 효과적으로 학습하는 방법을 배우는 것은 NLP에서 지도학습의 의존성을 낮추는 데에 도움이 된다. 대부분의 딥러닝 메서드는 수동으로 레이블링된 데이터를 요구하고, 때문에 다양한 도메인으로의 적용에는 어느 정도 제약이 있다. 이러한 상황에서 라벨링 되지 않은 데이터로부터 학습해 정보를 얻을 수 있다면, 수동으로 라벨링하는데 드는 자원과 시간을 아낄 수 있다.

2. 또한 지도학습이 충분히 가능하더라도 비지도학습으로 좋은 표현을 학습할 경우 성능을 크게 향상시킬 수 있다. 실제로 사전학습 워드임베딩을 이용한 선행 연구들(10, 39, 42)이 다양한 분야의 NLP 태스크에서 성능 향상을 보여주었다.

[10] R. Collobert and J. Weston. A unified architecture for natural language processing: Deep neural networks
with multitask learning. In Proceedings of the 25th international conference on Machine learning, pages
160–167. ACM, 2008.

[39] T. Mikolov, I. Sutskever, K. Chen, G. S. Corrado, and J. Dean. Distributed representations of words and phrases and their compositionality. In Advances in neural information processing systems, pages 3111–3119, 2013.

[42] J. Pennington, R. Socher, and C. Manning. Glove: Global vectors for word representation. In Proceedings of the 2014 conference on empirical methods in natural language processing (EMNLP), pages 1532–1543, 2014.

 

 

unlabeled text 활용의 어려움

그러나 레이블링되지 않은 텍스트에서 단어 수준 이상의 정보를 활용하는 것에는 다음과 같은 어려움이 존재한다.

1. 전이학습에 유용한 텍스트 표현을 학습하는데 어떤 유형의 최적화 목적함수가 효과적인지 불분명하다.

2. 학습된 표현들을 특정 태스크에 어떻게 전이학습해야 가장 효율적인지 도출된 합의점이 존재하지 않는다.

이러한 불확실성은 NLP에서의 효과적인 준지도학습에 어려움을 준다.

 

 

그래서 만들었다, GPT

이번 논문에서는 준지도학습 접근법(비지도학습 사전학습 + 지도학습 파인튜닝을 탐사하려고 한다.

우리의 목표는 해당 태스크에 맞춘 조금의 Adaption만 거치면 다양한 태스크에 적용이 가능한 범용적인 표현방식을 학습시키는 것이다.

본 논문에서는 레이블이 지정되지 않은 대규모 텍스트 데이터와 소규모 레이블링된 데이터 (해당 태스크에 맞는 데이터)에 액세스할 수 있다고 가정했다. 이 때 대규모 텍스트 데이터는 적용하려는 태스크와 다른 도메인일 수도 있다.

 

준지도 학습을 위해 다음 2개의 학습 과정을 거친다.

  1. 레이블링되지 않은 대규모 데이터에 대한 언어 모델링 목적함수를 사용해 초기 파라미터를 학습
  2. 레이블링된 소규모 데이터를 통해 이러한 초기 매개변수를 다시 학습시키고, 다운스트림 태스크에 적용

 

또한 모델 아키텍처에서는 다양한 작업(기계 번역, 문서 생성, 구문 분석 등)에서 강력한 성능을 발휘하는 것으로 입증된 "트랜스포머" 아키텍처를 사용한다. 이는 RNN에 비해 장기 종속성 문제를 잘 처리할 수 있고, 다양한 태스크에서 보다 robust한 전이학습 성능을 보장한다.

 

  • 트랜스포머 모델 구조?

https://ll2ll.tistory.com/23

 

[논문 Review] 02. Attention is All you need

https://arxiv.org/abs/1706.03762 Attention Is All You Need The dominant sequence transduction models are based on complex recurrent or convolutional neural networks in an encoder-decoder configuration. The best performing models also connect the encoder an

ll2ll.tistory.com

 

 

전이학습 동안 구조화된 텍스트 입력을 하나의 연속적인 토큰 시퀀스로 처리하는 Traversal-style 접근법(52) 에서 파생된 task-specific input adapation을 사용한다. 이를 통해 사전 학습 모델의 아키텍처를 최소한으로 변경하며 효과적으로 파인튜닝을 수행할 수 있다.

[52] T. Rocktäschel, E. Grefenstette, K. M. Hermann, T. Koˇcisk`y, and P. Blunsom. Reasoning about entailment with neural attention. arXiv preprint arXiv:1509.06664, 2015.

 

모델 평가를 위해 NLU의 대표적 유형 4가지 과제를 수행했다.

  • natural language inference (자연어 추론)
  • QA (질의응답)
  • semantic similarity (유사도 분석)
  • text classification (텍스트 분류)

평가해본 결과, 작업 유형에 구애받지 않고, 범용적으로 활용 가능한  모델은 태스크에 맞추어 학습된 모델들보다 뛰어난 성능을 보였다.

 

2. Related Work

Semi-supervised learning for NLP

지난 몇 년간 연구자들은 레이블링 되지 않은 텍스트 데이터에 대해 학습된 단어 임베딩을 사용하여 다양한 작업 성능을 개선하는 것을 입증해왔다. 그러나 이전의 연구는 주로 단어 레벨의 정보를 전이학습해왔다.

최근 연구에서는 단어 레벨의 정보에서 벗어나 보다 높은 수준의 의미를 인식하고 활용하고자 했다. 구 혹은 문장 단위의 임베딩은 다양한 target task에 적합한 벡터 표현으로 텍스트를 인코딩하는 데 사용되었다.

구 - 문장 단위 임베딩 연구들

더보기
[28] R. Kiros, Y. Zhu, R. R. Salakhutdinov, R. Zemel, R. Urtasun, A. Torralba, and S. Fidler. Skip-thought vectors. In Advances in neural information processing systems, pages 3294–3302, 2015.
[32]Q. Le and T. Mikolov. Distributed representations of sentences and documents. In International Conference on Machine Learning, pages 1188–1196, 2014.
[1] S. Arora, Y. Liang, and T. Ma. A simple but tough-to-beat baseline for sentence embeddings. 2016.
[36] L. Logeswaran and H. Lee. An efficient framework for learning sentence representations. ICLR, 2018.
[22] Y. Jernite, S. R. Bowman, and D. Sontag. Discourse-based objectives for fast unsupervised sentence representation learning. arXiv preprint arXiv:1705.00557, 2017.
[12] A. Conneau, D. Kiela, H. Schwenk, L. Barrault, and A. Bordes. Supervised learning of universal sentence representations from natural language inference data. EMNLP, 2017.
[56] S. Subramanian, A. Trischler, Y. Bengio, and C. J. Pal. Learning general purpose distributed sentence representations via large scale multi-task learning. arXiv preprint arXiv:1804.00079, 2018.
[31] G. Lample, L. Denoyer, and M. Ranzato. Unsupervised machine translation using monolingual corpora only. ICLR, 2018.

 

본 연구에서는 최근 연구 접근법들과 같이 단어 레벨의 정보보다 더 높은 수준의 의미를 인식하고 전이학습하는 것을 목표로 한다.

 

 

Unsupervised pre-training

비지도 사전 훈련은 지도 학습 목적함수를 수정하는 대신 좋은 초기화 지점을 찾는, 준지도 학습의 특수한 경우라고 볼 수 있다. 실제로 다른 분야의 태스크 (이미지 분류, 회귀 예측) 에서 이미 이 기술을 사용해 DNN 모델의 일반화 성능을 더 좋게 한 선행 연구들이 존재했다.

기존 연구(13, 21)는 text classification task에서 우리가 하려는 방식이랑 비슷하게 이 방법을 적용했다.

1. 언어 모델링 목적함수를 사용해 사전 훈련

2. 그 후 지도학습을 통해 타 작업에 대해 파인튜닝을 진행

[13] A. M. Dai and Q. V. Le. Semi-supervised sequence learning. In Advances in Neural Information Processing
Systems, pages 3079–3087, 2015.
[21] J. Howard and S. Ruder. Universal language model fine-tuning for text classification. Association for
Computational Linguistics (ACL), 2018.

하지만 LSTM 모델을 사용했기에 장거리 의존성 문제에 취약했고, 짧은 시퀀스 문장에서만 제대로 성능을 발휘했다.

반면 우리가 채택한 트랜스포머 모델은 보다 더 긴 시퀀스를 처리할 수 있으므로 더욱 효과적일 것으로 예상된다.

 

Auxiliary training objectives

보조 비지도 학습 목적함수를 추가하는 것은 준지도 학습의 또다른 형태이다.

Semantic role labeling 개선을 위해 POS 태깅, 청킹, 엔티티 인식, 언어 모델링과 같은 다양한 보조 NLP 작업을 사용한 선행 연구가 존재한다.

[10] R. Collobert and J. Weston. A unified architecture for natural language processing: Deep neural networks
with multitask learning. In Proceedings of the 25th international conference on Machine learning, pages
160–167. ACM, 2008.

더 최근에는, 기존 작업 목적함수에 보조 언어 모델링 목적함수를 추가하여 시퀀스 라벨링 작업에서 성능 향상을 입증했다.

[50] M. Rei. Semi-supervised multitask learning for sequence labeling. ACL, 2017.

 

 

선행 연구에서는 어떤 방식으로 보조 언어 모델링 목적함수를 추가했을까?

더보기

 

위 논문에서는 모든 단어에 대한 주변 단어를 예측하는 방법을 학습하는 보조 훈련 목적함수를 가진 시퀀스 레이블링 프레임워크를 제안했다.

언어 모델링 목적함수는 시스템이 의미론 및 구문 구성의 범용 패턴을 학습하도록 장려하며, 이는 또한 다양한 시퀀스 레이블링 작업의 정확도를 향상시키는 데 유용하다.

 

다음과 같이 추가 목적함수를 기존의 학습 목적함수 E와 결합해 새로운 비용 함수 \(\tilde{E}\) 를 학습하는 방식으로 바꾼다. (이 때 \(\gamma\)는 시퀀스 레이블링 목적함수와 비교하여 언어 모델링 목적함수의 중요성을 제어하는 데 사용되는 파라미터이다.)

 

우리 실험도 이와 같은 보조 학습 목적함수를 사용하지만, 비지도 사전학습 과정에서 이미 target task와 관련있는 여러 언어학적 측면을 배우게 된다는 점에서 차이가 존재한다.

 

3. Framework

학습 절차는 앞서 설명한 것과 같이 두 단계로 구성된다.

  1. Unsupervised pre-training : 레이블링되지 않은 대규모 텍스트 데이터를 통한 사전학습 -> 범용적 언어 모델 구성
  2. Supervised fine-tuning : 레이블링된 소규모 데이터를 통한 파인 튜닝 -> 다운스트림 태스크 적용

 

3.1 Unsupervised pre-training

레이블링되지 않은 토큰 \(U = (u_1, ... ,u_n)\) 에 대해 아래 수식을 최대화하는 학습을 진행한다.

 

$$L_1(U) = \sigma_i log P(u_i | u_{i-k}, ..., u_{i-1}; \Theta)$$

 

  • k : 컨텍스트 윈도우 크기
  • P : 조건부 확률
  • Theta : 신경망 파라미터

이 때 파라미터는 SGD를 통해 학습된다.

 

언어 모델에는 트랜스포머를 변형한 다층 트랜스포머 디코더(34)를 사용했다.

[34] P. J. Liu, M. Saleh, E. Pot, B. Goodrich, R. Sepassi, L. Kaiser, and N. Shazeer. Generating wikipedia by summarizing long sequences. ICLR, 2018.

 

다층 트랜스포머 디코더의 구성?

더보기

트랜스포머에서 인코더를 제외하고 다음과 같이 디코더만 사용했다.

 

 이미지 출처 : https://ratsgo.github.io/nlpbook/docs/language_model/bert_gpt/

 

논문에서 제시된 디코더 아키텍처

 


 

디코더 층만 사용한 이유는 선행 연구인 < Generating wikipedia by summarizing long sequences> 에서 확인할 수 있다.

추상 모델의 경우 시퀀스 변환에 사용되는 일반적인 인코더-디코더 아키텍처보다 디코더만 사용한 아키텍처가 훨씬 긴 시퀀스에 적용이 가능하다.

  • 처음에는 seq2seq-att (LSTM 기반 어텐션 적용 모델) 을 사용했지만, 이후 발표된 non-recurrent Transformer (T-ED)를 사용했다.
  • 이전 T-ED 모델은 트랜스포머 논문과 동일하게 인코더-디코더 모듈을 가지고 있었다.
  • 여기서 인코더 모듈을 없애고 (파라미터를 절반으로 줄이고) , 입출력 시퀀스를 단일 “문장”으로 결합해 표준언어모델로써 훈련했을 때 경험적으로 더 좋은 성능을 보였다.
P. J. Liu, M. Saleh, E. Pot, B. Goodrich, R. Sepassi, L. Kaiser, and N. Shazeer. Generating wikipedia by
summarizing long sequences. ICLR, 2018.

 

 

다층 트랜스포머 디코더 블록에서는 input context token에 multi-headed self-attention 연산을 적용한 다음 position-wise feedforward layer를 거쳐 target token에 대한 출력 분포를 생성했다.

 

수식은 아래와 같다.

$$h_0 = UW_e + W_p$$

$$h_l = transformer\_block(h_{l-1} \forall \in [1,n]$$

$$P(u) = softmax(h_nW_e^T)$$

 

  • \(U = (u_{-k}, ..., u_{-1})\) : 토큰의 컨텍스트 벡터
  • n : 레이어 개수
  • \(W_e\) : 토큰의 임베딩 행렬
  • \(W_p\) : 포지션 임베딩 행렬

 

포지션 임베딩 행렬?

더보기

여기서는 트랜스포머 원문에서처럼 sin, cos 함수를 이용한 수식으로 포지셔널 인코딩을 계산한 것이 아니라 학습 가능한 파라미터를 두고 토큰 위치를 SGD를 통해 업데이트했다.

https://ai.stackexchange.com/questions/24831/what-is-the-difference-between-the-positional-encoding-techniques-of-the-transfo

 

GPT 코드를 살펴보면 학습 가능하고 무작위로 초기화된 위치 임베딩을 사용한 것을 알 수 있다.

def model(hparams, X, past=None, scope='model', reuse=False):
    with tf.variable_scope(scope, reuse=reuse):
        results = {}
        batch, sequence = shape_list(X)

        wpe = tf.get_variable('wpe', [hparams.n_ctx, hparams.n_embd],
                             initializer=tf.random_normal_initializer(stddev=0.01))
        wte = tf.get_variable('wte', [hparams.n_vocab, hparams.n_embd],
                             initializer=tf.random_normal_initializer(stddev=0.02))
        past_length = 0 if past is None else tf.shape(past)[-2]
        h = tf.gather(wte, X) + tf.gather(wpe, positions_for(X, past_length))

 

 

 

 

3.2 Supervised fine-tuning

사전 학습 진행 후 파라미터를 해당 작업에 맞게 다시 파인튜닝한다.

레이블링된 데이터셋 C를 가정하고, input token sequence는 \(x^1,....x^m\), label = y로 두자.

 

입력은 사전 학습 모델을 통과해 최종 트랜스포머 디코더 블록의 activation \(h^m\)을 얻은 다음, 파라미터 \(W_y\)가 존재하는 선형 출력 계층으로 들어가 y를 예측한다.

$$P(y|x^1, ... ,x^m) = softmax (h_l^mW_y)$$

 

따라서 이는 다음 목적 함수를 최대화하는 것으로 귀결된다.

$$L_2(C) = \sum_{(x,y)} log P(y|x^1,...,x^m)$$

 

또한 파인 튜닝의 보조 목표로 언어 모델링을 포함하는 것이 다음과 같은 점에서 학습에 도움을 준다는 사실을 발견했다.

  • 지도학습 모델의 일반화 성능 개선
  • 수렴을 가속화

 

따라서 선행 연구에서와 같이 (섹션 2 참고) 다음과 같은 최종 목적 함수를 설정했다.

$$L_3(C) = L_2(C) + \lambda \times L_1(C)$$

  • (\(\lambda\)는 보조 학습 목적함수의 중요성을 조절하는 파라미터)

전체적으로 봤을 때 파인튜닝 하며 추가적으로 필요한 파라미터는 \(W_y\), 구분자 토큰을 위한 임베딩밖에 없다!

즉 전체적인 모델 구조를 변경하지 않고 파인튜닝을 하려는 본래의 목적을 달성한 것이다.

 

 

3.3 Task-specific input transformations

Text Classification 같은 한 개의 문장을 가진 태스크는 바로 파인 튜닝이 가능하나, QA나 자연어 추론과 같은 경우 두 개 혹은 세 개의 문장 쌍이 존재 (문서, 질문, 답변) 한다.

사전학습 모델이 연속된 텍스트 시퀀스에 대해 학습되었으므로 두 개 이상의 문장 쌍을 가진 작업에 적용을 위해서는 입력에 약간의 수정이 필요하다. 

 

이전 연구에서는 transferred representations 상단에 태스크 특화 아키텍처를 추가하는 방식을 제안했다.

M. E. Peters, M. Neumann, M. Iyyer, M. Gardner, C. Clark, K. Lee, and L. Zettlemoyer. Deep contextualized word representations. NAACL, 2018.

: 우리가 흔히 얘기하는 ELMo 모델!

그러나 이러한 접근 방식은 상당한 양의 작업별 맞춤화를 다시 도입하게 하며 추가 아키텍처 구성 요소에 대해서는 전이 학습을 사용하지 않는다는 한계점을 가지고 있다.

 

이를 해결하기 위해 구조화된 텍스트 입력을 사전학습된 모델이 처리할 수 있는 정렬된 시퀀스로 변환하는 traversal-style approach를 사용한다.

QA라고 가정했을 때, (질문, 답변) 쌍으로 묶여있는 것을 구조화된 텍스트 입력이라고 한다.

이렇게 하면 기존 ELMo 같은 모델에서 썼던 방법론과는 다르게 광범위한 아키텍처 변경을 피할 수 있기 때문이다.

 

Traversal-style approach가 뭔데?

더보기

 

delimeter를 두고 premise와 hypothesis를 하나의 input sequence로 변환한 것을 볼 수 있다

 

선행논문 (52) 에서 언급된 구조는 위 그림과 같다.

 [52] T. Rocktäschel, E. Grefenstette, K. M. Hermann, T. Koˇcisk`y, and P. Blunsom. Reasoning about entailment with neural attention. arXiv preprint arXiv:1509.06664, 2015.

 

디코더 아키텍처와 입력 변환 예시

 

본 논문에서도 이와 같이 둘 이상의 문장으로 구성된 구조는 Delimeter로 구분하고, 입력의 시작과 끝은 Start, Extract 토큰으로 구분하는 것을 알 수 있다.

 

 

 

아래는 태스크에 따른 입력 변환 예시이다.

 

디코더 아키텍처와 입력 변환 예시

모든 변환은 랜덤하게 초기화된 start, end token(<s>, <e>) 을 포함한다. 

 


 

어떤 태스크들이지?

 

입력 변환에 대해 자세히 살펴보기 전, 각각 어떤 태스크들인지 살펴보고 가도록 하겠다.

 

  • Classification : 문장 분류 (스팸 메일 분류, 감성 분류 등)
  • Textual entailment : 두 문장 사이의 의미 관계를 함의, 모순, 중립으로 분류하는 문장 쌍 분류
    • 문장쌍은 (전제, 가설)로 구성되어 있다
    • 함의 : 가설의 내용이 참
    • 모순 : 가설의 내용이 거짓
    • 중립 : 가설의 내용을 전제 문장만으로는 판단이 불가능

 

 

Textual entailment - 한국어 텍스트 데이터셋 KLUE 에서의 예시

더보기

전제 문장 :  "부산은 블록체인 기술을 활용한 실증사업이 금융분야까지 확장하고, 대전은 바이오 스타트업에 병원체 공용연구시설을 공유하는 등 일부 기조 특구에도 사업이 추가됐다."

 

가설 문장 : "부산과 대전 등 기존 특구에는 사업들이 모두 폐지됐다.”

 

전제 문장에서 ("부산은", "대전은", "일부 기존 특구에도", "사업이 추가됐다.")를 통해 가설 문장과 전제 문장이 서로 모순됨을 알 수 있다.

 

 KLUE: Korean Language Understanding Evaluation (Sungjoon Park et al., 2021)

 

 

 

  • Similarity (Semantic similarity assessment) : 두 문장이 의미론적으로 얼마나 비슷한지 확인하는 태스크
    • "car" 라는 단어가 "cat"보다는 "bus"에 가깝다는 것을 모델이 인식해야 함
https://paperswithcode.com/task/semantic-similarity

 

  • QA : 주어진 질문과 정보에 대한 이해를 기반으로 한 응답

이미지 출처 : https://huggingface.co/tasks/question-answering

 

  • Commonsense Reasoning  : 일상적인 상황의 유형과 본질에 대해 추측하는 인간과 같은 능력, 즉 인간의 상식적인 추론
https://en.wikipedia.org/wiki/Commonsense_reasoning

 

 


모든 구조화된 입력을 토큰 시퀀스로 변환해 사전 학습 모델에서 사용될 수 있도록 했고, 끝에는 linear + softmax layer를 사용해 출력 분포를 얻을 수 있었다.

 

 

Textual Entailment

입력을 하나의 시퀀스로 만들기 위해 premise(전제) p와 hypothesis(가설) h 토큰을 delimeter '$'로 구분짓고 붙인다.

$$ [start] + premise(p) + '$' + hypothesis(h) + [extract] $$

 

Similarity

유사성 태스크의 경우, 비교 중인 두 문장 사이에는 고유한 순서가 존재하지 않는다.

이를 반영하기 위해서 입력 시퀀스가 가능한 문장 순서(구분기호 포함)를 모두 포함하도록 수정하고, 각각을 독립적으로 처리한 다음 요소별 연산이 적용된 두 개의 시퀀스 표현 \(h_l^m\)을 생성한 후에 선형 출력 레이어에 집어넣는다.

$$ [start] + text1 + [delimeter] + text2 + [extract] $$

$$ [start] + text2 + [delimeter] + text1 + [extract] $$

 

QA and Commonsense Reasoning

문서 z, 질문 q, 가능한 대답 집합 \(a_k\)가 주어진다.

문서와 질문을 가능한 대답과 연결하고, 구분자 $를 넣어서\( [z;q;$;a_k]\)를 생성해낸다.

각 시퀀스는 모델에 의해 독립적으로 처리되고 softmax 레이어를 통해 정규화된 후 가능한 정답들에 대한 분포를 출력해낸다.

$$ [start] + z + q + '$' + a_1 + [end] $$

$$ [start] + z + q + '$' + a_2 + [end] $$

$$ [start] + z + q + '$' + a_3 + [end] $$

 

 

4. Experiments

4.1 Setup

Unsupervised Pretraining

  • BooksCorpus dataset : 긴 텍스트를 가지고 있어 생성 모델이 긴 범위에서의 정보를 학습할 수 있도록 함

ELMo에서 사용하는 데이터셋인 1B Word Benchmark는 크기가 비슷하지만, 문장 단위에서 셔플되어 있어 긴 범위에서의 정보가 소실된다.

 

Model specifiactions

기본적으로 이전 트랜스포머 연구를 많이 따른다.

  • 12 레이어의 디코더로만 구성
  • 디코더에는 마스킹된 셀프 어텐션 헤드(768 차원, 12개의 어텐션 헤드)가 적용
  • positional FFN에는 3072 내부 차원 사용
  • Optimizer : Adam (최대 학습률 2.5e-4)
  • 학습 속도가 2000번 업데이트 동안 선형적 증가했고 코사인 스케줄링으로 0까지 줄임
  • 랜덤 샘플링 사용
  • mini-batch size : 64, epochs: 100, maximum token-length : 512
  • layer-norm이 모델 전반에 걸쳐 광범위하게 사용되기 때문에 N(0, 0.02)의 간단한 가중치 초기화
  • BPE 40,000 merges
  • residual, embedding, attention dropout rates = 0.1
  • modified L2 regularization (I. Loshchilov and F. Hutter. Fixing weight decay regularization in adam. arXiv preprint arXiv:1711.05101,
    2017.)
  • activation : GELU (D. Hendrycks and K. Gimpel. Bridging nonlinearities and stochastic regularizers with gaussian error linear
    units. arXiv preprint arXiv:1606.08415, 2016.)
  • 트랜스포머에서의 사인 곡선 대신 학습된 위치 임베딩 사용
  • fify 라이브러리로 BooksCorpus text 클리닝
  • spaCy 토큰화 사용

 

Fine-tuning details

명시되지 않은 한 비지도사전학습에서 쓰인 하이퍼파라미터 세팅을 그대로 사용했다.

  • 분류기에 dropout을 적용 (dr_rate = 0.1)
  • learning rates = 6.25e-5
  • batch_size = 32
  • epochs = 3 (파인 튜닝은 사전학습에 비해 훨씬 빨리 이뤄짐)
  • linear learning rate decay schedule : warmup = 0.2%, lambda = 0.5

 

 

4.2 Supervised fine-tuning

[표 1] 수행 능력 평가에 사용된 데이터셋

 

 

Natural Language Inference

어휘적 수반, 상호 참조, 어휘적 및 구문적 모호성과 같은 매우 다양한 현상의 존재로 인해 어려운 과제이다.

평가는 다섯 가지 데이터셋을 사용해 이루어졌다.

 

  • SNLI : 이미지 캡션
  • MNLI : 필사된 연설, 인기 소설, 정부 리포트
  • QNLI : 위키피디아
  • SciTail : 과학 시험
  • RTE : 뉴스 기사

[표 2] NLU 성능 평가표

5개 중 4개의 데이터셋 (= RTE 빼고 다) 에서 확연하게 좋은 성능을 보였다.

이는 여러 문장을 더 잘 추론하고 언어적 모호성을 처리할 수 있는 모델의 능력을 시사한다.

 

작은 데이터셋인 RTE에서는 다소 낮은 수치를 보였는데, 멀티태스크 학습을 통해 작은 데이터에서도 강력한 성능을 보일 것으로 예상되나 현재로서는 아직 진행되지 않았다.

 

 

QA and commonsense reasoning

  • RACE : 영문 지문과 연관된 질문이 나와있는 중고교 시험
  • Story Close Test : 멀티 문장 이야기에 대해서 맞는 엔딩을 고르는 문제

[표 3] QA & 상식 추론 성능 평가표

 

모델이 긴 문장에서도 효과적으로 성능을 발휘했다.

 

 

Semantic Similarity

이 태스크의 어려움은 개념의 rephrasing을 이해하고, 부정을 이해하며 구문적 모호성을 처리하는 데에 있다.

  • MRPC : Microsoft Paraphrase corpus (뉴스 소스로부터 가져옴)
  • QQP : quora question pairs
  • STS-B : semantic Textual similarity benchmark

 

 

Classification

  • CoLA : The Corpus of Linguistic Acceptability
    • 훈련된 모델의 선천적인 언어적 편향을 테스트
    • 문장이 문법적으로 옳은지 아닌지 전문가의 평가를 포함함
  • SST-2 : The Stanford Sentiment Treebank
    • 표준적인 감정 이진 분류 태스크

[표 4] 의미 유사성 & 분류 성능 평가표

 

 

모두 기존 SOTA보다 크게 향상되었다.

 

총 12개의 데이터셋 중 9개에서 SOTA를 얻었고, 많은 경우 앙상블을 능가하는 성능을 보였다.

작은 데이터셋 (STS-B) ~ 큰 데이터셋(SNLI)을 모두 아울러 좋은 성능을 보였으므로, 다양한 크기의 데이터셋에서 모델이 잘 작동한다는 것을 확인할 수 있었다.

 

 

 

5. Analysis

Impact of number of layers transferred

비지도 사전학습에서 task-specified 지도학습으로 전이를 진행할 때 레이어 개수에 따른 영향을 조사해보았다.

 

[그림 2]&nbsp;RACE와 MultiNLI 데이터셋에서 사전학습 모델의 레이어를 늘렸을 때의 성능 비교

임베딩을 전이하면 성능이 향상되고 각 트랜스포머 레이어가 multiNLI에서 전체 전이 시 최대 9%의 추가적인 이점을 제공한다는 결과를 관찰할 수 있었다.

 

이는 사전훈련된 모델의 각 레이어에 대상 작업을 해결하는 데 유용한 기능이 포함되어 있음을 나타낸다.

 

 

 

Zero-shot Behaviors

트랜스포머의 언어 모델 사전 훈련이 효과적임을 더 잘 이해하고자 한다.

 

우리는 기본 생성 모델을 사용하여 지도학습 파인튜닝 없이 작업을 수행하는 일련의 휴리스틱 솔루션을 설계했다.

그림 2의 오른쪽 그래프가 업데이트 횟수에 따른 각 모델의 성능을 나타낸 것이다.

 

학습이 거듭될수록 성능이 안정적으로 증가하는 것을 확인할 수 있고, 이는 생성적 사전훈련이 다양한 작업 관련 기능의 학습을 돕고 있음을 나타낸다. 또한 LSTM이 zero-shot 작업 성능에서 높은 편차르 보이는데, 이는 트랜스포머 아키텍처가 전이학습에 도움을 주는 것을 나타낸다. 그 까닭은 트랜스포머의 더 구조화된 메모리가 LSTM에 비해 전이학습을 효과적으로 할 수 있도록 도와주기 때문이라고 추측한다.

 

  • CoLA (linguistic acceptability) : 생성 모델이 할당하는 평균 토큰 로그 확률로 예제가 점수화되고 임계값에 의해 예측이 이루어진다.
  • SST-2 (sentiment analysis) : 토큰을 각 예시에 추가하고 언어 모델의 출력 분포를 긍정 및 부정 단어로만 제한한 후, 더 높은 확률을 할당하는 토큰을 예측으로 내놓는다.
  • RACE (QA) : 생성 모델이 문서와 질문에 조건화되었을 때 가장 높은 평균 토큰 로그 확률을 할당하는 답변을 선택한다.
  • DPRD (winograd schemas) : 확정 대명사를 가능한 두 개의 참조로 대체하고, 생성 모델이 대체 후 나머지 시퀀스에 더 높은 평균 토큰 로그 확률을 할당하는 resolution를 예측한다.

 

 

Ablation studies

요소를 하나씩 제거하며 모델 구성요소의 중요성을 알아본다.

[표 5] 각 태스크에서의 ablation study

  • mc = mathews correlation
  • acc = accuracy
  • pc = pearson correlation

 

 

  • 파인 튜닝 수행 시 보조 LM 학습 목표가 존재하지 않을 경우

보조 LM objective가 nli와 QQP 태스크에서 도움을 준다는 것을 확인했다. 

전반적으로 데이터셋이 클수록 보조 학습목표가 도움을 주지만 데이터셋이 작을수록 그 도움은 크지 않았다.

 

  • 동일한 프레임워크로 트랜스포머 VS 단일레이어 2048 unit의 LSTM

트랜스포머 대신 LSTM을 사용했을 때 평균 5.6점 정도의 스코어 하락이 있었다.

단, MRPC에서는 트랜스포머를 능가하는 성능을 보였다.

 

  • 사전학습 없이 바로 지도학습만 진행

사전 학습이 없을 경우 모든 작업에서 성능이 저하되어 전체 모델에 비해 약 14.8%의 성능저하가 발생했다.

 

 

 

6. Conclusion

생성적 사전학습과 차별화된 파인튜닝을 통해 단일 작업에 구애받지 않는 모델로 강력한 자연어 이해를 달성하기 위한 프레임워크를 도입했다.

 

긴 연속 텍스트 범위를 가진 다양한 텍스트 데이터에 대한 사전 훈련을 통해 GPT는 장기 의존성 문제를 처리할 수 있는 중요한 범용적 지식과 능력을 획득한 후 4가지 태스크를 해결하는 데 성공적으로 전이학습을 수행했고, 12개 중 9개의 데이터셋에서 SOTA를 달성했다.

 

파인튜닝에 대한 성능을 향상시키기 위해 비지도 사전훈련을 사용하는 것은 오랫동안 기계 학습 연구의 중요한 목표였다.

 

이번 연구에서는 상당한 성능 향상을 달성하는 것이 실제로 가능하다는 것을 입증했고, 어떤 모델(트랜스포머)과 데이터셋(장거리 종속성이 있는 텍스트)이 이 접근 방식에서 가장 잘 작동하는지에 대한 힌트를 제공한다.

 


참고 문헌

 

Improving language understanding with unsupervised learning

We’ve obtained state-of-the-art results on a suite of diverse language tasks with a scalable, task-agnostic system, which we’re also releasing. Our approach is a combination of two existing ideas: transformers and unsupervised pre-training. These re

openai.com