본문 바로가기
NLP/논문리뷰

[논문 Review] 08. T5 : Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer

by ㅣlㅣl 2024. 1. 3.
논문의 핵심 내용 한줄 요약

모든 NLP task를 text to text 형식으로 바꿔서 해결해보자!

Abstract

풍부한 데이터를 통해 모델을 Pre training하고, 다운스트림 작업에서 Fine tuning을 진행하는 전이학습은 NLP에서 강력한 기술로 쓰여왔다. 이번 논문에서는 모든 텍스트 기반 언어 문제를 Text to Text 형식으로 변환하는 프레임워크를 도입할 것이다. 새로운 프레임워크 (이하 T5) 에서 탐색을 통해 얻은 인사이트와 새로운 "Colossal Clean Crawled Corpus (이하 "C4") 를 결합해서 다양한 벤치마크에서 SOTA를 달성했다.

 

1. Introduction

모델이 NLP task를 수행하기 위해서는 다운스트림 태스크에 적용 가능한 방식으로 텍스트를 처리할 수 있도록 해야 한다. 즉 모델이 텍스트를 "이해"할 수 있게끔 범용적인 지식 학습을 진행한다. 이 과정에서 학습되는 지식은 low level (ex. 단어 스펠링, 단어의 뜻) 부터 high-level 까지 다양하다.

최근 연구에서는 이러한 지식을 명시적으로 제공하는 대신 보조 작업의 일부로 다루며 학습하는데 라벨링되지 않은 데이터를 통해 비지도 사전학습을 진행하고, 다운스트림 태스크에서 파인 튜닝을 진행하는 전이 학습 방식이 바로 이것이다.

이러한 방식은 이전 라벨링 데이터로 지도학습만 진행하던 방식에 비해 성능이 훨씬 뛰어날 뿐만 아니라, 인터넷을 통해 다량의 데이터를 획득할 수 있다는 점에 기인하여 이쪽 방향으로 연구가 활발히 진행되었다.

따라서 다양한 접근법을 체계적으로 연구하고, 현재 분야의 한계를 뛰어넘을 수 있는 통합된 학습 방식을 제시하고자 한다.

 

기본 아이디어는 모든 텍스트 처리 문제를 "Text to Text" 문제로 변환하는 것이다. 이전에도 모든 텍스트 관련 태스크를 QA로 변환하거나, Language modeling을 진행하거나, span extraction을 진행한 선행연구가 존재한다.

Text to Text 접근법을 통해 QA, 문서 요약, 감성 분류 등 NLP 모든 태스크에 동일한 모델, 목표, 훈련 방식, 디코딩 방식을 적용할 수 있는 유연성을 갖출 수 있다.

[그림 1] Text to Text approach

 

그림 1을 보면 해결해야하는 태스크에 대한 간단한 프롬프트 형식만 갖춰서 넣어주면, 모든 태스크를 동일한 모델, loss function, 하이퍼파라미터로 해결 가능한 것을 볼 수 있다.

 

 

2. Setup

2.1 Model

Transformer 아키텍처를 기반으로 모델을 구성했다. 

https://ll2ll.tistory.com/23

 

[논문 Review] 02. Attention is All you need

https://arxiv.org/abs/1706.03762 Attention Is All You Need The dominant sequence transduction models are based on complex recurrent or convolutional neural networks in an encoder-decoder configuration. The best performing models also connect the encoder an

ll2ll.tistory.com

  • Input seqeunce가 Embedding sequence로 매핑된 다음 인코더를 통과
  • 인코더 블록은 총 2개의 서브 레이어 (Self-attention layer, FFNN) 로 구성
  • 각 입력에는 Layer normalization, Residual skip connection 적용
  • Dropout은 전체 과정 (FFNN 내부, skip connection ,attention weights, input-output) 에 적용
  • 디코더 블록은 인코더와 구조가 비슷하나, 인코더의 출력을 처리하는 Self-attention layer 뒤에 과거 출력에만 포커싱할 수 있도록 autoregressive layer 사용
  • 디코더 블록의 최종 출력은 softmax 형태로 dense layer를 통과

 

Transformer에서 다음 요소들을 변경했다.

  • 원래 트랜스포머에서는 sinusoidal position signal / learned position embeddings가 사용되었으나 최근에는 key-query offset에 따라 다른 임베딩을 사용하는 relative position embeddings[각주:1]가 더 일반화되었음
  • 본 논문에서도 relative position embedding 사용
  • Layernorm bias를 삭제
  • layer normalization을 residual path 밖에 배치

추후 진행될 실험들을 통해 해당 구조적 변화가 효과적이라는 것을 알아냈다.

 

또한 파라미터, 레이어 개수에 따른 성능 변화를 확인하고자 했는데, 이 때 대규모 모델의 훈련을 위해 Mesh Tensorflow library를 활용해 모델과 데이터 병렬 처리를 진행했다.

 

 

2.2 The Colossal Clean Crawled Corpus

데이터의 품질, 특성 및 크기가 미치는 영향을 측정하기 위해 Common Crawl 데이터셋을 활용했다. 그러나 Common crawl은 공개된 웹페이지 HTML 파일들에서 추출되었기에 다음과 같은 문제점이 존재한다.

  • 자연어 대신 메뉴, 에러 메시지, 중복 텍스트가 포함된 경우가 많음
  • 불쾌한 언어, placeholder text (입력 안내 메시지), 소스 코드 등 일반적인 자연어 처리 태스크에 도움이 되지 않을만한 내용 존재

 

이러한 문제점을 해결하기 위해 Common Crawl 데이터에 다음과 같은 휴리스틱 기준을 적용하여 전처리를 진행했다.

  • 문장부호 (마침표, 느낌표 등) 로 끝나는 줄만 유지
  • 문장이 5개 미만인 페이지는 모두 삭제, 3개 이상의 단어가 포함된 줄만 유지
  • 혐오 단어 목록에 속한 단어가 포함된 페이지 삭제
  • "Javascript", "lorem ipsum" 과 같은 에러 메시지, placeholder text를 삭제
  • 중괄호가 나타난 페이지를 제거해서 소스 코드 제거
  • 3문장 이상이 중복될 경우 삭제해서 데이터셋 중복 제거
  • langdetect를 활용해 영어가 아닌 페이지 삭제

 

 

2.3 Downstream Tasks

일반적인 언어 학습 능력을 측정하기 위해 machine translation, QA, summarization, text classification 등 다양한 태스크를 포함한 벤치마크에서 다운스트림 성능을 테스트했다.

  • GLUE, SuperGLUE : Text classification
    • Sentence acceptability judgment (CoLA)
    • Sentiment analysis (SST-2)
    • Paraphrasing / sentence similarity (MRPC, STS-B, QQP)
    • NLI (MNLI, QNLI, RTE, CB)
    • Coreference resolution (WNLI, WSC)
    • Sentence completion (COPA)
    • Word sence disambiguation (WIC)
    • QA (MultiRC, ReCoRD, BoolQ)
  • CNN/Daily Mail : Summarization
    • 원래는 QA task였는데 이전 연구에 의해 summarization에 맞게 바뀜
  • SQuAD : QA
  • WMT : English to German, French, Romanian translation

 

 

2.4 Input and Output Format

