본문 바로가기

자연어처리/LM

T0: Multitask Prompted Training Enables Zero-Shot Task Generalization

GPT-3에서 LLM이 다양한 종류의 tasks에서 합리적인 수준의 zero-shot generalization 능력을 달성할 수 있음을 보여주었다.  

LLM이 좋은 zero-shot 성능을 보이는 이유에 대해, LM이 방대한 text data를 pre-training하는 과정에서 text에 내제된 다양한 종류의 task(예: QA, 요약, 번역 등)를 자신도 모르게 암묵적으로 학습하기 때문이라는 가설이 제기되었다.  
- 즉, pre-training 과정에서 방대한 pretraining corpus를 통해 모델이 암묵적으로 multitask를 이미 학습했기 때문에, 추가 학습(fine-tuning) 없이도 합리적인 zero-shot 성능을 달성할 수 있다는 주장이다.  

논문에서는 이 가설을 검증한다. 즉, 처음부터 explicit multitask learning을 수행하면 zero-shot generalization에 긍정적인 영향을 미칠 수 있는지를 검증한다.  

- 이 논문에서는 (1) implicit multitask learning과 (2) explicit multitask learning을 다음과 같이 구분한다.

- (1)은 사전학습 과정에서 언어 모델이 자신도 모르게 여러 능력을 배우는 것

- (2)는 여러 task들을 의도적으로 섞어서 하나의 모델을 학습시키는 것 

■ 이를 테스트하기 위해, 어떤 natural language tasks든 인간이 읽을 수 있는 프롬프트 형식으로 쉽게 매핑할 수 있는 시스템을 개발한 다음, 이 시스템을 사용해서 "다양한 형식의 프롬프트들이 포함된" 대규모 지도 학습 데이터셋들을 구축하였다. 

이렇게 프롬프트화된 데이터셋들을 모델에 학습시키면, 모델이 처음보는 task(training에 전혀 사용되지 않은 task)도 수행하는 능력(즉, zero-shot 능력)을 가질 수 있다. 

저자들은 매우 다양한 tasks을 포함하는 multitask mixture data로 사전학습된 인코더-디코더 모델을 파인튜닝시켰으며, 그 결과 다양한 데이터셋에서 강력한 zero-shot 성능을 달성하였다.  

[2110.08207] Multitask Prompted Training Enables Zero-Shot Task Generalization

 

Multitask Prompted Training Enables Zero-Shot Task Generalization

Large language models have recently been shown to attain reasonable zero-shot generalization on a diverse set of tasks (Brown et al., 2020). It has been hypothesized that this is a consequence of implicit multitask learning in language models' pretraining

arxiv.org

 

1. Introduction

■ LLM이 오직 language modeling objectives로만 학습되었음에도 불구하고, 새로운 task(학습 시 보지 못한 task)에 대해 합리적인 수준의 zero-shot 성능을 달성하였다.  

■ LLM의 zero-shot 능력의 원인에 대한 가설 중, 영향력 있는 가설은 implicit multitask learning의 결과로 새로운 task에 대해서도 잘 일반화할 수 있다는 것이다. 

■ 언어 모델은 pretraining corpus에 포함된 task들의 혼합으로부터 학습된다. 예를 들어, web forum의 text를 학습하는 과정에서 암묵적으로 질의응답의 형식과 구조를 배울 수 있다. 이것이 바로 논문에서 말하는 implicit multitask learning이다.  

■ implicit multitask learning은 LLM에게 자연어 프롬프트로 제시되는 처음 보는 tasks에 대해서도 일반화할 수 있는 능력을 부여한다.  

■ 그러나 이 능력은 매우 큰 모델에서만 뚜렷하게 나타나며, 프롬프트의 wording에 민감하다 (프롬프트의 단어나 구성을 조금만 바꿔도 성능이 바뀜).  

■ 최근 언어 모델들의 pretraining corpus 크기를 고려할 때, 일부 일반적인 NLP tasks들이 대규모 pretraining corpus에 명시적인 형태로 포함되어 있다.  
- 예를 들어, "미국의 수도는 어딘가요? - 워싱턴 D.C"와 같은 퀴즈 text는, question-answering task를 위한 완벽한 example이다. 
- pretraining corpus의 크기가 커짐에 따라, 이런 명시적인 형태의 examples이 포함되어 있을 가능성이 높다.  

■ 저자들은 "pre-training 과정에서 이러한 multitask supervision이 zero-shot generalization에 큰 역할을 한다"는 가정하에, 언어 모델을 명시적으로, 지도 학습 방식으로, 그리고 대규모 multitask 방식으로 학습시키는 데 초점을 맞추었다.  

