[Paper] Improving Language Understanding by Generative Pre-Training

cateto·2022년 4월 3일
0


논문 링크

소개

  • 현실에 존재하는 Unlabeled Dataset이 훨씬 많음.
    • Unlabeled Text Corpora를 가지고 Generative Pre-Training of a Language Model 을 가지고 임베딩 벡터를 찾자. 그리고 downstream task에 대해 Supervised Learning 을 수행하자.
  • 그러나 Unlabeled Text를 활용하는 것에 Challenging이 있다.
    • 단어수준(word level)이상의 정보를 얻기가 쉽지 않음.
    • 어떤 objective function이 transfer에 효과적인지 불분명함.
    • task마다 학습된 representaion을 전달하는 효과적인 방법에 대한 일치된 의견(consensus)가 없음.
  • GPT의 개요
    • Unsupervised Pretraining + Supervised Finetuning = Semi-supervised learning
    • Step 1 ) Unlabeled Corpus에서 LM Objective를 사용
    • Step 2 ) Supervised Objective를 특정 task에 적용
  • GPT의 구조
    • TransformerDecoder Block을 사용함


    • Encoder-Decoder block도 제외


    • Self-attention과 Masked self-attention의 차이 : 이전 토큰만 본다. 전부 다 본다.

    • Decoder only block인데, 원래의 트랜스포머의 encoder-decoder self-attention은 제외.
      또한 Decoder block을 몇개쌓느냐는 하이퍼파라미터가 된다.

Task마다 Specific한 INPUT의 형태

예를 들면 분류 Task(Classfication)의 경우에는 labeled Text를 Input으로 사용하고 Transformer decoder block의 마지막 부분에서 Linear 함수를 적용하여 최적화한다.

Corpus

두 종류의 Corpus를 pretrain에 사용.

Experiment

supervised learning에 대한 Task는 4가지 분류로, 다음과 같은 데이터셋을 사용하였고 여러 부문에서 SOTA를 달성

ablation study

  1. gpt 블록을 몇개 쌓아야 하는가?

    최대 12개로 쌓았을때 점점 성능이 향상됨을 보임.

  2. Zero-shot 학습과 labeled corpus 주어진 학습 비교.

    supervised learning이 성능이 훨씬 향상됨.

  1. 전체 과정을 수행
  2. transfomer이면서 LM에 대한 부분을 목적 함수를 추가 (Pretraining을 안함)
  3. finetuning을 제외한것
  4. LSTM을 통해 LM만 사용한것

⇒ 결론 : 데이터셋이 작으면 LM을 사용하지 않는게 차라리 낫다. task specific한 데이터를 파인튜닝하지 않는게 차라리 낫다. LSTM을 사용한것은 하나의 데이터셋에 대해서만 더 강세를 보임(RTE)

profile
Curious for Everything

0개의 댓글