다양한 작업에 대해서 "Text to Text"로 단일 모델을 훈련시키위해 문맥, 조건을 포함한 텍스트를 입력하고 출력 텍스트를 생성하도록 요청하는데, 모델이 수행할 작업을 지정하기 위해 input sequence 앞에 task-specific prefix를 추가한다. (그림 1 참고)

모델은 태스크 종류에 상관없이 maximum likelihood objective로 훈련된다.

 

번역

예를 들어 "translate English to German : That is good." 텍스트를 입력하면 "Das ist gut"을 출력하도록 학습한다.

 

텍스트 분류

레이블에 해당하는 단일 단어를 예측하도록 학습한다.

 

MNLI 벤치마크에서는 전제가 가설을 암시하는지, 모순되는지, 둘 다 아닌지 (entailment, contradiction, neutral) 를 체크한다.

예를 들어 "mnli premise : I hate pigeons. hypothesis: My feelings towards pigeons are filled with animosity.” 텍스트를 입력하면 "entailment" 출력되도록 학습한다.

학습된 모델에서 이러한 케이스가 관측된적은 없으나 만약 모델이 라벨에 포함되지 않는 텍스트를 출력하는 경우 (ex. 수반, 중립, 모순밖에 없는데 갑자기 햄버거를 출력하는 경우)  오답으로 간주하고 학습을 진행한다.

 

prefix는 본질적으로 사용자가 설정 가능한 하이퍼파라미터의 영역이며, 접두사의 정확한 문구를 변경해도 영향이 제한적이기 때문에 다양한 prefix에 대한 실험은 수행하지 않았다.

 

 

이전 연구

  • Natural Language Decathlon : 10개의 NLP task 모음에 일관된 QA 형식을 사용하는 벤치마크

    해당 연구에서는 모든 작업을 한 번에 동시 처리할 수 있어야 한다고 규정하나, 이번 연구에서는 개별 작업에 대해 모델을 개별적으로 Fine-tuning 가능하도록 허용하고 명시적인 QA 형식 대신 작업에 대한 짧은 prefix를 사용

 

  • GPT-2 [각주:2]

    zero shot setting에서 input에 prefix를 삽입했을 때의 성능을 평가하는 연구이다. 이번 연구에서는 zero-shot setting에서의 성능보다는 전이학습에 중점을 두고 있다.
    ex. 문서 뒤에 TL;DR: 붙이면 autoregressive decoding을 통해 요약 태스크임을 예측하고 처리한다.

  • Keskar et al.,[각주:3]
    많은 NLP 작업을 span extraction으로 통합해서 가능한 출력 선택에 해당하는 텍스트를 입력에 추가한 후 정답에 해당하는 입력 스팬을 추출하도록 훈련

 

이번 연구에서는 가능한 모든 출력사항을 열거할 수 없는 machine translation, abstractive summarization과 같은 생성 태스크도 할 수 있도록 했다.

 

 

데이터 변환

모든 작업들을 Text to Text 형식으로 변환했고, 그 중 1~5 사이의 유사도 점수를 회귀 예측하는 것이 목표인 STS-B 태스크는 대부분의 score가 0.2 단위로 주석이 달려있었기 때문에 라벨의 모든 점수를 가장 가까운 0.2 단위로 반올림하고 그 결과를 숫자의 문자열 표현으로 변환했다. (ex. 2.57 -> 2.6)

테스트할 때 모델이 1~5 사이의 숫자에 해당하는 문자열을 출력하면 이를 부동 소수점 값으로 변환하고, 그렇지 않으면 모델의 예측이 잘못된 것으로 처리하여 STS-B 회귀 문제를 21개의 multi-class classification 문제로 재구성했다.

 

 

Winograd task (GLUE-WNLI, SuperGLUE WSC, DPR) 도 Text to Text에 더 적합한 간단한 형식으로 변환했다. 

Winograd는 구절에서 둘 이상의 명사구를 지칭할 수 있는 모호한 대명사가 포함된 텍스트 구절로 구성되어있다.

 

이 때 문장 내에서 모호한 대명사 (맞춰야 하는 대명사) 를 강조하고 모델에 해당 대명사가 가리키는 명사 예측을 요청하는 방식으로 문제를 바꿈

 

WSC의 경우 구절, 모호한 대명사, 후보 명사가 대명사와 일치하는지 여부를 True/False label로 판단하는 이진 분류 문제도 포함되어 있다. 이 때 "False"가 붙은 예제에서는 정확한 명사 대상을 알 수 없으므로 "True" label이 붙은 예제만 학습한다.

WNLI는 WSC와 상당부분 겹치므로 WNLI에 대한 훈련은 진행하지 않았으며 validation set에 대한 결과도 보고하지 않았다.

 

 

3. Experiments

최근 NLP 전이학습의 발전은 새로운 목표함수, 모델 아키텍처, 데이터셋 등 다양한 개발에서 비롯되었다. 여기서는 이러한 기법들의 기여도와 중요성을 파악하고자 한다.

이번 실험에서의 목표는 가능한 한 많은 요소를 고정된 상태로 유지하며 다양한 작업에 대한 다양한 접근법을 비교하는 것이기에 몇몇 모델을 수정했다.

예를 들어 BERT와 같은 encoder only 모델은 translation이나 summarization 에는 적용 불가능하므로 구조를 다르게 하되, MLM과 같은 BERT 기법을 이용해 유사한 접근 방식을 테스트한다.

 

3.1 Baseline

간단한 denoising objective를 사용해 2.1 섹션에서 설명한 Transformer model을 훈련한 다음 각 다운 스트림 태스크 작업에 대해 개별적으로 Fine tuning을 진행한다.

3.1.1 Model

Baseline 모델은 BERT-base 모델과 유사하게 인코더와 디코더 크기 및 구성을 설정했다.

  • Encoder block : 12개 / Decoder block : 12개
  • 각 블럭은 self-attention, optional encoder-decoder attention, FFNN으로 구성됨
  • 블럭의 FFNN은 출력 차원 \(d_{ff} = 3072\)인 dense layer와 ReLU 활성화 함수로 구성됨
  • 각 attention mechanism의 key, value 행렬의 내부 차원 \(d_{kv}=64\)
  • 12개의 multi-head attentions
  • 다른 모든 서브 레이어와 임베딩은 \(d_{model} = 768\) 차원을 가짐
  • dropout rate = 0.1

Encoder - Decoder를 모두 가지고 있기 때문에 BERT base의 대략 2배에 달하는 파라미터 수를 가지게 된다.

 

3.1.2 Training

  • 모든 태스크는 Text to Text로 구성 (위에서 설명한 방식)
  • maximum likelihood objective
  • optimizer : adafactor
    • adafactor가 기존 optimizer와 다른 점은?
    • AdamW는 Adam에 weight decay를 추가한 Optimizer이고, Adam은 RMSProp과 Adagrad(Momentum)를 합친 방식이다. RMSProp과 Momentum은 각각 gradient를 추가로 저장해야하므로 Adam을 쓸 경우 Optimizer는 모델 크기의 3배의 Gradient를 메모리에 점유하게 된다. Adafactor는 Momentum을 사용하지 않고, RMSProp을 메모리를 더 적게 쓰며 계산하는 row-rank approximation으로 대신했다. [각주:4]
  • 테스트 시에는 각 타임스텝에서 가장 높은 logit을 고르는 greedy decoding 사용

 