■ 구체적으로, 저자들의 접근법은 자연어 프롬프트로 명시된 다양한 tasks의 집합으로 구성된 training mixture data를 사용하는 것이다. 이를 통해 (1) 거대한 크기를 요구하지 않으면서도 (2) 처음 보는 과제에 더 잘 일반화하고 (3) 프롬프트 워딩에 더 강건한 모델을 만들고자 하였다. 

■ 이를 위해 프롬프트를 수집하는 인터페이스를 개발하여, NLP 데이터셋을 프롬프트 형식으로 변환하였고, 그런 다음 encoder-decoder 모델에 이 multitask data를 학습시켰다. 이렇게 만들어진 모델이 바로 T0이다. 

[출처] https://arxiv.org/abs/2110.08207

- T5와 같은 text-to-text 모델은 multitask learning에 유용하게 사용할 수 있다. 

■ 그리고 학습에 전혀 사용하지 않은 task와 프롬프트를 사용하여 모델의 zero-shot 성능을 측정하였다.   

■ 논문에서 다루는 내용은 크게 두 가지

- (1) multitask prompted training이 unseen task에 대한 generalization 능력을 향상시킬 수 있는가

- (2) 더 넓은 범위의(즉, 더 다양한 형태로 표현된) 프롬프트들로 학습하는 것이 프롬프트 워딩에 대한 robustness를 향상시키는가  

■ 저자들은 GPT-3(175B)보다 약 16배 작은 모델이 11개의 처음 보는 데이터셋 중 9개에서 GPT-3의 성능과 동등하거나 능가함을 보여줌으로써 (1)을 입증하고,  

■ 데이터셋당 더 많은 종류의 프롬프트로 훈련하는 것이, 처음 보는 task에 대한 성능의 중앙값을 향상시키고, 변동성(성능 편차)을 감소시킴을 발견함으로써 (2)를 입증하였다.   
- 중앙값이 상승하고 변동성이 감소했다는 것은, 다양한 스타일의 프롬프트들을 학습함으로써 (1) 처음 보는 질문에도 평균적으로 더 잘 대답하게 되고 (2) 여러 스타일에 익숙해지므로, 특정 프롬프트 스타일에 따라 성능이 크게 좌우되는 문제가 줄어들어 여러 프롬프트가 주어져도 비교적 안정적인 성능을 내게 됨을 의미한다.  



2. MEASURING GENERALIZATION TO HELD-OUT TASKS

■ NLP task를 어떤 독립적인 task로 분류하기에는 모호한 점이 있다. 특히, 고유한 기술 하나(예: 자연어 추론)를 분리해내려고 할 때 더욱 그렇다. 
- 논문에서는 "task"라는 용어를 특정 데이터셋에 의해 테스트되는 NLP 능력(자연어 추론, 감성 분석과 같은 추상적인 능력)으로 정의하였다.  

■ 예를 들어, commonsense knowledge를 평가하기 위해, 일부 멀티태스크 연구들은 commonsense를 하나의 독립적인 task로 정의한다. 그러나 commonsense dataset들은 타고난 지식과 초등학교 수준의 과학에서부터 DIY 설명서, 미국 문화 규범, 대학원 수준의 내용에 이르기까지 매우 다양하다.  
- 이 예시처럼 "commonsense"라는 하나의 task 안에는 너무나 다른 종류의 지식과 추론 능력을 요구하는 데이터셋들이 존재한다. 
- 예를 들어 "태양은 뜨겁다"(타고난 지식)와 "나사를 조이는 법"(DIY 설명서)은 둘 다 "commonsense"로 분류될 수 있지만, 각 질문에 답하기 위해 필요한 능력은 전혀 다르다.  

■ 이러한 모호성 때문에, 저자들은 기존의 tasks들을 분류하는 방식이 완벽하지 않은 휴리스틱한 방식으로 간주하고, task의 format에 따라 task를 분류하는 방식을 선택했다. 

■ 데이터셋을 수집할 때, 영어가 아니거나 특수 도메인 지식(예: 생물 의학)을 요구하는 것들을 제외하였다. 이러한 기준에 따라 Fig 2에서 볼 수 있듯이 총 12개의 task, 62개의 dataset으로 training/evaluation 풀을 구성하였다.  

[출처] https://arxiv.org/abs/2110.08207

■ 학습에 사용하지 않은 새로운 task에 대한 zero-shot generalization을 평가하기 위해, subset of tasks로 학습하고 held-out group of tasks에 대해 평가하였다.   

■ 구체적으로, 4개의 tasks: natural language inference (NLI), coreference resolution, sentence completion, word sense disambiguation의 모든 데이터셋을 hold out하였다. 

■ NLI를 hold-out task로 선택한 이유는 인간도 NLI 문제를 zero-shot으로 일반화하기 때문이다(즉, 인간도 문제에 대한 판단을 위해 별도의 훈련을 받지 않는다. 이는 인간의 기본적인 언어 능력이기 때문이다.) 

