T5
Text-to-Text Transfer Transformer 라서 T5 로 불린다.
모든 task 에 대해서 동일한 모델, loss function, hyperparameter, 학습 방식을 적용한다. 다만, 각 task 에 대해서 서로 다른 prefix 를 적용한다. 예를 들어, 번역의 경우 input 은 “translate English to German: …” 이 되며, 요약의 경우 “summarize: …” 와 같은 방식으로 바꾸게 된다.
하나의 모델이 다양한 unsupervised 와 supervised task 들에 대해 학습하기 때문에, 새로운 task 에 대해서 쉽게 일반화될 수 있다.
A.1) 모델 구조
2 개의 레이어 스택으로 구성된 encoder 와 decoder 로 구성된 transformer 다. 인코더는 input sequence 를 입력받고, decoder 는 새로운 output sequence 를 생성한다.
Refer: Notes on Abstractive Summarization: PegasusXSUM and T5
A.2) 학습 방식
teacher forcing 을 이용해서 학습한다.
A.3) 모델 사이즈
- T5-small: 60 M
- T5-Base: 220 M
- T5-large: 770 M
B) T5 V1.1
아래와 같은 고도화 작업이 있었음
- Feed-forward hidden layer 에서 ReLU 대신 GeGLU activation function 을 사용
- pre-train 과정에서 dropout 을 끄고, fine tuning 과정에서 dropout 을 다시 킴
C) 한국어 학습
C.1) pko-t5-large
한국어 전용 데이터로 학습한 T5 v1.1 모델
- huggingface: paust/pko-t5-large · Hugging Face
- github repo: GitHub - paust-team/pko-t5: bpe based korean t5 model for text-to-text unified framework
C.1.1) 특성
- parameter size: 820M
- tensor type: float32
C.1.2) 학습 데이터
- 나무위키
- 위키피디아
- 모두의 말뭉치
C.1.3) 학습 방식
Span corruption task 를 통해 unsupervised learning (MLM) 만 적용했다고 한다.