Pre-training

  • C4 데이터셋을 사용해 2^19 step만큼 사전학습을 진행
  • 사전학습 시 최대 시퀀스 길이 = 512, 배치 크기 = 128
  • 가능할 경우 여러 개의 시퀀스를 묶어서 배치에 약 2^16개의 토큰이 포함되도록 함
    • 배치 사이즈와 step 개수를 고려했을 때 사전학습은 2^35 ~ 대략 34B 토큰에서 진행되는데, 이는 BERT의 137B 토큰이나 RoBERTa의 2.2T 토큰보다 훨씬 적은 수이다. 
    • 2^35개의 토큰으로 합리적인 computational budget을 유지하며 충분한 성능을 보이고, 더 오랜 시간 학습을 진행했을 때의 실험도 섹션 3.6과 3.7에 기재되어 있다.
  • 사전 학습 진행 시 'inverse square root' learning rate schedule 사용
    • \(\frac{1}{\sqrt{max(n, k)}}\)
    • n : 현재 학습 iteration num
    • k : warm-up step (실험에서는 10^4로 설정)
    • 처음 10^4 step에서는 학습률이 0.01로 고정 -> 이후 학습률이 exponentially decay
  • 'triangular' learning rate schedule도 실험해보았고 약간 더 나은 성능을 보였지만 total training steps를 알아야 한다는 단점이 있음
  • 일부 실험에서는 training step을 변경해야 하므로 보다 일반적인 inverse square root 사용

 

Fine-tuning

  • 모든 태스크에 대해 2^18 steps 동안 파인튜닝 진행
    • 대규모 데이터셋 작업과 소규모 데이터셋 사이의 절충안으로 선택된 값
  • 사전학습과 마찬가지로 최대 시퀀스 길이 = 512, 배치 크기 = 128
  • 0.001의 일정한 learning rate 사용
  • 5,000 step마다 체크포인트 저장

 

3.1.3 Vocabulary

  • SentencePiece로 encoding 진행
  • 번역 태스크에서 사용될 언어 (독일어, 프랑스어, 루마니아어) 를 포함하기 위해 C4에서 사용되는 common crawl scraped 페이지를 독일어, 프랑스어, 루마니아어로 분류
  • 영어 C4 데이터 10부분에 비영어권 언어 1 부분을 혼합해서 SentencePiece 모델을 학습함

 

3.1.4 Unsupervised Objective

전이 학습 초기 단계에는 사전 학습에 causal language modeling objective를 사용했으나, 최근에는 입력에서 누락되거나 손상된 토큰을 예측하도록 훈련하는 denoising objective를 사용하는 것이 더 나은 성능을 낸다는 것이 밝혀졌다.

BERT의 MLM, word dropout 정규화 기법에 영감을 받아 입력 시퀀스에서 토큰의 15%를 무작위 샘플링한 후 dropout하는 방식으로 denoising objective를 설계한다.

입력에서 dropout된 토큰의 연속된 구간은 하나의 센티널 토큰으로 대체되며, 각 센티널 토큰에는 wordpiece에 포함되지 않는 고유한 토큰 id가 할당된다. 

타깃은 입력에서 사용된 센티널 토큰과 타깃 시퀀스의 끝을 표시하는 센티널 토큰으로 구성된다.

 

[그림 2] T5 베이스라인에서 사용된 objective

그림 2를 보면 "Thank you for inviting me to your party last week.” 라는 전체 문장에서 'for', 'inviting', 'last'라는 문장이 drop words로 뽑힌 것을 알 수 있다.

연속된 구간 ('for inviting', 'last') 은 각각 하나의 고유한 센티널 토큰('<X>', '<Y>') 으로 대체되며 target은 입력에서 마스킹에 사용된 센티널 토큰 ('<X>', '<Y>') 과 최종 센티널 토큰('<Z>') 로 구성된다.

 

 

3.2 Architectures

Transformer는 원래 encoder-decoder 아키텍처로 구상되었으나 최근 연구에서는 대체 아키텍처를 더 많이 사용한다. 이번 섹션에서는 아키텍처 변형을 검토하고 비교한다.

3.2.1 Model Structures

모델 사이 주요 차이점 중 하나는 서로 다른 어텐션 메커니즘이 사용하는 mask 이다.

[그림 3] 서로 다른 어텐션 마스크 패턴

 

그림 3에서 x는 self-attention 메커니즘의 입력, y는 출력을 의미한다.

출력 timestep에 따른 각 행을 i, 입력인 각 열을 j라고 할 때 검은 셀 부분은 출력 timestep i에서 입력인 j에 대한 attend가 허용되어 있음을 말하고 하얀 색은 허용되지 않음을 의미한다.

  • Fully-visible : 모든 출력 timestep에서 모든 입력에 대한 attend가 가능
  • Causal : 모든 출력 timestep에서 미래의 입력 요소에 대한 attend가 금지
  • Casual with prefix : 입력 시퀀스의 일부 (prefix 부분) 에 대해서만 fully-visible mask를 사용 가능

 

 

입력 시퀀스가 주어지는 인코더, 출력 시퀀스를 생성하는 디코더 총 2개의 레이어 스택으로 구성된 구조이다.

[그림 4-1] Standard encoder-decoder architecture

그림 4-1은 표준적인 encoder-decoder 아키텍처를 나타내며 인코더는 "fully visible" 어텐션 마스크를, 디코더는 "causal" 어텐션 마스크를 사용하는 구조이다.

 

 

  • 인코더는 "fully-visible" 어텐션 마스크를 사용
    • prefix에 주목해서 나중에 예측을 수행할 때 적절한 마스킹 방식
    • BERT에서도 fully-visible 방식을 사용하고 앞서 추가한 [CLS] 토큰을 통해 입력 시퀀스를 분류

 

[그림 4-2] causal mask를 사용한 일반적인 decoder 구조

  • 디코더는 "causal" 어텐션 마스크를 사용
    • j>i 인 경우 마스킹을 수행해 미래를 보고 예측할 수 없도록 하는 역할
    • 출력 시퀀스를 autoregressive하게 생성하는 역할을 수행
    • 각 timestep에서 생성된 토큰은 다음 timestep에서의 예측을 위해 다시 입력으로 들어가게 됨

 

그러나 causal masking을 사용할 경우 모델 입력 시퀀스의 i번째 representation이 i 이전의 항목에만 의존하도록 강조하는데, prefix가 주어진 경우에도 마찬가지이기 때문에 모델은 불필요하게 제한된 prefix를 참고하게 된다는 단점이 존재한다.

 

prefix가 정확히 뭔지, 이게 왜 단점이 되는지를 알아보기 위해 영어를 독일어로 번역하는 다음 태스크를 생각해보자.

영어 문장 : "What's your name?", 독일어 문장 : " Wie heißen sie?" 일 때, 태스크에 대한 간단한 요청을 함께 넣고 다음과 같은 input sequence를 모델에 제공하여 훈련을 진행한다.

translate English into German: What's your name? target: Wie heißen sie?

