본문 바로가기
  • 책상 밖 세상을 경험할 수 있는 Playground를 제공하고, 수동적 학습에서 창조의 삶으로의 전환을 위한 새로운 라이프 스타일을 제시합니다.
Natural Language Processing

[2023-2] 양소정 - Improving Language Understanding by Generative Pre-Training

by did_so 2023. 11. 28.

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 이상의 정보를 활용하는 것 어려운 과제
    1. Unlabeled text data만으로 어떠한 목적 함수가 transfer에 가장 효과적인지 분명하지 않음
    2. Target task가 주어졌을 때 각 task에 대해 가장 효과적으로 transfer 하는 방법이 무엇인지 consensus가 없음

Framework

  • 학습 절차는 두 단계로 구성되어 있음
    1. 많은 양의 text corpus에서 high-capacity language 모델 학습 단계
    2. fine-tuning 단계: labeled 데이터로 모델을 차별적인 task에 적용시킴

Unsupervised pre-training

(1) L1(U)

  • U = {u1, ..., un}: Unsupervised token corpus
  • Standard language modeling 함수의 목표: L1(U)를 최대화
    • k: the size of the context window
    • P: 해당 neural network에 의해 모델링 된 조건부 확률
      - ϴ: stochastic gradient descent로 학습되는 파라미터

(2)

  • GPT의 구조: multi-layer transformer decoder
    • transformer의 변형
  • h0: 처음 input
  • hl: l번째 hidden state
    1. l-1번째 hidden state vector를 입력받음
    2. input context tokens에 multi-headed self-attention 연산을 적용한 후 position-wise feedforward layers를 적용하여 대상 토큰에 대한 output 분포를 생성함 = 하나의 decode block을 통과시키는 과정
    3. 이 과정을 n번만큼 반복 (= decode block을 몇 개(n)를 쌓느냐가 hyper parameter)
    4. 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: 앞에 주어진 시퀀스를 통해 다음 단어가 무엇인지를 예측하고자 함

  1. input은 pre-trained 모델을 통해 최종 transformer block의 activation hlm을 얻음 
  2. hlm을  매개변수 Wy와 함께 추가된 linear output layer에 입력하여 y를 예측함
  3. softmax를 사용해서 확률 값을 계산함
    (3)
  4. 이 과정을 통해 (4) 함수를 극대화할 수 있음

(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 모델링에 포함하면 아래 두 가지의 장점이 있음
    1. supervised learning에 대한 generalization ability가 향상됨
    2. 학습 속도가 빨라짐(= convergence가 더 빨리 늘어남)
  • 함수(weight λ)를 최적화함

(5)


L1(U)를 통해서 먼저 language model을 pre-training하고 다시 task specific 한(labeled) 데이터셋이 주어지면
해당 데이터셋에 대한 language model fine-tuning과 supervised learning에 해당하는 목적 함수를 함께 결합해서 극대화함으로써
더 좋은 성능을 얻을 수 있음

 

Task-specific input transformations

Figure 1

  • 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
    1. BooksCorpus dataset for training the language model
      • 출판되지 않은 다양한 장르의 7,000 이상의 도서
    2. 1B Word Benchmark
      • sentence level에서 shuffle하여 long-range structure가 해체된 데이터

Table 1: A list of the different tasks and datasets used in our experiments

  • 4가지 task를 사용함
  • Finetuned Transformer LM = GPT와의 비교  
    1. Natural language inference
      • Table 2: 자연어 추론 작업natural language inference에 대한 실험 결과
      • 5x: 5개의 모델의 앙상블
      • 모든 데이터셋은 정확도를 평가 지표로 사용함
        Table 2
    2. Question Answering
      • Table 3: 질의응답question answering과 상식 추론commonsense reasoning에 대한 결과
      • 9x: 9개의 모델의 앙상블
        Table 3
    3. Sentence similarity
    4. Classification
      • Table 4: 의미론적 유사성semantic similarity 및 분류classification 결과

Table 4

 

  • Finetuned Transformer LM은 평가한 12개의 데이터셋 중 9개의 데이터셋에서 새로운 최첨단new state-of-the-art 결과를 얻음
  • 소규모 데이터셋 STS-B(≈5.7k)부터 가장 큰 데이터셋 SNLI(≈550k)까지, 다양한 크기의 데이터셋에서 Finetuned Transformer LM이 잘 작동함

Analysis

Figure 2

  • 왼쪽: 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보다 성능이 좋음

Table 5

  • 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만 추가적으로 사용한 것, 목적함수로 사용한 것
  • 결과
    • 성능이 안정적이고 꾸준히 증가함
    • LSTMzero-shot에서 더 높은 분산을 나타냄 (= 낮은 정확도)

Conclusion

  • GPT와 차별적 fine-tuning을 통해 single task-agnostic model로 강력한 자연어 이해를 달성하기 위한 프레임워크를 도입함
  • 차별적인 작업에 대한 성능을 높이기 위해 unsupervised (pre-) training을 사용하는 것은 오랫동안 기계 학습 연구의 중요한 목표
  • 본 논문의 연구는 상당한 성능 향상을 실제로 달성할 수 있음을 시사하며, 이 접근 방식에서 어떤 모델(transformer)과 데이터셋(text with long range dependencies)이 가장 잘 작동하는지에 대한 힌트를 제공함
  • 이를 통해 자연어 이해와 다른 영역 모두에 대한 unsupervised learning에 대한 새로운 연구가 가능해져 unsupervised learning이 작동하는 방법과 시기에 대한 이해도를 더욱 높이는 데 도움이 되기를 바람