.box_article .article_cont p code

상세 컨텐츠

본문 제목

0. [Paper Review] Transformer to T5 (XLNet, RoBERTa, MASS, BART, MT-DNN,T5)

심화 스터디/NLP 스터디2

by 금지헌 2021. 9. 19. 14:42

본문

0. AE & AR

: 자연어 처리 모델 Pretraining의 대표적인 두 Objective

Auto Encoding

손상된 문장을 원래대로 복원하는 사전학습 태스크 수행

Auto Regressive

단어들이 주어졌을 때 뒤에 올 단어 예측하는 태스크 수행

1. XLNET

  • AE 방식과 AR 방식에는 문제점이 있다고 판단하여 각각의 문제점을 보완하고 둘을 함께 사용하고자 시도한 모델
  • BERT 이후 처음으로 의미 있는 성능 향상을 이루어낸 모델

AE의 문제점:

  1. [MASK] token이 독립적으로 예측되기 때문에 token 사이의 dependency는 학습할
  2. 수 없음
  3. Fine-tuning 과정에서 [MASK] token이 등장하지 않기 때문에 pre-training과
  4. fine-tuning 사이에 discrepancy 발생

AR의 문제점:

단일 방향 정보만 이용하여 학습 가능함

각각의 문제점을 해결하고자 아래의 세 기법을 모델에 적용

  1. Permutation Language Modeling Objective
  2. Target-Aware Representation for Transformer
  3. Two-Stream Self-Attention

 

Permutation Language Modeling Objective

Permuation 집합을 통해 가능한 모든 입력 시퀀스의 순서를 고려하여 AR Objective에 대입
모든 permutation 사용하므로 기존 AR로는 안되던 양방향 문맥 고려 가능

Target-Aware Representation for Transformer

Permutation Lanugage Modeling Objective를 통해 정의한 새로운 Objectvie function은 기존의 transformer에서는 작동하지 않음

-> 따라서 XLNet의 objective function을 적용하기 위해 target-aware representation 제안

맞추고자 하는 타깃 이전의 토큰들만 고려하는 것이 아니라 타깃의 위치까지 함께 고려하는 representation!

Two-Stream Self-Attention

  1. t 시점에서 target을 예측하기 위해 t 시점 이전의 context와 target position을 이용하는 Query Representation
  2. t 시점 이후의 토큰들을 예측하기 위해 t 시점의 context까지 고려하는 Context Representation

 

위의 두 hidden representation을 사용하는 transformer 구조

2. ROBERTA

  1. Model 학습시간 증가, Batch 사이즈 늘리고 train data 증가
  • Pretrain에서 데이터 양을 늘릴 수록 Downstream task의 성능이 증가
  1. NextSentencePrediction제거
  2. Longersequence추가
  3. Masking pattern을 dynamic 하게
  • BERT는 pretrain 전에 미리 masking 진행하는데, 학습이 진행될 때 똑같은 token이 masking 된다는 문제가 있음 (Bias)
    1. 똑같은 데이터에 대해 masking을 10번 다르게 적용하여 학습
    1. Input이 들어갈 때 마다 Masking 진행

모델은 BERT와 동일하기 때문에 구조적 변화가 전혀 없으나 타 모델 대비 성능이 높음

 

3. MASS

Seq2Seq 구조를 그대로 가져오되 마스킹 방법을 약간 수정:

Encoder와 Decoder에서 마스킹된 것들이 서로 반대가 되도록!

Encoder와 Decoder의 input 다르게 함으로써 Encoder와 Decoder의 상호 의존성이 강해지는 효과

 

 

4. BART

Seq2Seq model을 pretrain 시키는 Denoising Autoencoder

BART의 사전학습 방식

1⃣ 입력텍스트일부에노이즈를추가 2⃣ 이를 다시 원문으로 복구하는 AutoEncoder의 형태로 학습

다섯가지 방법으로 기존의 입력 sentence를 corrupt

 

5. MT-DNN

BERT에 Multi-task Learning 적용시킨 모델

기존에는 태스크 하나에 모델 하나를 사용하는 것이 일반적이었지만 MT-DNN에서는 모델 하나로 여러 태스크를 사전학습 시킨다

→ 효과:

  1. Related Task로부터 모인 비교적 많은 양의 supervised data 활용 가능
  2. 하나의 모델로 여러 태스크를 학습하기 때문에 regularization 달성 가능

MT-DNN의 multi-task learning task들

훈련과정:

  1. 특정 태스크의 데이터를 미니배치로 구성
  2. 랜덤하게 선택된 데이터의 태스크로 학습
  3. 선택된 태스크에 맞는 손실함수를 구성하여 오차 전파

MT-DNN은 데이터 양이 적을 때 높은 성능을 보인다!!

6. T5

What is text to text? → Text 형태로 주어진 문제에서 Text 정답 찾기

text to text 방식으로 훈련하기 때문에 모든 NLP task에서 동일한 모델, 손실함수, 초모수 사용이 가능하다!

T5에 적용된 방법론들

  1. Model Architecture Encoder, Decoder only 모델보다 Basic Transformer 구조가 높은 성능을 보임
  2. Pretraining Objectives Corrupted input을 Denoising하며 단어를 예측하는 방식이 가장 효율적
  3. Unlabeled datasets Domain specific data는 task에 도움이 되지만 데이터의 크기가 작은 경우 overfitting 야기
  4. Training Strategies multitask learning이 unsupervised pre-training과 비슷한 성능 보임 학습시 태스크별 적절한 proprotion이 필요함
  5. Scaling 모델 크기를 늘리거나, 앙상블을 시도하며 실험 진행 작은 모델을 큰 데이터로 학습하는게 효과적이라는 것 발견
  6. Pushing the limits 110억개 파라미터를 갖는 모델을 훈련하여 SOTA달성 1 trillion개가 넘는 token에 대해 훈련 진행

T5의 Training Objective: Modified MLM

  • Bidirectional한 모델 구조
  • 연속된 토큰들을 하나의 마스크 토큰으로 대체 (BART와 유사)
  • Encoder-Decoder 트랜스포머 구조로 인풋과 타깃을 갖고 있음
  • 입력에서 마스킹되지 않은 부분을 타깃에서 맞춰야 함 (MASS와 유사)

관련글 더보기

댓글 영역