본문 바로가기
논문리뷰

[논문리뷰] T5

by 단깅수 2024. 7. 15.
728x90

오늘은 T5 논문 리뷰를 가져왔습니다.

해당 논문은 2019년에 발표된 논문입니다.

 

Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer

저자 : Colin Raffel, Noam Shazeer, Adam Roberts, Katherine Lee, Sharan Narang, Michael Matena, Yanqi Zhou, Wei Li, Peter J. Liu

[0] Abstract

전이학습은 NLP(자연어 처리) 분야에서 강력한 기술로 부상했습니다.

전이학습이란?

  • 사전학습 + 파인튜닝 단계로 나누어서 진행하는 학습

본 논문은 모든 텍스트 기반 언어 문제를 text-to-text 형태로 전환시키는 통합된 프레임워크를 도입하여 NLP를 위한 전이 학습 기술의 환경을 탐구합니다. 본 논문은 수십 가지의 언어 이해 작업에 대한 Pre-training Objective, Architecture, Unlabeled Data, Transfer Approach 등등의 요소를 비교합니다. Colossal Clean Crawled Corpus 을 결합해 요약, Q&A, 텍스트 분류 등의 분야에서 SOTA를 달성했다고 합니다.


[1] Introduction

CV는 데이터가 풍부한 Task에 전체 모델을 Pre-training 시키는 방식이 일반적인 방식으로 되어가고 있었습니다. 전이 학습을 CV 분야에 적용할 때, Pre-training은 전형적으로 ImageNet과 같은 방대한 Labeled data에서 지도 학습을 통해 수행됩니다.

 

반대로, NLP에서는 Unlabeled Data를 통한 Unsupervised learning을 통해 Pre-training시킵니다. 이러한 접근법은 대다수의 NLP Benchmark에서 SOTA를 달성하는데 유용하게 사용되어 왔습니다. 이러한 비지도 사전학습은 인터넷에서 대용량으로 Unlabeled text data를 구해서 사용할 수 있기 때문에 더 매력적입니다.

 

 

본 논문에서는 모든 텍스트 처리 문제를  text-to-text  문제로 취급하는 것입니다. 즉, 텍스트를 입력으로 취급하고 새로운 텍스트를 생성하는 것을 출력으로 취급하는 의미입니다. 위의 사진처럼 Task 조차도 텍스트 정보로 받아들여 답을 1/0의 라벨이 아닌 텍스트 데이터로 내보내게 하는 것이죠. 이러한 아이디어는 동일한 모델과 동일한 Objective, 동일한 훈련 절차와 동일한 Decoding 프로세스를 모든 Task에 직접적으로 적용할 수 있도록 합니다.

 

본 논문에서 대규모 훈련 실험을 수행하기 위해, 웹사이트에서 스크랩된 수백 GB의 클린한 영어 텍스트로 구성된 데이터셋인 “Colossal Clean Crawled Corpus” (C4)를 도입합니다.

 

  • (Figure 1) text-to-text framework의 다이어그램
    • 번역, QA, 분류 등을 포함한 우리가 고려하는 모든 태스크들은 모델의 입력 텍스트가 되고, 일부 타겟 텍스트를 생성하기 위해 훈련된다. 이러한 과정이 다양한 태스크에 걸쳐 동일한 모델과 손실 함수, 하이퍼파라미터 등을 사용할 수 있도록 한다. 또한, 실증적 조사에 포함된 방법들에 대한 표준의 테스트베드를 제공한다. “T5”는 “Text-to-Text Transfer Transformer”로 본 논문의 모델을 나타낸다

[2] Set up

2.1 Model

본 논문에서는 Encoder - Decoder 구조보다 Basic한 Transformer 구조가 성능이 높아 이 구조를 사용했다고 합니다. 모델 자체는 원본 Transformer와 거의 동일하지만 Layer Norm 편향 현상을 제거, Layer Norm을 residual layer 밖으로 이동시키고 기존에 사용했던 position embedding과는 다른 위치 임베딩 전략을 사용했다는 점이 다르겠습니다.

2.2 Pretraining Objectives

Pre-training 단계에서 Noising된 input을 Denoising하며 단어를 예측하는 MLM(Masked Language Model) 방식이 가장 효율적인 방법이라고 시사합니다.

2.3 Datasets

Domain specific data는 Task에 도움이 되지만 그 데이터의 크기가 작은 경우 Overfitting을 야기할 수 있기 때문에 주의가 필요합니다. 그래서 본 논문에서는 “The Colossal Clean Crawled Corpus (C4)” 데이터셋을 사용했습니다.

 