추론 시 해당 예제에 대한 모델의 예측 값을 얻기 위해서, "translate English into German: What's your name? target:" 이라는 prefix를 제공하면 우리가 원하는 시퀀스인 " Wie heißen sie?"를 얻을 수 있다.

 

따라서 모든 부분에 causal masking을 사용하는 대신 시퀀스의 prefix 부분에는 fully-visible masking을 적용하는 것이다.

[그림 4-3] prefix 부분에 fully-visible masking을 적용한 prefix LM 구조

 

 

prefix LM architecture는 분류 작업을 위한 BERT와 매우 유사한데, MNLI를 예제로 들어보면 그 이유를 알 수 있다.

premise : "I hate pigeons.", hypothesis : “My feelings towards pigeons are filled with animosity.” 일 때 올바른 label은 “entailment”이다. 이를 모델에 넣기 위한 input sequence 형태로 변환하면 다음과 같다.

“mnli premise: I hate pigeons. hypothesis: My feelings towards pigeons are filled with animosity. target: entailment”

이 경우 fully-visible prefix는 "~target:" 까지이며, 이는 BERT에서 사용되는 [CLS] 토큰과 유사한 역할을 한다. 즉, 모델은 전체 prefix 입력에 대한 full visibility를 확보한 다음 "entailment"를 출력해 분류 작업을 수행하게 된다.

이 과정을 통해 classifier가 prefix LM decoder output layer에 간단히 통합될 수 있다.

 

 

3.2.2 Comparing Different Model Structures

아키텍처 변형에 따른 성능 비교를 위해 동등한 모델로 실험을 진행했다. 여기서 '동등함'은 파라미터 수가 비슷하거나, 주어진 (input, target) 시퀀스 쌍을 처리하는 데 거의 동일한 양의 연산이 필요한 경우를 의미한다.

그러나 encoder-decoder 모델과 단일 모델 (encoder only, decoder only) 을 비교하는 것은 어렵다. 인코더와 디코더에 각각 L개의 레이어가 있는 encoder-decoder 모델은 2L개의 레이어를 가진 단일 모델과 파라미터 수가 동일하지만, 계산 비용은 L개의 레이어를 가진 단일 모델과 거의 동일하기 때문이다.

 

합리적인 비교를 위해 encoder-decoder 모델에 대한 여러 구성을 고려했다.

L : BERT-based sized layer number
P : BERT-based sized parameter number
M : FLOPs required for L+L layer encoder-decoder model (=L layer decoder-only model)L + L-layer encoder-decoder model
  • L + L encoder-decoder model : 2P & M FLOPs
  • L + L encoder-decoder model with shared parameters : P & M FLOPs
  • L/2 + L/2 encoder-decoder model : P & M/2 FLOPs
  • L decoder only model (=Language Model) : P & M FLOPs
  • L decoder only prefix LM with fully-visible self-attention : P & M FLOPs

 

3.2.3 Objectives

비지도 학습 목표에서 basic language modeling objective[각주:5][각주:6]와 3.1.4에서 언급한 denoising objective를 비교하며 실험을 진행했다. 

  • basic language modeling objective
    • 입력 시퀀스 \(x_1, x_2, ... x_m\) 과 출력 시퀀스 \(y_n, y{n-1}, ...\) 이 주어졌을 때 likelihood p(y_n, y_{n-1} ,.. ) 를 최대화하는 방식
  • 예측을 하기 전에 prefix를 취하는 모델 (encoder-decoder 모델 및 prefix LM)의 경우, 레이블이 지정되지 않은 데이터 세트에서 텍스트 범위를 샘플링하고 임의의 지점을 선택하여 prefix 부분과 target 부분으로 분할 (= Prefix language modeling)
  • 일반적인 LM은 처음부터 끝까지 전체 범위를 예측하도록 훈련

 

 

3.2.4 Results

[표 2] 성능 비교표

  • 모든 태스크에 있어서 denoising objective를 가진 encoder-decoder 모델의 성능이 가장 우수
  • 해당 방식은 파라미터 수가 가장 많지만 계산 비용은 Decoder only model과 동일
  • 파라미터 공유 시에도 성능 저하가 거의 없었음[각주:7]
  • 레이어 절반으로 줄이면 성능 크게 저하
  • decoder only 모델과 파라미터수가 동일한 Enc-dec shared의 성능이 더 뛰어난 것으로 보아 enc-dec 구조가 성능 향상에 도움이 됨
  • denoising objective가 일반적인 LM objective보다 성능이 좋았음

 

3.3 Unsupervised Objectives

앞서 살펴본 unsupervised objective를 보다 자세히 살펴보자.

기존 연구들의 unsupervised objective를 참조했으나 이를 정확히 복제해서 구현하기 보다는 text to text 프레임워크에 맞게 수정하고, 여러 일반적인 접근법의 개념을 결합한 objective를 사용할 것이다.

모든 objective는 레이블이 지정되지 않은 데이터셋에서 토큰화된 텍스트 범위에 해당하는 토큰 ID를 취하고, 입력 시퀀스와 그에 상응하는 target값을 만들기 위해 처리된다.

이후에는 기존 LM objective처럼 target sequence에 대한 maximum likelihood를 산출하고 훈련하는 방식으로 진행한다.

 

3.3.1 Disparate High-Level Approaches

자주 사용되는 3가지 objective의 접근 방식을 비교한다.

  • Prefix language modeling (3.2.3에서 등장한 것과 동일) : text span을 두 개의 구성요소로 분할해 하나는 인코더의 입력으로, 하나는 타깃 시퀀스로 사용해 디코더의 예측 값과 비교한다.
  • BERT-style : BERT의 MLM에서 영감을 얻은 훈련 목표로 text span에서 무작위 토큰의 15%를 dropout 한다. 이 때 dropout한 토큰 중 90%는 special mask token으로 대체되고 10%는 무작위 토큰으로 대체된다. BERT는 encoder-only model이었기 때문에 손상된 토큰을 대상으로 이를 재구성하는 방식으로 훈련이 진행됐다면 encoder-decoder 모델에서는 손상되지 않은 원본 문장 전체를 target 값으로 사용한다.
  • Deshuffling : 선행 연구[각주:8]에서 사용했던 방식대로 토큰 시퀀스를 가져와 셔플한 다음, 셔플하기 전 원래의 시퀀스를 target 값으로 사용해 학습을 진행한다.

 

성능 비교 실험을 진행한 결과는 아래 표와 같다.

[표 3] pre-training objective에 따른 성능 비교표

  • 전반적으로 BERT-style objective가 가장 우수한 성능을 보임
  • prefix LM도 유사한 성능을 보였음

 

 

3.3.2 Simplifying the BERT objective

이전 결과를 바탕으로 가장 성능이 좋았던 BERT-style objective를 수정해서 실험을 진행해보았다.

  • BERT-style : 앞서 사용했던 BERT style과 동일 (비교용)
  • MASS-style : 랜덤 토큰 교체를 포함하지 않게 함. 15%의 토큰을 모두 마스킹