■ 대부분의 인간은 premise가 hypothesis에 entail하는지 contradict하는지를 분류하도록 별도의 훈련을 받지 않는다. 훈련 없이도 이 task를 직관적으로 수행한다.  
- 예를 들어 "한 남자가 피아노를 연주하며 노래하고 있다"라는 premise에 대해 hypothesis가 "한 사람이 악기를 연주하고 있다"라고 하자.  
- premise와 hypothesis를 보고 인간은 직관적으로 hypothesis의 내용 "악기 연주"가 premise의 내용 "피아노 연주"에 포함되는 것을 알 수 있다. 즉, 이 문제가 entailment인지 글만 읽어도 바로 알 수 있다.  
- hypothesis가 "아무도 악기를 연주하고 있지 않다"라면, hypothesis의 내용이 premise의 내용과 직접적으로 상반되기 때문에 contradiction이다. 
- 이렇게 사람은 entailment/contradiction를 분류하도록 별도의 훈련을 받지 않아도, 기본적인 언어 능력만으로도 entailment/contradiction를 판단할 수 있다.  

■ NLI와 같은 이유로, coreference resolution, word sense disambiguation도 held-out group of tasks로 지정하였다.  

■ sentence completion도 hold out하는데, 이는 NLI와 매우 유사할 수 있는 task이기 때문이다. 
- NLI와 sentence completion을 해결하기 위해 필요한 모델의 skill이 유사하다. 그래서 held-out group에 포함시킨 것이다. 

■ 추가로, 공정한 zero-shot 비교를 위해 GPT-3가 evaluation에 사용했던 데이터셋들은 T0의 training data에서 모두 제외하였다.  
- 이는 T0 11B가 GPT-3 175B보다 16배 작으면서도, GPT-3 175B와 zero-shot generalization 능력이 비슷하거나 그 이상으로 좋은 이유는, 순전히 자신들이 제안한 학습 방법에 기인한 것임을 주장하기 위함이다.  

■ 그리고 위에서 언급한 held-out group of tasks뿐만 아니라, Big-bench의 데이터셋 일부에 대해 평가를 추가로 수행하였다. 
- BIG-bench는 LLM의 능력을 테스트하기 위해 다양하고 어려운 문제들이 포함되어 있는 벤치마크이다.  
- 언어학, 아동 발달, 수학, 상식 추론, 생물학, 물리학, 사회적 편향, 소프트웨어 개발 등을 포함한 광범위한 주제를 포괄하는 204개의 task로 구성되어 있다.  

■ 단, 저자들은 Big-bech의 tasks 중에서 (1) 베이스라인 성능이 이미 측정되어 있고 (2) T5 토크나이저의 vocabulary 내에 있는 텍스트(즉, T5 토크나이저가 처리할 수 있는 텍스트, 이모지나 다른 특수 문자 없이 영어 텍스트만 포함)로 구성된 task들만 선별하여 평가에 사용하였다.  
- 이렇게 선별된 Big-bench의 task들은 Fig 2의 held-out group of tasks와 전혀 겹치지 않는, 즉 T0 training에서 제외된 새로운 task들이다.  



3. A UNIFIED PROMPT FORMAT

■ zero-shot 실험을 위해, 모든 데이터셋을 프롬프트화 하였다.  
- 여기서 말하는 "프롬프트"는 입력 템플릿(input template)과 타겟 템플릿(target template) 그리고 metadata(프롬프트 자체에 대한 추가 정보)의 모음으로 구성된 것을 말한다.  

■ 여기서 template은 data example을 input 및 target sequence를 위한 natural language로 매핑하는 function이다.  
- template 작동 방식은, 예를 들어 NLI 데이터셋의 data example은 { "premise": "A man is eating a burger.", "hypothesis": "A person is eating food.", "label": 0 }처럼 "Premise", "Hypothesis", "Label"이라는 field를 포함하고 있을 것이다.  
- input template이 'If {Premise} is true, is it also true that {Hypothesis}?'이라면, 최종 input sequence는 input template을 통해 'If A man is eating a burger. is true, is it also true that A person is eating food.?'가 된다.  
- 그리고 target template이 '{Choices[label]}'라고 하자. 여기서 'Choices'는 label이 entailment (0), neutral (1) or contradiction (2)에 대응하는 'yes, maybe, no' 선택지로 구성된 prompt-specific metadata이다.  
- metadata가 'Choices = ["yes", "maybe", "no"]' 형태라면, data example의 "Label" field의 값이 0이므로(즉, label이 0이므로), Choices 리스트의 0번째 원소인 "yes"가 선택된다. (target template: {Choices[0]}) 
- 그러므로, target sequence는 "yes"가 된다.  
- 그리고 prompt-specific metadata외에 다른 metadata는 평가 지표와 같은 추가적인 속성을 다루고 있다. 
- 아래의 Fig 3은 dataset이 프롬프트화 되는 과정을 시각화한 것이다. 각 task의 프롬프트에 대한 details는 Appendix G에서 확인할 수 있다. 