Common Crawl은 대중적으로 이용 가능한 웹 저장소로, HTML 파일에서 추출된 마크업이나 다른 non-text 데이터를 제거한 “웹에서 추출된 텍스트”를 제공합니다. 하지만 이러한 텍스트의 대부분은 자연어가 아닙니다. 대신, 대부분 메뉴, 오류 메시지, 중복 텍스트와 같은 의미 없는 문구(gibberish)나 표준문구(boiler-plate)로 구성됩니다. 게다가, 스크랩 된 텍스트의 많은 양이 논문에서 고려하는 어떤 태스크에도 유용하지 않을 것 같은 내용을 담고 있습니다 (공격적인 언어, 플레이스홀더, 소스코드 등과 같은..). 이러한 문제들을 해결하기 위해, 본 논문에서는 Common Crawl의 웹 추출 텍스트를 클리닝 하기 위해 다음과 같은 휴리스틱한 방법을 사용합니다.

  • 종단 구두점(반점, 느낌표, 물음표 등)으로 끝나는 라인만 유지
  • 5문장 이하의 페이지는 제거, 최소 3글자 이상을 가진 라인만 유지
  • 비속어가 있는 페이지 제거
  • 데이터셋에서 두 번 이상 나타난 3문장 Span은 하나만 남기고 모두 제거 등등

[3] Model Structures

 

Model Structure는 두 가지로 나누어 설명할 수 있겠습니다. Attention이 계산되는 모양과 이 모델이 어떻게 연결되어 있는지 두 가지로 나누어서 볼 수 있습니다. NLP Task에는 Encoder - Decoder 구조가 있고 Language Model 구조도 있지만 T5 에서는 Prefix Language Model 구조를 지향하고 있습니다. 인코더 부분에서는 Bidirectional attention을 수행하고 생성 파트에서는 Unidirectional attention을 수행하는 모델이라고 생각하면 될 것 같습니다. 그래서 기본적으로 BERT 모델 구조를 많이 따르고 있지만 생성 Task에서는 GPT 구조를 따른다고 이해하고 있습니다.


[4] Corruption

 

T5 논문에서 실험을 굉장히 많이 진행했는데 그 중에서 Corruption에 관한 부분입니다. 여기서 Corruption이란 sequence와 비슷한 의미입니다.

  • High-level approach
    • BERT Style의 모델이 가장 성능이 준수했다고 시사
  • Corruption Stretegies
    • Replace corrupted spans 전략이 가장 성능이 좋았다고 시사
  • Corruption Rate
    • 15%로 설정했을 때 성능이 좋았다고 시사
  • Corruption Span Length
    • Span Length를 3개로 했을 때 성능이 가장 좋았다고 시사

[5] Results

  • 수많은 실험을 진행했고 물론 T5가 SOTA를 달성하지 못한 분야도 있었음
    • 그 때는 ALBERT, RoBERTa 등 다른 모델이 SOTA
  • 하지만 거의 모든, 대부분의 NLP Task에서 높은 성능을 기록한 모델이 T5

[6] Conclusion

  • text-to-text 프레임워크를 사용했는데 이러한 접근법은 생성 요약, 분류, 회귀 등 여러 Task에서 잘 적용될 수 있음을 시사, 입증하고 있음
  • 기존의 Encoder만 사용하는 BERT, Decoder만 사용하는 GPT와 다르게 기존 Transformer의 Encoder - Decoder 구조를 거의 비슷하게 사용함
    • 한쪽만 사용하는 모델보다 2배 많은 파라미터를 사용하겠지만 연산 비용은 비슷함, 파라미터를 공유하기 때문, 그리고 성능은 상승 good
  • Colossal Clean Crawled Corpus Dataset을 Cleansing해서 사용함
  • 굉장히 많은 NLP Task에서 SOTA를 달성했으며 왠만한 Task에서 준수한 성능

[7] Reference

https://arxiv.org/abs/1910.10683

https://youtu.be/v7diENO2mEA?si=zEH5MFi0IeobD6Du

https://velog.io/@choonsik_mom/T5Text-to-Text-Transfer-Transformer-%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0

 

728x90

'논문리뷰' 카테고리의 다른 글

[논문리뷰] FILIP 논문 리뷰  (5) 2024.07.23
[논문리뷰] ALBEF 논문 리뷰  (2) 2024.07.17
[논문리뷰] CLIP 논문 리뷰  (0) 2024.07.10
[논문리뷰] XL-Net  (0) 2024.07.03
[논문리뷰] Transformer  (0) 2024.06.26