디코더에서 긴 시퀀스에 대한 self-attention이 필요한 경우를 막고자, 전체 텍스트를 예측하지 않고도 학습할 수 있는 방법을 구상했다.

  • replace corrupted spans : 각 토큰을 MASK 토큰으로 치환하는 대신 손상된 토큰의 연속된 span 전체를 unique mask token으로 치환. target은 각 unique mask token을 prefix로 달고 손상된 토큰의 원본을 concat한 형태
  • drop corrupted tokens : 입력 시퀀스에서 손상된 토큰을 완전히 삭제하고 삭제된 토큰을 순서대로 재구성하는 방법

 

아래 표를 보면 진행 방식을 더 명확히 알 수 있을 것이다.

[표 4] 원본 문장 "&ldquo;Thank you for inviting me to your party last week .&rdquo; 에 대한 unsupervised objective의 예시

<M> : shared mask token
<X>, <Y>, <Z> : sentinel token (unique token IDs)
grayed-out word (apple) : 대체된 랜덤 토큰

 

실험 결과는 아래 표와 같다.

[표 5] BERT objective 변형에 따른 성능 비교

  • 모든 변형이 대체로 비슷한 성능을 보임
  • 손상된 토큰을 완전히 삭제했을 때(Replace corrupted spans) CoLA 점수가 상당히 높아져 GLUE 점수가 향상됨
  • 그러나 완전히 삭제하는 것은 SuperGLUE에서의 성능 하락을 발생시킴
  • 전체 원본 시퀀스를 예측할 필요가 없도록 만든 두 가지 변형 스타일 (replace corrupted spans, drop corrupted tokens) 은 target 시퀀스를 짧게 만들고 결과적으로 훈련을 더 쉽게 하기 때문에 잠재적인 이점을 가짐

앞으로는 손상 토큰을 sentinel token으로 대체하는 replace corrupted spans 방식을 사용해서 실험을 진행한다.

 

3.3.3 Varying the corruption rate

현재까지는 BERT에서 사용된 15%의 값으로 실험을 진행했는데, 우리의 모델은 BERT와 다른 아키텍처를 가졌기 때문에 corruption token rate도 최적 값을 찾기 위해 실험을 진행했다.

[표 6] corruption rate에 따른 성능 비교표

  • 큰 성능 차이를 보이지 않음
  • 그러나 50%는 GLUE, SQuAD에서의 성능을 크게 저하시킴
  • 더 큰 corruption rate 사용 시 target sequence가 길어져 학습 속도를 저하시킬 수 있음

앞으로는 corruption rate = 15%로 고정하고 실험을 진행한다.

 

3.3.4 Corrupting spans

더 짧은 target을 만들어서 학습 속도를 높이고자 한다.

지금까지 연속적인 범위의 토큰이 손상된 경우 이를 하나의 span으로 간주하고 고유한 마스크 토큰을 부여했는데, i.i.d corruption strategy를 사용하기 때문에 연속적으로 나타나는 경우가 많이 있는 것은 아니다.

따라서 개별 토큰 단위로 i.i.d 방식으로 손상시키는 대신 span 단위로 손상시켜서[각주:9]추가적인 속도 향상을 얻고자 한다.

  • 무작위로 간격을 두고 연속된 token span을 손상시킴
  • 해당 objective는 손상될 토큰의 비율총 손상 토큰 개수로 파라미터화 할 수 있음
  • 설정한 파라미터에 만족되도록 span length를 선택함

예를 들어 500개의 토큰으로 구성된 시퀀스를 처리할 때, 토큰의 15%가 손상되고 25개의 corrupted span이 존재해야 한다고 할 경우 손상될 토큰 총 개수는 500*0.15=75 개이고 평균 span length는 75/25=3 이 된다.

 

실험 결과는 다음과 같다.

[표 7] corrupted span length에 따른 성능 비교표

  • 모든 corruption rate는 15%로 고정
  • 평균 span length를 2, 3, 5, 10으로 설정하여 비교
  • span 단위로 나눈 경우 길이에는 큰 영향을 받지 않지만, 10으로 설정한 경우 약간의 성능하락 보임
  • 특히 평균 span length 를 3으로 설정하면 대부분의 벤치마크에서 기존 I.I.D. 방식보다 성능 향상이 이뤄짐

 

3.3.5 Discussion

[그림 5] 실험 정리 표

  • 진행된 여러 가지 실험 중, 가장 성능 변화가 크게 일어났던 것은 "High-level approaches" 단계에서였다
  • 나머지 변형들에서는 성능 변화가 크지 않았으나, 다른 시퀀스 길이는 다른 학습 속도를 보일 수 있다
  • 따라서 BERT-style objective를 선택한 이후에는 computational cost에 따라 추가 전략을 세워야 한다

 

(중간 부분 3.4~3.6 생략. 추후 보충 예정)

 

3.4 Pre-training Dataset

pre-training dataset은 전이 학습에서 중요한 구성요소이지만, 현재까지 서로 다른 사전 학습 데이터셋에 대한 비교가 상대적으로 적었을 뿐만 아니라 사전 학습에 사용되는 표준 데이터셋도 부족했다.

최근 새로운 대규모 데이터셋 (common crawl)에 대한 사전 학습과 기존의 소규모 데이터셋 (wikipedia) 를 사용한 사전학습을 비교한 사례가 존재했다.

이번 섹션에서는 사전 학습 데이터셋이 성능에 미치는 영향을 보다 심층적으로 조사하기 위해 C4 데이터 세트의 변형과 다른 잠재적인 사전 학습 데이터셋을 비교한다.

 

3.5 Training Strategy

지금까지는 모델의 모든 파라미터가 unsupervised task에 대해 사전 학습된 후 다운스트림 작업에 대해 Finetuning되는 구조를 고려했다. 이번 섹션에서는 여러 태스크에서 동시에 모델을 훈련하는 방식과 더불어 모델을 Finetuning하는 다양한 접근법을 비교한다.

3.5.1 Fine tuning methods

저자원 태스크에서 모든 파라미터를 finetuning 하는 것은 suboptimal한 결과를 불러올 수 있다는 주장이 제기되었다.[각주:10]

분류 태스크를 수행할 때 Pre-trained 된 부분을 freeze하고 classifier만 finetuning을 진행하는 선행 연구도 존재하지만, 현재의 Encoder-Decoder 구조에서는 주어진 태스크에 대한 output target sequence를 생성해야 하므로 Decoder 전체가 학습되어야 하기 때문에 적용하기 어렵다.

대신 이번 섹션에서는 파라미터 일부만 업데이트할 수 있도록 하는 두 가지 접근 방식을 제시한다.

Adapter layer [각주:11]

Adapter layer는 FFNN 뒤에 추가되는 ReLU가 포함된 dense layer로, 출력 차원이 입력 차원과 일치하게 설계하여 구조나 파라미터를 추가적으로 변경하지 않고도 네트워크에 삽입이 가능하다.

Fine tuning 진행 시 adapter layer와 layer normalization의 파라미터만 업데이트되도록 하는 것이 해당 전략이다.

여기에서는 FFNN의 차원 d를 주요 하이퍼파라미터로 두고, d를 통해 모델에 추가되는 새 파라미터 수를 변경한다.

[각주:12]">
Adapter layer figure [각주:13]

Gradual Freezing

Fine tuning을 진행하면서 시간이 지남에 따라 점점 더 많은 파라미터가 Fine tuning 될 수 있게끔 (=unfreezing) 하는 방법이다. 