[출처] https://arxiv.org/abs/2110.08207

■ Fig 3에서 보여주듯이, 저자들이 목표로 삼은 프롬프트 기반 멀티태스크 파인튜닝(multitask prompted finetuning)을 위해, 각 data example은 여러 다른 프롬프트 템플릿으로 구체화된다.  
- 이 과정을 통해 "다른 프롬프트 스타일의 질문에 대해 동일한 정답을 내놓는 데이터"들이 만들어진다. 
- T0는 이 데이터들로 훈련됨으로써, 표현 방식의 변화(프롬프트 워딩의 변화)에 강건한 능력을 학습하게 된다. 

■ 여기에 사용되는 프롬프트를 개발하기 위해, 연구 커뮤니티 사용자들이 프롬프트 개발에 기여하도록 공개적으로 요청했고, 총 36명이 참여했다고 한다.  

■ 프롬프트 형식에 강건한 모델을 학습시키는 것이 목표였지만, 무엇이 효과적인 프롬프트를 만드는지에 대한 정답이 없었기 때문에, 저자들은 참가자들에게 main guideline을 지키는 선에서 최대한 자유롭고 창의적으로 다양한 프롬프트를 만들도록 하였다.  

■ main annotation guideline은 (1) 프롬프트가 문법적으로 올바르고, fluent English speaker가 해당 task에 대한 경험이 없어도 이해할 수 있어야 한다는 것이었다. (2) 추가적으로, 명시적인 숫자 세기(counting)나 수치적 인덱싱을 요구하는 프롬프트는 제외하였다.  
- 즉 가이드라인은 (1) 일반적인 영어 사용자가 프롬프트를 읽고 이해할 수 있어야 하며 (2) 자연어 중심인 프롬프트여야 한다.  

■ (2)는 예를 들어, extractive QA task를 생가하면 된다. 이 task에서는 question과 passage가 주어졌을 때, passage 내부에서 question에 맞는 answer를 추출하는데, 이때 answer는 span의 index(start와 end index)로 출력된다.   

■ 저자들은 이렇게 텍스트가 아닌 숫자를 출력하도록 유도하는 프롬프트를 제외하고, 대신 그 범위의 텍스트를 텍스트 그대로 출력하는 프롬프트들은 남겨, 모델이 텍스트를 출력하도록 하였다.  

■ 그리고 저자들은 원본 task에 대한 프롬프트뿐만 아니라, 원본 과제를 변형하는 프롬프트도 T0 다양성 향상을 위해 training mixtures에 포함시켰다. 
- 예를 들어 summarization은 document로부터 요약문을 생성하는 task이다. 논문에서는 이를 original task라고 한다.  
- 다시 정리하면, original task summarization은 input이 document이고 output이 summary이다. 
- 저자들이 다양성 향상을 위해 training mixtures에 포함시킨 non-original-task prompt는 original task prompt와 반대로 input이 summary이고 output으로document를 생성하도록 유도하는 prompt를 의미한다.  

■ 잠재적으로 유해한 콘텐츠나 프로그래밍 언어와 같은 non-natural language를 제외하고 위에서 설명한 방식으로 영어 데이터셋에 대한 프롬프트를 수집하였다.  

■ 이렇게 수집된 prompt collection이 P3 (Public Pool of Prompts)이다. P3는 177개 데이터셋에 대해 2,073개의 프롬프트(데이터셋당 평균 11.7개)를 포함하고 있다.  

■ 논문의 실험에 사용된 모든 프롬프트는 P3에서 가져온 것이다. 단, Big-bench에서의 프롬프트는 해당 벤치마크에서 제공된 것을 사용하였다.  



4. EXPERIMENTAL SETUP

Model

■ T5는 span corruption으로 학습된 pretrained model이다. T5는 자연스러운 문장 생성보다는 빈칸 채우기에 더 가깝다.  

■ 그러나 저자들이 만들고자 하는 모델은 input text를 넣으면 target text를 생성하는 generation model이며, maximum likelihood를 통해 target을 자기회귀적으로(autoregressively) 생성하도록 훈련시키는 것이었다.  

■ original T5는 pretraining objective가 span corruption이기 때문에, pretrained T5를 그대로 가져와서 prompted dataset으로 text generation을 수행할 경우  괴리가 발생할 수 있다. 

■ 저자들은 이 괴리를 좁히기 위해, C4의 1T tokens을 이용하여 standard language modeling objective로 pretrained T5를 추가 학습시켰다. 

