> For the complete documentation index, see [llms.txt](https://lswkim322.gitbook.io/til/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lswkim322.gitbook.io/til/til-ml/untitled-2/transformer-to-t5.md).

# Transformer to T5

{% embed url="<https://www.youtube.com/watch?v=v7diENO2mEA&t=6s>" %}

## Introduction

Transformer 기반의 모델의 발전 과정

* **Seq2Seq**
  * Neural Machine Translation
  * Encoder - Decoder 구조
* **Attention + Seq2Seq**
  * Neural Machine Translation
  * Decoder가 Source sentence의 중요한 정보에 집중하게 하자
* **Transformer**
  * Neural Machine Translation
  * Self-attention, Multi-head attention
* **GPT1 (Transformer Decoder block)**
  * Task Agnostic: Pretraining + Finetuning
  * 언어자체를 이해할 수 있는 좋은 representation을 학습해보자
* **BERT (Trainsformer Encoder block)**
  * Task Agnostic: Pretraining + Finetuning
  * 언어를 더 잘 이해하기 위해 Bidirectional 하게 맥락을 파악해보자
  * 모든 NLP Task 에서 SOTA
* **GPT-2 (Transformer Decoder block)**
  * Task Agnostic: Zeroshot task transfer
  * 언어를 정확히 학습했다면 Finetuning 없이 Zeroshot 만으로 좋은 성능을 낼 수 있다.
  * 7가지 NLP Task에서 SOTA
* **XLNet (BERT + GPT => AutoEncoder + Auto Regressive)**
  * Task Agnostic
  * BERT 이후 큰 성능향상을 보인 첫 모델
    * Factorization order를 고려하여 양방향 학습
    * AR formula를 통해 BERT 한계 극복
* **RoBERTa (Optimize BERT)**
  * Task Agnostic
  * 가장 최적화된 BERT를 만들어보자! (학습시간, batch, train data 증가)
    * BERT가 underfitting 되어있다고 가정하고 param을 최적화하는&#x20;
* **MASS (BERT + GPT => AE + AR)**
  * Task Agnostic
  * Encoder와 Decoder에 상반된 Masking
    * Decoder: Encoder에서 masking 된 단어 예측
    * Encoder: Masking 되지 않은 단어 깊은이해
    * Encoder, Decoder의 joint training 장려
* **BART (BERT + GPT => AE + AR)**
  * Task Agnostic
  * Encoder에 다양한 nosing 추가함
  * Text generation task에서 SOTA
* **MT-DNN (Based on BERT)**
  * Task Agnostic
  * Multitask learning을 통해 universal representation을 생성해보자
  * Pretrain 단계에서 multitask learning 진행
* **T5 (Encoder-Decoder Transformer)**
  * Task Agnostic
  * 모든 NLP task를 통합할 수 있도록 Text-to-text 프레임워크를 사용하자
  * **👍현재 SOTA**

### AR과 AE

![](https://3944465397-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MjcKlzGhHYe2bvmxTwS%2F-Ml2sMX4S_OEVBUmWR3I%2F-Ml31niTGnurdM_RdqOs%2Fimage.png?alt=media\&token=78ad1e4e-93af-4bf0-b34d-f76800799d72)

* AE의 문제점
  * \[MASK] 토큰이 독립적으로 예측되기 때문에 토큰 사이의 dependency는 학습이 되지않음
  * Finetuning과정에서 \[MASK] 토큰이 등장하지 않기 때문에 pretraining과 finetunung사이에 discrepancy 발생
* AR의 문제점
  * 단일 방향 정보만 이용하여 학습 가능함
* 이런 단점을 보완하여 나온 것이 **XLNet**