처음 Fine tuning을 시작할 때에는 인코더와 디코더의 마지막 레이어만 업데이트 되도록 두고, 일정 횟수 업데이트가 끝나면 점차 업데이트되는 레이어 개수가 늘어나며 전체 네트워크의 파라미터가 업데이트될 때까지 학습을 진행한다.

인코더 - 디코더 레이어는 12개로 구성되어 있고, Fine tuning은 2^18 step을 진행하며 Fine tuning 프로세스를 2^18/12 step으로 구성된 12개의 episode로 세분화해서 하나씩 unfreeze를 진행한다.

[표 10] Fine tuning method에 따른 성능 비교표

  • [adapter layers]
    • SQuAD와 같은 저자원 태스크는 작은 값의 d로도 잘 작동
    • 고자원 태스크는 큰 값의 d가 필요함 (=unfreezed 파라미터수가 많아야 함)
    • 다운스트림 태스크의 크기에 맞게 d를 조절해서 더 적은 학습시간으로 좋은 성능을 보일 수 있음
  • [Gradual unfreezing]
    • 전체 파라미터에 대한 finetuning보다는 성능이 소폭 하락
    • 약간의 속도 향상을 제공
    • gradual unfreezing schedule을 조정할 경우 개선의 여지 존재

 

3.5.2 Multi-task learning

지금까지는 하나의 비지도 학습에 대해 모델을 사전학습하고 각 다운스트림에 대해 fine tuning을 진행했다.

multi-task learning[각주:14] 는 한 번에 여러 태스크에 대해 모델을 훈련하는 방식이다. 해당 연구에서는 한 번에 여러 작업을 동시 수행할 수 있는 단일 모델, 즉 여러 다운스트림 태스크에서 동일한 파라미터로 수행이 가능한 모델을 훈련하는 것을 목표로 한다.

이번 연구에서는 목표를 조금 낮춰서 여러 작업을 한 번에 훈련하는 방법을 연구해 궁극적으로 각 다운스트림에서 잘 수행되는 파라미터 세팅을 만들었다. 예를 들어서 많은 태스크에 대해 단일 모델을 훈련하되, evaluation을 진행할 때에는 태스크마다 다른 체크포인트를 선택하는 방식이다.

text-to-text 프레임워크 하에서 레이블링되지 않은 (=사전학습에 사용될) 데이터셋 여러 개를 섞어서 사용하는 방식으로 구현한 반면 NLP에 multi-task learning을 적용하는 다른 연구들의 경우에는 task-specific classification networks를 추가하거나 다른 loss function을 사용하는 방식으로 학습을 수행한다.

 

Multi-task learning에서 가장 중요한 요소는 모델이 학습해야 하는 각 태스크별 데이터의 양이다. 모델이 Overfitting 혹은 Underfitting 되지 않도록 각 태스크에서 가져올 데이터의 비율을 조절해야 한다. 이 때 비율은 데이터셋 크기, 태스크의 난이도, 정규화 등 다양한 요소에 의해서 달라질 수 있다.

발생할 수 있는 또 다른 문제점으로는 "task interference”, “negative transfer”이 존재하는데, 한 태스크에서 좋은 성능을 달성했을 때 다른 태스크에서의 성능이 저하되는 현상을 말한다.

위와 같은 문제점을 해결하고자 데이터 비율을 설정하기 위한 다양한 전략을 탐색하고 실험해본다.

 

Examples-propotional mixing

모델은 데이터셋 크기에 따라서 더 빨리, 혹은 더 느리게 overfitting될 수 있다. 따라서 데이터셋 크기에 비례해 샘플링하는 방식을 고안했다.  모든 태스크의 데이터셋을 연결하고 결합된 데이터 집합에서 랜덤 샘플링을 수행하는 것이다. 

그러나 단순히 크기에 비례해 샘플링을 진행했을 경우, 레이블링되지 않은 데이터셋이 크기 때문에 학습할 때 모델이 보는 대부분의 데이터가 unlabeled data가 되고 모든 지도학습 태스크에서 undertrain을 야기한다.

이 문제를 해결하기 위해 비율 limit를 설정해두었는데, N개의 태스크 데이터셋이 \(e_n, n \in {1, ..., N}\), K가 설정해둔 dataset size limit 이라고 할 때 m번째 태스크 샘플링 확률은 \(r_m = min(e_m, K) / \sum min(e_n, K)\) 로 제한된다.

 

Temperature-scaled mixing

데이터셋 크기 간의 큰 격차를 완화하는 또 다른 방법으로 mixing rate의 temperature를 조정하는 방식이 있다.

이 접근 방식은 multilingual BERT에서 리소스가 적은 언어를 학습하기 위해 사용된 방식인데, 하이퍼파라미터 T를 통해 temperature를 조정하며 T=1일 때 데이터셋 크기에 따른 비례 추출이고, T가 증가할수록 크기에 상관없는 균등 추출에 가까워진다.

따라서 temperature를 높여 가장 큰 데이터셋의 혼합 비율을 감소시키는 방식으로 조정한다.

 

Equal mixing

각 태스크에서 동일한 확률로 샘플링을 진행한다. 이는 리소스가 적은 작업에서 빠르게 overfitting하고, 리소스가 많은 작업에서 underfitting될 가능성이 있으나 차선책 설정을 테스트해보고자 해당 방법도 함께 실험했다.

[표 11] mixing strategies에 따른 성능 평가표

 

  • 기본 pretraining + finetuning training step number와 동일하게 학습을 진행 (2^19 + 2^18)
  • 대부분의 작업에서 기본 전이학습 구조에 비해 성능이 저하됨
  • equal mixing에서 성능 크게 저하
  • examples-propotional은 k가 최상의 성능을 얻는 sweet spot이 존재함
  • Temperature-scaled는 합리적인 성능 제공
    대부분의 경우 T=2가 가장 좋은 성능을 발휘함

 

3.5.3 Combining Multi-task learning with Fine-tuning

여러 태스크를 혼합해 단일 모델을 학습하되, 모델에 대해 서로 다른 파라미터 세팅 (체크포인트) 을 사용해 성능을 평가하는 버전을 연구해보았다.(MT-DNN[각주:15])

  • Multitask learning + Finetuning : limit을 설정한 examples-propotional mixture를 진행하고 개별 다운스트림 태스크에 대한 finetuning을 진행
  • Leave-one-out multitask training : 다운스트림 태스크 중 하나를 제외하고 사전학습 진행 + 제외했던 태스크에 대해 Finetuning을 진행
    사전 학습 중에 보지 못한 작업에 대해 Finetuning 되는 실제 환경을 시뮬레이션
  • Supervised multi-task pre-training : unsupervised data를 통한 사전 학습을 제외하고, 사전학습에서도 supervised data 만 사용함

[표 12] Training strategy에 따른 성능 비교표

  • Multi-task pretraining 이후 finetuning을 수행한 경우 베이스라인과 유사한 성능을 보임
  • Leave-one-out 의 성능이 약간 더 나빴는데, 이를 통해 multi-task pretraining이 task interference를 크게 초래하지 않는다고 추론할 수 있음
  • supervised만 사용한 경우 번역 태스크를 제외하고 가장 낮은 성능을 보여, 번역 태스크는 pretraining의 이점이 적은 반면 나머지 태스크에서는 크게 나타남 

 