■ 이러한 language modeling 과정을 통해 문장 생성 능력을 갖춘 "LM-adapted T5 model (T5 + LM)"을 사용하였다.  

Training

■ T0는 섹션 3과 아래의 Table 5에 기술된 multitask mixture data로 훈련된다. 

[출처] https://arxiv.org/abs/2110.08207

■ 여기서 T0+ model은 T0에서는 제외하였던, GPT-3의 evaluation에 사용된 dataset을 추가한 mixture data로 훈련된 것을 제외하고는 동일한 하이퍼파라미터를 가진 모델이다.  

■ T0++ model은 mixture data에 SuperGLUE(단, RTE와 CB는 제외)를 추가하여, NLI와 BIG-bench만 held-out tasks로 사용한 모델이다. 이러한 T0의 변형 모델들은 모두 T5+LM 11B로 초기화되었다. 

■ 스케일링 효과를 연구하기 위해 3B 크기의 T0도 학습시켰는데, 이 T0-3B는 T0-11B와 동일한 training mixture data를 사용하지만, 초기화는 T5+LM 3B로 이루어진다.  

■ 최종 모델 선택을 위해, training datasets의 validation splits에서 가장 높은 점수를 기록한 체크포인트를 선택하였다.  

■ valid set으로 선택된 체크포인트이기 때문에, 평가용인 held-out dataset을 전혀 참조하지 않았으며 오직 훈련용 데이터셋의 검증 부분만을 사용한 것이다.  

■ 즉, 최고의 체크포인트를 고르는 과정에서 held-out task의 어떤 data도 사용되지 않았으므로, 이러한 선택 방식은 zero-shot setting이 유지된다.  

■ 모든 training dataset의 모든 examples을 결합하고 섞어서 multitask training mixture를 만들기 때문에, 완성된 각 dataset별로 examples의 수가 크게 차이날 수 있다. 논문에 따르면 100배까지 차이가 났다고 한다.   

■ 이렇게 단순히 example 개수에 비례하여 섞으면, training mixture data의 대부분이 거대한 dataset들의 example들로 채워지기 때문에 다양성이 사라진다.  

■ 그래서 저자들은 T5 논문에서 제안한 examples-proportional mixing 전략을 사용하였다. 구체적으로 limit \( K \)를 "500,000 / num_templates"으로 설정하였다.  
- 이렇게 하면, 작은 dataset에서는 그대로 샘플링하되, 큰 dataset에서는 "500,000 / num_templates" 개의 example들을 샘플링한다.  
- 여기서 'num_templates'는 해당 데이터셋에서 생성된 템플릿의 수(=프롬프트의 수)이다.  

■ input 및 target sequence는 각각 1024 tokens, 256 tokens으로 설정하고, T5를 따라 training examples을 하나의 sequence로 결합하는 sequence packing을 사용하였다. 옵티마이저도 AdaFactor를 사용하였다.  

■ 배치 크기는 1024로 설정했으며, sequence packing으로 인해 배치 하나당 총 \( 2^{20} \)개의 tokens이 들어있다.  

■ 그리고 T5 fine-tuning의 표준적인 관행을 따라, 1e-3의 학습률과 0.1의 dropout rate를 사용하였다.  

Evaluation

■ 4개의 held-out tasks(natural language inference, coreference, word sense disambiguation, and sentence completion) 내의 11개 데이터셋과, BIG-bench의 14개 tasks을 사용하여 T0의 zer-shot generalization을 평가한다.  

■ 여러 선택지 중 정답을 고르는 tasks(예: multiple choice question answering)의 경우, GPT-3를 따라 rank classification을 사용하여 모델을 평가하였다.  

■ 이는 파인튜닝된 모델 하에서 각 선택지의 log-likelihood를 계산하고, 가장 높은 log-likelihood를 가진 선택지를 최종 예측 결과로 선택하는 방법이다. 그리고 저자들은 단순성을 위해 선택지의 log-likelihood에 length normalization를 적용하지 않았다.  
- 각 선택지의 length는 서로 다를 수 있다. 길이가 매우 긴 선택지 또는 길이가 매우 짧은 선택지가 존재할 수 있다.  
- 자기회귀 모델은 문장(시퀀스)의 생성 확률을 조건부 확률의 곱으로 계산하기 때문에 생성해야 할 시퀀스의 길이가 길다면, 0과 1사이의 확률 값들이 그 길이만큼 곱해지기 때문에 더 긴 시퀀스에 낮은 확률이 부여될 수 있다.  
- 이를 보정하기 위해 시퀀스의 길이로 확률을 나누는 length normalization을 하기도 하지만, T0에서는 이를 사용하지 않았다.  

