ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • NLP 모델 정리
    NLP/2주차 2021. 9. 16. 16:20

    GPT-2 

    • 큰 트랜스포머 LM
    • Trained on 40GB text (큰 데이터) - Reddit의 데이터 이용, 위키피디아는 이용 x 
    • Downstream task를 zero-shot setting에서 가능하게 함
      • QA - CoQA dataset에서 55 F1 score
      • Summarization - CNN, Daily Mail dataset
      • 번역 
    • BPE 사용
    • GPT-1 과 다른점
      •  Layer Norm을 각각의 하위 Block의 Input으로 이동
      •  마지막 self-attention 이후에 Normalization Layer 추가
      • 모델 깊이에 따른 Residual Path의 누적에 관한 부분의 초기화 방법 변경 ($ 1 /  \sqrt{n} $, n은 number of residual layer)
      • Context size 변경 512 -> 1,024
      • 서로 다른 매개변수의 4개의 모델을 사용

     

    XLNet

    GPT로 대표되는 Auto Regressive (AR) 모델과 BERT로 대표되는 Auto Encoder (AE) 모델의 장점을 결합.

    • AR 모델은 단방향성 단점
    • AE 모델은 mask token 간 independence를 가정하고, fine tune과 pre-train 사이에 괴리가 존재한다는 단점

    XLNet은 입력의 permutation들을 이용하여 maximum likelihood를 계산

     

    RoBERTa

    BERT의 성능을 hyper-parameter tuning과 학습사이즈 조절을 통해 개선

    • 더 많은 데이터와 더 큰 batch로 학습
    • NSP 제거 
    • 더 긴 sequence로 학습
    • masking을 dynamic하게 변경 (기존의 BERT는 매 학습 단계에서 동일한 mask를 본다)

     

    BART

    Transformer Encoder-Decoder 통합 LM

    T-5

    Transformer Encoder-Decoder 통합 LM (SOTA)

    GPT-3

    • 모델의 크기를 키움
    • 모델의 크기를 키울수록, few-shot, one-shot, zero-shot 성능이 올라감

     

    ALBERT

    기존의 Pre-trained LM은 모델의 크기가 커서 문제점들이 존재

    • Memory Limitation
    • Training Speed

    해결 방안

    • Factorized Embedding Parameterization
      • BERT에선 Embedding Size와 Hidden Size가 같아야 한다. 이는 vocabulary size가 커질수록 문제를 일으킨다. V개의 단어를 H 차원으로 변환하기 위해서는 O(V x H) 차원의 행렬이 필요. ALBERT는 이 사이에 E 라는 크기를 갖는 Embedding을 추가하여 O(V x E + E x H)로 변환한다. E가 H에 비해 충분히 작으면, 메모리를 효과적으로 절약할 수 있다.

    • Cross-layer Parameter Sharing
      • layer간 가중치 공유
    • Sentence Order Prediction (SOP)
      • NSP가 너무 쉬운 문제
      • Negative Pair의 경우 연속된 문장을 뽑고, 문장의 순서를 바꾸어 배치 

     

    ELECTRA (Efficiently Learning an Encoder that Clasifies Token Replacements Accurately)

    • Discriminator가 단어들이 generator에서 생성된 것인지 아닌지 판별
    • 모든 단어에 대해 학습을 하기 때문에 mask된 부분에 대해서만 loss를 계산하는 BERT 보다 학습이 빠름

     

    Light-weight Models

    • DistillBERT
      • Teacher Model & Student Model → param이 적은 student model이 teacher model의 distribution을 최대한 유사하게 하도록 하는 triple loss 사용
    • TinyBERT
      • 중간 결과물까지 student network이 담도록

     

    Knowledge Graph into Language Model

    • ERNIE (Enhanced Language Representation with Informative Entities)
    • KagNET (Knowledge-Aware Graph Networks for Commonsense Reasoning)

     

    대화를 위한 LM

    • Meena
      • 인코더 블럭 하나와 다수의 디코더 블럭으로 구성
      • SSA (Sensibleness and Specificity Average)라는 챗봇을 위한 새로운 Metric 제시

    Controllable LM

    • Plug and Play LM (PPLM)
      • 확률 기반 모델의 윤리성을 해결 가능 → 특정 카테고리에 대한 감정을 컨트롤해서 생성 가능
      • 확률 분포를 사용하는 것이기 때문에 중첩도 가능 (기쁨 + 놀람)
      • 원하는 단어들의 등장 확률이 최대가 되도록 이전 상태의 벡터를 수정
      • 수정된 벡터를 통해 다음 단어 예측

     

    Multimodal

    • LXMERT → 이미지와 자연어를 동시에 학습 

    'NLP > 2주차' 카테고리의 다른 글

    Hugging Face Library  (0) 2021.09.17
    Pre-Tokenization  (0) 2021.09.15
    GPT & BERT  (0) 2021.09.15

    댓글

Designed by Tistory.