3.6 Scaling

인간의 전문 지식에 의존하기 보다 추가적인 연산을 활용하는 방법이 더 뛰어나다는 결과가 머신러닝 분야의 선행 연구에서 나왔다. 최근 연구 결과에 따르면 이는 NLP 분야의 전이 학습에도 적용될 수 있다.

즉 모델의 규모를 확장하는 것이 성능 향상에 월등히 도움이 된다는 것이다.

이번 섹션에서는 더 많은 컴퓨팅이 주어졌다면, 모델을 어떤 방식으로 확장할지에 대해서 논의한다.

 

3.7 Putting It All Toghether

현재까지 실험한 결과를 토대로 성능을 최대한 끌어올려보자!

Objective

  • i.i.d denoising objective를 span-corruption objective로 대체
  • 평균 span 길이는 3으로 함
  • corruption rate = 15%

target sequence 길이가 짧기 때문에 계산 효율이 더 높으면서 나은 성능을 제공함

 

Longer training

  • T5 baseline 모델은 다른 모델 (BERT, XLNet, RoBERTa) 보다 적은 양의 사전 훈련을 진행하는데, 다행히 C4는 충분히 큰 데이터이므로 데이터를 반복학습하지 않고도 훨씬 더 오래 훈련할 수 있음
  • 섹션 3.6에서 pretraining 단계에서 batch size를 늘리고 Training steps number를 늘렸을 경우 성능 향상을 보여, 추가적인 사전 훈련이 도움이 된다는 사실을 입증함
  • 따라서 T5는 max sequence length가 512인 2^11 개의 시퀀스로 구성된 batch size에서 약 백만 번 동안 사전 학습을 진행
  • 섹션 3.4.1 에서 몇 가지 다운스트림 태스크에 대해 C4보다 RealNews-like, WebText-like, and Wikipedia + TBC 데이터셋으로 사전학습한 것이 더 나은 성능을 보였으나 C4에 비하면 데이터셋 크기가 작기 때문에 overfitting 가능성 존재하므로 C4를 계속 사용

 

Model sizes

  • 섹션 3.6에서 베이스라인 모델 크기 확장에 따른 성능 향상을 보였다. 그러나 컴퓨팅 리소스가 제한된 환경에서는 사용이 자유롭지 못하므로 다양한 모델 크기를 설정해놓고 실험했다.
    • Base : 기존 모델 / 파라미터 : 2억 2천만개
    • Small : d_model = 512, d_ff = 2048, 8 multi-head, 6 layers of encoder & decoder / 파라미터 : 6천만개
    • Large : d_model = 1024, d_ff = 4096, d_kv=64, 16 multi-head, 24 layers of encoder & decoder / 파라미터 : 7억 7천만개
    • 3B & 11B : 더 큰 모델을 사용할 때의 성능을 확인
      3B : d_model = 1024, d_ff = 16384, d_kv=128, 32 multi-head, 24 layers of encoder & decoder / 파라미터 : 28억개

      11B : d_model = 1024, d_ff = 65536, d_kv=128, 128 multi-head, 24 layers of encoder & decoder / 파라미터 : 110억개

 

Multi-task pre-training

섹션 3.5.3에서 finetuning 진행 이전 unsupervised + supervised 를 혼합한 다중 작업에 대한 사전 훈련이 효과적이라는 것을 보여주었다.[각주:16]

따라서 최종 훈련에서는 Multi-task pre-training을 진행했다.

 

 

Fine-tuning on individual GLUE and SuperGLUE tasks

GLUE와 SuperGLUE에서 Fine tuning을 진행할 때 각 벤치마크의 모든 데이터셋을 연결해서 GLUE에서 한 번, SuperGLUE에서 한 번씩 진행했다. 이는 논리적으로 단순하지만 태스크를 개별적으로 Fine tuning하는 것에 비해 일부 작업에서 약간의 성능저하가 있다는 사실이 발견되었다. 현재 설정되어 있는 큰 배치 크기로 학습을 진행할 경우, 데이터셋 크기가 작은 태스크에서 반복적으로 같은 데이터가 등장해 빠르게 overfitting 될 수 있기 때문이다.

따라서 GLUE와 SuperGLUE를 학습할 때는 512 길이의 시퀀스를 더 작은 배치 크기인 8개씩 처리하고, 5,000 steps 씩이 아니라 1,000 steps 씩 체크포인트를 저장해서 overfitting 전에 파라미터에 접근할 수 있도록 한다.

 

Beam Search

이전까지 모든 결과는 greedy decoding을 사용해서 결과 보고되었으나, 출력 시퀀스가 긴 태스크에서는 beam search를 사용했을 때 성능이 향상된다는 것을 발견했다.

따라서 WMT 번역, CNN/DM 요약 태스크에서 beam width=4, length penalty=0.6으로 두고 빔 서치를 사용했다. 

 

Test set

최종 실험 세트이므로 validation set이 아니라 test set의 결과를 기록했다.

  • CNN/Daily mail : standard test set
  • WMT : newstest2014(German), newsteset2015 (French), newstest(Romanian)
  • GLUE/SuperGLUE : 벤치마크 평가 서버 이용
  • SQuAD : 벤치마크 서버에서 추론 시행해야 하는데 서버 단의 컴퓨팅 리소스 부족으로 validation으로 평가. SQuAD test set에서 높은 성능을 보이는 모델이 validation set에서도 높은 성능 보이므로 이러한 추세를 따를 것이라 가정

 

 

Results

[표 14] T5 모델의 성능 평가

  • 평가한 24개의 태스크 중 18개에서 SOTA를 달성
  • 가장 큰 모델 (11B) 가 가장 우수한 성능을 보임
  • 특히 자연어 추론 영역인 MNLI, RTE, WNLI 에서 기존보다 훨씬 우수한 성능을 보임
  • SuperGLUE - COPA, WSC 에서 인간보다 떨어지는 성능
    특히 리소스가 부족한 환경에서 모델이 완벽히 수행하기 어려운 언어적 작업이 여전히 남아있음
  • WMT 에서는 SOTA 달성하지 못함
    영어 전용 데이터셋을 사용했고, 이전 SOTA 모델들이 역번역이나 추가적인 형태의 언어간 비지도 학습을 사용했기 때문에 이러한 성능 차이가 발생
  • CNN/Daily Mail : SOTA 달성 및 약간의 성능 개선. 대체적으로 일관성 있고 정확한 요약을 생성함

CNN/Daily Mail 예시

 

4. Reflection