■ 저자들은 validation splits에서 프롬프트들의 성능을 비교한 다음, best 프롬프트 하나만 골라서 평가하는 방식을 사용하지 않았다. 이는 데이터셋을 사용하여 최적의 프롬프트를 튜닝하는 행위이며, 진정한 zero-shot이라고 볼 수 없기 때문이다.  

■ 해당 데이터셋의 모든 프롬프트에 걸쳐 성능을 측정한 다음, 성능 값들에 대한 중앙값과 IQR(Q3-Q1) 값을 통해 프롬프트 워딩에 대한 모델의 robustness를 측정하였다. 



5. RESULTS


5.1 GENERALIZATION TO HELD-OUT TASKS

[출처] https://arxiv.org/abs/2110.08207

multitask prompted training이 처음 보는 과제(held-out tasks)에 대해서도 잘 generalization될 수 있는지, generalization 능력을 향상시킬 수 있는지 확인하기 위해, 4개의 held-out tasks에 대해 T0와 T5+LM 베이스라인과 비교하였다.   

- T0는 multitask prompted examples로 파인튜닝된 모델

- T5+LM은 pretrained T5에 추가로 standard language modeling을 수행한 모델

■ Fig 4에서 저자들의 접근법이 모든 데이터셋에서 베이스라인(T5+LM) 대비 상당한 성능 향상을 이끌어 냈음을 볼 수 있다. 

■ 이는 동일한 모델과 프롬프트를 사용했을 때, 오직 language modeling으로만 학습한 것보다 multitask prompted training이 더 이점이 있음을 입증한 결과이다. 

■ 그리고 GPT-3 175B보다 약 11배 작은 T0 11B가 GPT-3와 비슷하거나 더 높은 zero-shot 성능을 보이는 것도 확인할 수 있다. 

- 이때 이 GPT-3는 하나의 best prompt만 선택하여 성능을 측정하지만, T0는 P3의 모든 프롬프트에 걸친 성능의 중앙값과 사분위 범위 값을 측정한다는 점을 유의해야 한다. 

주목할 점은 T0 11B가 NLI에 대해 훈련받지 않았음에도 불구하고 모든 NLI 데이터셋에서 175B 규모의 GPT-3를 능가한다는 것이다. 

이 평가에 사용한 NLI 데이터셋은 T0와 GPT-3모두 처음 보는 과제이다. 그럼에도 불구하고 11B 크기의 T0가 175B의 GPT-3보다 모든 NLI tasks에서 일관되게 더 높은 성능을 보인다.  

■ 이는 scale의 이점을 학습 방식의 효율성으로 극복할 수 있음을 보여주는 실험 결과이다. 

더 많은 held-out tasks에서 T0 모델들을 평가하기 위해, BIG-bench의 subset에서 T0, T0+, T0++의 zero-shot 성능을 평가하였다.

■ 평가 대상인 BIG-bench의 task들은 T0를 학습시키기 위해 사용한 dataset에 포함되지 않은 다양한 새로운 task들(예를 들어 물체 순서 추론하기, 퍼즐 풀기, 잘못된 개념으로부터 참인 문장 구별하기 등)로 구성되어 있다. 

■ BIG-bench 벤치마크는 각 데이터셋에 대한 프롬프트를 제공한다.

■ 저자들은 제공된 프롬프트를 사용하여, Google에서 standard language modeling으로 학습시킨 다양한 크기의 decoder-only transformer LM들을 베이스라인으로 설정하여 T0 모델들과 비교하였다. 

[출처] https://arxiv.org/abs/2110.08207

T0 모델들이 StrategyQA를 제외한 모든 tasks에서, 모든 베이스라인 모델들의 성능을 능가한 것을 볼 수 있다. 

■ 그리고 대부분의 경우 training dataset의 수가 증가함에 따라 성능이 향상되는 것을 볼 수 있다. (즉, T0 ++ > T0 + > T0)

■ 즉, 더 다양한 종류의 task로 multitask prompted training을 하면, 완전히 새로운 task에 대한 zero-shot 성능도 향상된다는 것을 의미한다. 


5.2 PROMPT ROBUSTNESS

더 넓은 범위의 프롬프트로 학습하는 것이 프롬프트의 워딩에 대한 robustness를 향상시키는지 확인하기 위해, training에 사용된 데이터셋당 평균 프롬프트 수 \( p \)와 데이터셋의 수 \( d \)의 효과에 대해 ablation experiments을 수행하였다. 

Effect of More Prompts per Dataset

[출처] https://arxiv.org/abs/2110.08207

■ 먼저 프롬프트 개수에 따른 효과를 확인하기 위해, 이 분석에서는 \( d \)를 고정하고 데이터셋당 프롬프트 수 \( p \)를 변화시킨 모델들과 T0를 비교하였다.  
- 여기서 T0는 non-original-task prompt로도 학습된 상태이다. 이러한 non-original-task prompt를 포함시킨 결과 \( p \)는 평균 8.03이 되었다. (Fig 6) 