4.1 Takeaways

  • Text-to-Text : 모든 태스크에 대해 동일한 손실 함수와 디코딩 절차를 사용하는 통합 프레임 워크를 제시했다. 이러한 접근 방식은 분류 태스크 뿐 아니라 요약과 같은 생성 태스크, STS-B 같은 회귀 태스크에도 성공적으로 적용되었다.
  • Architectures : 원래의 encoder - decoder 형태가 text to text 프레임워크에서 가장 효과적이라는 사실을 발견. encoder / decoder only 모델보다 파라미터 수는 2배 많으나 계산 비용은 비슷하며 shared parameters를 사용해도 성능이 크게 저하되지 않는다
  • Unsupervised objectives : denoising objective가 더 효과적이라는 사실을 보임.
    계산 효율성을 위해 더 짧은 target seqeuence를 사용할 수 있는 objective를 사용하는 것이 좋다
  • Datasets : common crawl에서 휴리스틱하게 정제를 수행한 C4 데이터셋을 제시함
  • Training strategies : fine-tuning 과정 중 모든 파라미터를 업데이트하는 방식이 비용이 가장 많이 들지만, 일부 파라미터만 업데이트하는 방식보다 성능이 우수하다는 것을 발견함
    한 번에 여러 태스크에 대해서 모델 학습을 진행할 때 서로 다른 데이터셋을 혼합해서 사전학습했을 경우 더 좋은 성능을 보임
  • Scaling : 더 작은 모델을 더 많은 데이터로 훈련시키는 것이, 더 적은 스텝으로 더 큰 모델을 훈련하는 것보다 일반적으로 더 좋은 성능을 낸다

 

4.2 Outlook

  • The inconvenience of large models : 더 큰 모델이 더 좋은 성능을 보이지만, 클라이언트 측에서 추론을 진행하거나 federated learning을 진행할 때에는 더 작은 모델을 필요로 할 수 있다.
    이렇게 저자원 환경에서 태스크를 수행할 경우 전이학습의 이점이 더 뚜렷하게 보일 수 있으므로, 현재 더 저렴한 모델로 보다 강력한 성능을 달성하는 방법에 대한 여러 연구 (Distilation[각주:17][각주:18], parameter sharing[각주:19] 등) 가 진행되고 있다.
    • Federated learning : 다수의 로컬 클라이언트와 하나의 중앙 서버가 협력하여 데이터가 탈중앙화된 상황에서 글로벌 모델을 학습하는 기술이다. [각주:20]
  • More efficient knowledge extraction : 사전학습의 목표인 "범용적 지식학습" 을 위해서 현재의 denoising objective보다 더 나은 objective에 대한 연구가 이뤄지고 있다. 그 예시로 실제 텍스트와 기계 생성 텍스트를 구분하도록 모델을 사전 훈련함[각주:21]으로써 효율성을 높인 연구가 존재한다.
  • Formalizing the similarity between tasks : 본 논문에서는 레이블링되지 않은 특정 도메인에 대한 사전 학습이 다운스트림 태스크에서의 성능을 향상시킬 수 있음을 보였는데, 사전 학습과 다운스트림 태스크 사이의 '유사성'을 보다 엄밀히 정의할 경우 어떤 데이터셋을 사용할지에 대한 선택을 더 쉽게 할 수 있다.
  •  Language-agnostic models : 기존 영어 데이터로만 사전학습이 진행된 모델은 번역 태스크에서 성능이 좋지 않았다. 언어에 구애받지 않는 모델을 구현하고자 텍스트의 언어와 상관없이 좋은 성능을 보이는 모델을 더 연구할 필요성이 존재한다.

 


 

참고 문헌

  1. Peter Shaw, Jakob Uszkoreit, and Ashish Vaswani. Self-attention with relative position
    representations. arXiv preprint arXiv:1803.02155, 2018. [본문으로]
  2. Alec Radford, Jeffrey Wu, Rewon Child, David Luan, Dario Amodei, and Ilya Sutskever.
    Language models are unsupervised multitask learners, 2019. [본문으로]
  3. Nitish Shirish Keskar, Bryan McCann, Caiming Xiong, and Richard Socher. Unifying question
    answering and text classification via span extraction. arXiv preprint arXiv:1904.09286,
    2019b. [본문으로]
  4. https://heegyukim.medium.com/adafactor-optimizer-for-deep-learning-8268ca91e506 [본문으로]
  5. Andrew M. Dai and Quoc V. Le. Semi-supervised sequence learning. In Advances in neural
    information processing systems, 2015. [본문으로]
  6. Prajit Ramachandran, Peter J. Liu, and Quoc V. Le. Unsupervised pretraining for sequence
    to sequence learning. arXiv preprint arXiv:1611.02683, 2016. [본문으로]
  7. Zhenzhong Lan, Mingda Chen, Sebastian Goodman, Kevin Gimpel, Piyush Sharma, and Radu Soricut. ALBERT: A lite BERT for self-supervised learning of language representations.arXiv preprint arXiv:1909.11942, 2019. [본문으로]
  8. Peter J. Liu, Yu-An Chung, and Jie Ren. SummAE: Zero-shot abstractive text summarization
    using length-agnostic auto-encoders. arXiv preprint arXiv:1910.00998, 2019a. [본문으로]
  9. SpanBERT(Joshi et al., 2019) [본문으로]
  10. Matthew Peters, Sebastian Ruder, and Noah A. Smith. To tune or not to tune? adapting
    pretrained representations to diverse tasks. arXiv preprint arXiv:1903.05987, 2019. [본문으로]
  11. Neil Houlsby, Andrei Giurgiu, Stanislaw Jastrzebski, Bruna Morrone, Quentin De Laroussilhe,
    Andrea Gesmundo, Mona Attariyan, and Sylvain Gelly. Parameter-efficient transfer
    learning for NLP. arXiv preprint arXiv:1902.00751, 2019. [본문으로]
  12. https://gbdai.tistory.com/62 [본문으로]
  13. https://gbdai.tistory.com/62 [본문으로]
  14. Sebastian Ruder. An overview of multi-task learning in deep neural networks. arXiv preprint
    arXiv:1706.05098, 2017. [본문으로]
  15. Xiaodong Liu, Jianfeng Gao, Xiaodong He, Li Deng, Kevin Duh, and Ye-Yi Wang. Representation learning using multi-task deep neural networks for semantic classification and information retrieval. In Proceedings of the 2015 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, 2015. [본문으로]
  16. MT-DNN(Liu et al., 2015, 2019b) [본문으로]
  17. Geoffrey Hinton, Oriol Vinyals, and Jeff Dean. Distilling the knowledge in a neural network.
    arXiv preprint arXiv:1503.02531, 2015. [본문으로]
  18. Victor Sanh, Lysandre Debut, Julien Chaumond, and Thomas Wolf. DistilBERT, a distilled
    version of BERT: smaller, faster, cheaper and lighter. arXiv preprint arXiv:1910.01108,
    2019. [본문으로]
  19. Zhenzhong Lan, Mingda Chen, Sebastian Goodman, Kevin Gimpel, Piyush Sharma, and
    Radu Soricut. ALBERT: A lite BERT for self-supervised learning of language representations.
    arXiv preprint arXiv:1909.11942, 2019. [본문으로]
  20. https://medium.com/curg/%EC%97%B0%ED%95%A9-%ED%95%99%EC%8A%B5-federated-learning-%EA%B7%B8%EB%A6%AC%EA%B3%A0-%EC%B1%8C%EB%A6%B0%EC%A7%80-b5c481bd94b7 [본문으로]
  21. Kevin Clark, Minh-Thang Luong, Quoc V Le, and Christopher D Manning. Electra:
    Pre-training text encoders as discriminators rather than generators. arXiv preprint
    arXiv:2003.10555, 2020. [본문으로]