■ T0 (p=0.83, 모든 데이터셋의 모든 original-task prompt뿐만 아니라 non-original-task prompt도 사용)를 p=1 (데이터셋당 무작위로 선택된 original-task prompt 1개), p=5.7 (모든 데이터셋의 모든 original-task prompt를 사용), p=0 (프롬프트 학습을 수행하지 않은 T5+LM에 해당)인 모델들과 비교하였다.  

■ 이 실험에서 모든 모델(p=0.83, p=1, p=5.7, p=0)은 동일한 하이퍼파라미터와 동일한 스텝 수로 훈련된 상태이다.  

■ Fig 6에서, 데이터셋 당 단 하나의 프롬프트만 사용(p=1)하더라도 프롬프트를 아예 사용하지 않은 베이스라인(p=0)에 비해 held-out tasks의 zero-shot 성능이 상당히 향상될 수 있음을 볼 수 있다.  

■ 그리고 p를 1에서 평균 5.7로 더 증가시키면(즉, 다양한 프롬프트들을 사용하면), 중앙값과 변동성이 모두 개선되는 것을 볼 수 있다.  

■ p=5.7에서 p=8.03로 증가시킨 결과, 중앙값과 변동성이 더욱 개선되는 것을 볼 수 있다. 이는 original-task prompt뿐만 아니라 non-original-task prompt도 학습하는 것이 zero-shot generalization에 유익할 수 있음을 보여주는 결과이다.  

Effect of Prompts from More Datasets

[출처] https://arxiv.org/abs/2110.08207

■ 이 실험에서는 \( p \)를 사용 가능한 모든 프롬프트 개수로 고정하고, \( d \)를 39에서 49, 55로 증가(각각 T0, T0+, T0++)시켰다. 

■ Fig 7을 보면 \( d \)를 증가시킬 때, 중앙값 성능이 증가하는 것을 볼 수 있다. 그러나 \( d \)를 39(T0)에서 49(T0+)로 증가시킬 때와 49에서 55(T0++)로 증가시킬 때, 모두 변동성이 더 커지는 경우가 존재하는 것을 확인할 수 있다.  

■ 이는 일부 데이터셋(예: ANLI)의 경우, 매우 저조한 성능을 보이는 프롬프트들이 존재하며, training dataset의 수를 늘리면 성능에 좋은 영향을 미치는 프롬프트들이 추가되어 성능은 계속 올라가지만(즉, 중앙값은 올라가지만), 나쁜 프롬프트들의 성능은 바닥에 있기 때문에, 그 결과 성능의 최고점과 최저점의 격차가 더 벌어져 전체적인 변동성(boxplot의 높이)이 오히려 증가한 것이다.   

■ 이러한 결과를 토대로, 논문에서는 "추가적인 연구가 필요하지만, training dataset의 수(\( d \))를 늘리는 것이 프롬프트의 워딩에 대한 모델의 강건성을 일관되게 향상시키지는 않는 것으로 보인다."라고 언급하고 있다.  
- \( d: 39 \rightarrow 49 \)에서는 5개의 held-out dataset 중 오직 RTE에서만 변동성이 감소 
- \( d: 49 \rightarrow 55 \)에서는 RTE와 CB에서만 변동성이 감소  

Comparing T0 and GPT-3’s robustness

■ GPT-3에서는 데이터셋당 단 하나의 프롬프트만 사용하여 성능을 보고했기 때문에, GPT-3가 다른 프롬프트에는 얼마나 강건한지 또는 취약한지 알 수 없다.  

■ 저자들은 T0와 GPT-3의 프롬프트 워딩에 대한 강건성을 비교하기 위해, T0의 RTE task 평가에 사용한 10개의 프롬프트를 OpenAI의 GPT-3 API에 입력하여 RTE task에서 GPT-3의 성능을 측정하였다.  

■ GPT-3 논문에 보고된 best prompt와 동일한 프롬프트를 사용했을 때, T0 연구진이 측정한 GPT-3는 58.8%의 정확도를 기록했는데, 이는 GPT-3 논문에 보고된 63.5%보다 낮은 수치이다. (이는 API 버전 차이 또는 미세헌 설정 차이 때문일 수 있다) 

■ 이 best prompt를 제외한 나머지 9개의 프롬프트에 대해 GPT-3의 성능을 측정한 결과, 중앙값 52.96과 사분위 범위 1.28%로 거의 무작위 추측(정확도가 50%니까 거의 찍는 수준)에 가까운 성능을 보였다고 한다.  

■ 이러한 결과는 T0가 프롬프트의 워딩에 대해 GPT-3보다 더 강건할 수 있음을 시사한다.  


 


7. DISCUSSION

■ T0와 가장 유사한 연구는 Google의 FLAN이다. FLAN에서도 multitask prompted training을 통해 zero-shot generalization을 가능하게 하는, T0와 대체로 동일한 방법을 사용한다.  

■ 구체적인 차이점으로, FLAN에서는 
- (1) held-out task를 평가하기 위해, 해당 태스크 하나만 제외하고 모델을 학습시킨다. 
- 예를 들어, NLI task에 대해 zero-shot generalization 능력을 평가하기 위해서 NLI task를 제외한 모든 tasks을 학습한 다음, 학습에서 제외된 NLI task, task 하나에 대해서만 성능을 측정한다. 
- 만약, summarization task에 대해 zero-shot 성능을 평가하고자 한다면, 이번에는 summarization task를 held-out task로 설정하고 NLI task를 training dataset에 포함시켜 모델을 학습한다. 그런 다음, 학습에서 제외시킨 summarization task 하나에 대해서만 성능을 측정한다. 
- (2) FLAN은 decoder-only LM을 사용한다.  

■ FLAN과 비교했을 때, T0의 zero-shot 성능은 CB와 RTE에서 우위를 보이고, Story Cloze와 COPA에서는 비슷하며, Winogrande와 ANLI에서는 더 나쁜 성능을 보인다.  

■ T0++는 CB, RTE, COPA에서 FLAN을 능가하며, Winogrande와 ANLI에서는 FLAN의 성능과 필적한다. 

■ 주목할 점은 T0와 T0++가 모두 FLAN보다 10배 이상 작음(11B vs. 137B)에도 불구하고 이러한 성능을 달성했다는 것이다.  

 T0와 FLAN 모두 Winogrande와 HellaSwag에서는 GPT-3보다 낮은 성능을 보인다. 

■ FLAN 저자들은 이에 대해 불완전한 문장을 완성하는 형식으로 구성될 수 있는 coreference resolution와 같은 task의 경우, 프롬프트에 task에 대한 instructions 을 추가하는 것이 대체로 불필요 하다고 추측하였다.  
- 즉, coreference resolution와 같은 format을 가지는 task에서는 task에 대한 instruction이 오히려 모델을 혼란스럽게 할 수 있다는 가설이다.  

■ T0 저자들은 FLAN 저자들의 추측에 따라, instructions 없이 이 두 데이터셋을 재평가하였고, 그 결과 HellaSwag 성능의 중앙값이 33.65%에서 57.93%로 향상되었다고 한다. 그러나 Winogrande의 경우 instructions을 빼고 FALN의 프롬프트를 사용해도 성능에 큰 변화가 없었다고 한다.   

즉, instruction tuning이 항상 모든 task에 유리한 것은 아니며, task의 format에 따라 instruction이 도움이 되기도 하고 방해가 되기도 한다. 이는 최적의 프롬프트가 task에 따라 달라짐을 보여주는 또 다른 증거이기도 하다.  

■ FLAN에서는 T0(11B)와 비슷한 크기의 모델(8B)로 ablation을 수행하였고, multitask prompted training 후 held-out task의 성능이 오히려 감소함을 발견하였다. 그러나 T0에서는 multitask prompted training이 최소 3B만큼 작은 모델에서도 성능을 향상시킴을 발견했다. (Fig 8) 

[출처] https://arxiv.org/abs/2110.08207

■ T0 저자들은 이러한 불일치가 두 가지 차이점에서 비롯되었다고 설명한다.
- (1) T0는 standard  language model로 훈련된 후, 최종적으로 multitask mixture로 파인튜닝되기 전에, 다른 objective(masked language modeling)로 사전학습된 encoder-decoder 모델을 사용한다. 
- MLM을 통해 문장의 양방향 문맥을 이해하도록 훈련된 pretrained model 위에서 instruction tuning을 시작했기 때문에, 3B 모델에서도 합리적인 성능을 달성할 가능성이 커진다. 
- (2) T0에서 사용한 프롬프트는 FLAN의 프롬프트보다 훨씬 더 다양(프롬프트의 길이가 다양, 프롬프트 형식도 다양)하고 창의적이다.  
- 이러한 프롬프트의 다양성이 모델의 zero-shot generalization 능력을 향상시키는데 중요한 역할을 했을 수 있다.  
- FALN에서는 프롬프트 수를 늘리는 것이 성능에 미미한 영향을 미친다는 연구 결과를 제시한 반면, T0에서는 더 많은 프롬프트를 추가할 때 성능이 개선됨을 관찰하였다.  
- FLAN에서 프롬프트 수를 늘려도 성능 향상이 미미했던 것은, 추가된 프롬프트들이 기존 프롬프트와 유사하여 새로운 학습 효과를 주지 못했기 때문일 수 있다.