๐ฌ ๋ค์ด๊ฐ๊ธฐ์ ์์
- Text to text๋?
text ํํ๋ก ์ฃผ์ด์ง ๋ฌธ์ ์์ text ์ ๋ต ์ฐพ๊ธฐ
- Transfer Learning in NLP
์ ๋ ผ๋ฌธ์์๋ ๋ค์ ๋ ๋ชจ๋ธ์ ๋น๊ตํ๋ฉฐ ์ ๊ฐํ๋ค.
T5์์ ์ ์ฉ๋ ๋ฐฉ๋ฒ๋ก ๋ค์ ๋ค์๊ณผ ๊ฐ๋ค.
- Training objective : Modified MLM
- Model structure : Prefix LM + Casual with prefix
- Corruption๋ณ ๋ถ์ ๊ฑด T5 base์์ ์ฌ์ฉ๋ ์ต์ / ๋ณผ๋์ฒด๋ ์ ์ผ ์ข์ ์ฑ๋ฅ
๐ฌ PLM ์ถ์ถ ์ ๊ตญ ์๋์์ '๋ ์ด๋ ๊ฒ Pretrain์ ์ํ์ด'๊ฐ ์๋๋ผ
span์ ๋ช๊ฐ, corruption์ ์ด๋ป๊ฒ ๋ฑ ๊ตฌ์ฒด์ ์ธ ์คํ์ ์งํํด์ ๋ ผ๋ฌธ์ด ๊ธธ์ด์ง ๊ฒ์ด๋ค. ์คํ์ ์ ๋ณํด์ ๋ณด๋ ๊ฒ ์ค์ํ๊ณ , intro์์ ํ๋ฆ์ ์ ๋๊ปด๋ผ!
Introduction
์ต๊ทผ NLP task์์ ๋ง์ด ์ฌ์ฉ๋๋ Transfer Learning ๊ธฐ๋ฒ์ ๊ฐ ๋ฐฉ๋ฒ๋ค์ ๋ํ ์ ์ฒด์ ์ธ ์ฐ๊ตฌ๋ฅผ ๋ด๊ณ ์๋ค. Unlabeled dataset, model architecture, pre-training objective, transfer approach ๋ฑ ์ง๊ธ๊น์ง ๋ฐํ๋ ๋ค์ํ ๊ธฐ๋ฒ์ด ์ฑ๋ฅ ๊ฐ์ ์ ์ผ๋ง๋ ์ํฅ์ ๋ฏธ์น๋ ์ง ์คํ์ ํตํด ๋ฐํ๊ณ , ์๋ก์ด ๋ชจ๋ธ์ธ 'T5'๋ฅผ ์ ์ํ๋ค.
NLP ๋ถ์ผ์์๋ ๋ชจ๋ธ์ด ํ
์คํธ๋ฅผ ์ดํดํ ์ ์๋ general-purpose knowledge๋ฅผ ๊ฐ๋ฐํ๊ณ ์ ํ๋ค.
์ต๊ทผ์ NLP ์ฐ๊ตฌ๋ค์ ๋๋์ unsupervised dataset์ ๋ํด pre-train๋ ๋ชจ๋ธ์ ๋ชฉํ๋ก ํ๋ task์ ๋ํด supervised fine-tuningํ๋ transfer learning์ ์ฌ์ฉํ๋ ๋ฐฉ์์ ๋ง์ด ์ฌ์ฉํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๋ฐฉ์์ด task-specific model์ ๋ง๋๋ ๊ฒ๋ณด๋ค ๋ ์ข์ ์ฑ๋ฅ์ ๋ํ๋์ ์ด๋ฏธ ์
์ฆ๋์๋ค. ๋ํ ์ด์ ์ ์ฐ๊ตฌ๋ค์ ์ํด ๋ ํฐ ๋ชจ๋ธ์ ์ฌ์ฉํ ์๋ก, ๋ ๋ง์ ๋ฐ์ดํฐ์
์ ์ฌ์ฉํ ์๋ก ๋ ์ข์ ์ฑ๋ฅ์ ๋ํ๋ธ๋ค๋ ๊ฒ๋ ์
์ฆ๋์๋ค.
ํ์ง๋ง ๊ตฌ๊ธ ์ฐ๊ตฌํ์ rigorous understanding(์๊ฒฉํ ์ดํด)์ ํ์์ฑ์ ๋๊ผ๊ณ , ์ด๋ฅผ ์ํด์ unified approach to transfer learning๋ฅผ ์ ์ํ๋ค. ๋ชจ๋ NLP task๋ฅผ text-to-text ๋ฌธ์ ๋ก ์๊ฐํด๋ณด๋ ๊ฒ์ด๋ค. ์ด๋ ๊ฒ ๋ชจ๋ task๋ค์ ํ๋์ ์ ๊ทผ ๋ฐฉ๋ฒ์ผ๋ก ํ๊ฒ ๋๋ค๋ฉด ๋ค์ํ downstream task์ ๋์ผํ model, objective, training procedure, decoding process๋ฅผ ์ ์ฉํ ์ ์๊ฒ ๋๋ค.
T5๋ ํ์ผํ๋ ๋ฐฉ์์ ํตํด ๋ค์ํ transfer learning objective์ unlabeled dataset ๊ฐ์ ๋ค์ํ ๋ชจ๋ธ๋ง ์์๋ค์ ๋ํด์ ํจ๊ณผ์ ์ผ๋ก ๋น๊ต ๋ถ์ํ๋ค.
์ ์ ๋ฐฉ๋ฒ๋ก
Set up
Model
- ์ ๋ฐ์ ์ผ๋ก ๊ธฐ์กด Transformer ๋
ผ๋ฌธ์ ๋์จ ์ํคํ
์ฒ๋ฅผ ์ฌ์ฉํ๋ค. BERT๋ GPT ๊ฐ์ ๋ชจ๋ธ์ฒ๋ผ Transformer ๊ตฌ์กฐ์ Encoder๋ Deocoder๋ฅผ ๋ฐ๋ก ๋ผ์ด๋ด์ ์ฌ์ฉํ๋ ๊ฒ์ด ์๋๋ผ ๊ทธ๋ฅ ์๋ Transformer์ Encoder-Decoder ๊ตฌ์กฐ๋ฅผ ๊ทธ๋๋ก ๊ฐ์ ธ์์ ์ฌ์ฉํ๋ค.
์ฐจ์ด์ ์ ์๋์ ๊ฐ๋ค.- ๊ฐ์ํ๋ layer normalization ์ฌ์ฉ (Transformer์ Layer Normalization์ ์ฌ์ฉ๋๋ layer norm bias๋ฅผ ์ ๊ฑฐํ๊ณ rescale๋ง ์ํ)
- residual path ์ ์ layer normalization
- sinusoidal position signal ๋์ ๊ฐ์ํ๋ relative position embeddings ์ฌ์ฉ (์ฑ๋ฅ ํฅ์์ ์ํด ๋ชจ๋ layer์ position embedding parameters ๊ณต์ )
- Absolute positional embedding ๋์ Relative positional embedding ์ฌ์ฉ
- ๋ชจ๋ธ์ ํฌ๊ธฐ์ ์ํ ์ฑ๋ฅ ๋ณํ๋ฅผ ํ์ธ ํ ๊ฒ์ด๋ค.
- ํฐ ๋ชจ๋ธ์ ๋๋ฆฌ๊ธฐ ์ํด model and data parallelism ์ฌ์ฉ
- ํ์ต์ Cloud TPU Pods ์ฌ์ฉ (ML supercomputers with 1,024 TPU v3 chips)
The Colossal Clean Crawled Corpus
- T5์ pre-training์ ์ฌ์ฉ๋ ๋ฐ์ดํฐ์ ์ C4๋ผ๋ ๋ฐ์ดํฐ์ ์ด๋ค.
- ์ด ๋ ผ๋ฌธ์์๋ unlabeled data์ quality, characteristics, size๊ฐ ์ด๋ค ์ํฅ์ ์ฃผ๋์ง ํ๊ตฌํ๋ค.
- ์ด๊ฒ์ ์คํํ๊ธฐ ์ํด Colossal Clean Crawled Corpus๋ฅผ ๋ง๋ ๋ค.
Common Crawl
- Common Crawl์ ๋ฌด๋ฃ๋ก ๊ณต๊ฐ๋ web archive ์ด๋ฉฐ HTML ํ์ผ๋ค์ ์ฒ๋ฆฌํด์ ๋งค๋ฌ 20TB์ text data๋ฅผ ๊ตฌ์ถํ๋ค
- ํ์ง๋ง ๋๋ถ๋ถ์ ์ฌ์ฉ์ด ๋ถ๊ฐ๋ฅํ text์ด๋ค (์๋ฌ ๋ฉ์ธ์ง, ๋ฉ๋ด, ์ค๋ณต text).
- ๋๋ ์ด๋ ํ downstream task์ ํ์ต์ ๋์์ด ์๋ text์ด๋ค (์์ค, ์ฝ๋, placeholder text)
Common Crawl clean up!
- ์ข ์ง ๋ถํธ๋ก ๋๋๋ ๋ฌธ์ฅ๋ค๋ง ํ์ฉํ๋ค (๋ง์นจํ, ๋๋ํ, ๋ฌผ์ํ๋ฑ)
- 5 ๋ฌธ์ฅ ๋ฏธ๋ง์ธ ํ์ด์ง ์ ๊ฑฐ ๋ฐ ๋จ์ด ๊ฐ์๊ฐ 3๊ฐ ์ด์์ธ line๋ง ํ์ฉํ๋ค
- List of Dirty, Naughty, Obscene or Otherwise Bad Words์ ํฌํจ๋ ๋น์์ด ๋จ์ด๊ฐ ์๋ ํ์ด์ง ์ ๊ฑฐํ๋ค
- Javascript๋ ๋จ์ด๊ฐ ์๋ line ์ ๊ฑฐํ๋ค (Javascript๋ฅผ ํ์ฉํ๋ผ๋ ๊ฒฝ๊ณ ๋ฌธ์ด ๋ง์๋ค๊ณ ํจ)
- “lorem ipsum” ๋ฌธ๊ตฌ๊ฐ ์๋ ํ์ด์ง ์ ๊ฑฐํ๋ค
- ์ค๊ดํธ(“{”)๋ ์์ฐ์ด์์ ์ฌ์ฉ์ด ์๋๊ณ ์ฝ๋ฉ ์ธ์ด์์ ์์ฃผ ์ฌ์ฉ์ด ๋๋ “{”์ด ์กด์ฌํ๋ ํ์ด์ง ์ ๊ฑฐํ๋ค
- 3๋ฒ ์ด์ ๋ฑ์ฅํ๋ three-sentence span ๋ฐ์ดํฐ ํ๋ ๋นผ๊ณ ์ ๊ฑฐํ๋ค
- ์๋ฌธ downstream tasks์ ์ง์ค์ ํ๋ langdetect๋ผ๋ ํํฐ๋ฅผ ์ฌ์ฉํด์ ์์ด๊ฐ ์๋ ํ์ด์ง ์ ๊ฑฐํ๋ค
2019๋ 4์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์์ ํํฐ๋งํด์ ๋๋ต 750GB๋ ๋๋์ ๋ฐ์ดํฐ๋ฅผ ํ๋ณดํ๋ค. ์ด๋ฅผ ์ ๋นํ๊ฒ cleanํ๊ณ naturalํ ์๋ฌธ text๋ฅผ ํ๋ณดํ ๋ฐ์ดํฐ๋ฅผ "Colossal Clean Crawled Corpus (C4)"๋ผ๊ณ ์นญํ๋ค.
Downstream Tasks
- ์ด ๋ ผ๋ฌธ์ ๋ชฉํ๋ general language learning abilities๋ฅผ ์ธก์ ํ๋ ๊ฒ์ด๋ค.
- ๊ทธ๋ฌ๋ฏ๋ก ์ฌ๋ฌ benchmarks์ ๊ธฐ์ค์ผ๋ก downstream tasks์ ์ฑ๋ฅ์ ํ์ธํ ๊ฒ์ด๋ค.
GLUE and SuperGLUE
General language understanding ์ฑ๋ฅ์ ํ์ธํ๋ค.
- Sentence acceptability judgment
- Sentiment Analysis
- Paraphrasing/sentence similarity
- Natural Language Inference
- Coreference resolution
- Sentence completion
- Word sense disambiguation
- Question Answering
fine-tuning์ ํ ๋ ๋ชจ๋ ๋ฐ์ดํฐ์ ์ concatํด์ ํ๋์ task๋ก ์ค์ ํ๋ค
CNN/Daily Mail - abstractive summarization
SQuAD - question answering
WMT Engligh to German, French and Romanian- translation
์ฐธ๊ณ ํ ๊ฒ์ pre-training์ ์ค๋ก์ง ์๋ฌธ ๋ฐ์ดํฐ๋ก๋ง ๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๋ชจ๋ธ์ ์๋ก์ด ์ธ์ด๋ก ๋จ์ด๋ฅผ generateํ๋ ๊ฒ์ ํ์ตํด์ผ ํ๋ค.
Input and Output Format
- ํ๋์ ๋ชจ๋ธ์ ํ์ตํด์ ์ฌ๋ฌ tasks๋ฅผ ํ ์ ์๋๋ก ํ๊ธฐ ์ํด tasks๋ฅผ “text-to-text” format์ผ๋ก ๋ณ๊ฒฝํ๋ค
- ๋ชจ๋ธ์ teacher forcing์ ์ด์ฉํด์ maximum likelihood objective๋ฅผ ๋ชฉํ๋ก ํ์ตํ๋ค
- ์ด๋ค task๋ฅผ ์ํํด์ผํ๋์ง ์๋ ค์ฃผ๊ธฐ ์ํด task-specific text prefix๋ฅผ ์ฌ์ฉํ๋ค
- STS-B๋ฅผ ์ ์ธํ๊ณ ๋ชจ๋ tasks๋ฅผ text-to-text format์ผ๋ก ์์ํ๊ฒ ๋ณ๊ฒฝ ๊ฐ๋ฅํ๋ค
- STS-B๋ 1~5 ์ฌ์ด์ ์ ์ฌ๋ ์ ์๋ฅผ ์์ธกํ๋ task์ธ๋ฐ ๋๋ถ๋ถ 0.2 ๋ฐฐ์๋ก ์ ์๊ฐ ์ ํด์ ธ ๋ชจ๋ ์ ์๋ฅผ ์ ์ผ ๊ฐ๊น์ด 0.2 ๋ฐฐ์๋ก ๋์ฒดํ๋ค
- ๊ฒฐ๊ตญ 21-class classification problem์ผ๋ก ๋์ฒด๋๋ค
์คํ ๋ฐ ๊ฒฐ๊ณผ
1. Baseline
๋ชจ๋ธ
- ์ผ๋ฐ์ ์ธ ์ธ์ฝ๋-๋์ฝ๋ ๋ชจ๋ธ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉ
- ๋ชจ๋ธ ์ฌ์ด์ฆ๋ Bert base(110 million)์ ๋น์ทํ๋๋ก ์ค๊ณ
- 12๊ฐ์ ์ดํ ์ ๋ธ๋ก์ด ์์ฌ์๋ ๊ตฌ์กฐ
- encoder 110 million / decoder 110 million → Total 220 million parameter
Training
- Seq-length = 512
- batch size = 128 sequences
- C4 ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํ Pre-train : 524,288 steps ($2^{19}$)
- ๊ฐ ํ ์คํฌ์ ๋ํ Fine-tune : 262,144steps ($2^{18}$)
- Text-to-Text task
Vocab
- SentencePiece(Kudo and Richardson, 2018)๋ฅผ ์ฌ์ฉํด C4 ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ 32,000๊ฐ ์ฌ์ ์ ๊ตฌ์ถ
- ๋ฒ์ญ task๋ฅผ ์ํด์ ๋ ์ผ์ด, ํ๋์ค์ด, ๋ก๋ง์ด ๋จ์ด๋ ์ถ๊ฐ (10:1:1:1 = ์์ด:๋ ์ผ์ด:ํ๋์ค์ด:๋ก๋ง์ด)
- Unsupervised Objective : Denoising ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค - word ๋จ์๊ฐ ์๋ span ๋จ์๋ฅผ sentinel token์ผ๋ก ์นํ
Baseline Performance
- ํ์ต์ ํ ๋๋ง๋ค ๋ชจ๋ธ์ ์ฑ๋ฅ์ด ๋ฌ๋ผ์ง๊ธฐ ๋๋ฌธ์(i.e. with different random initializations and data set shuffling) Baseline model์ 10๋ฒ ํ์ต์์ผ์ ํ๊ท ๊ณผ ํ์คํธ์ฐจ๋ฅผ ๊ณ์ฐํ๋ค.
- ์ฌ๊ธฐ์ ๊ณ์ฐ๋ ํ์คํธ์ฐจ๋ฅผ ๊ธฐ์ค์ผ๋ก 2-sigma ๋ฒ์ ๋ด ์ ์๋ ๋น์ทํ ์์ค์ ์ฑ๋ฅ์ด๋ผ๊ณ ํ๋จํ๋ค.
- Score ๊ธฐ์ค
- GLUE/SGLUE : GLUE์ SuperGLUE์ ์๋ ๋ชจ๋ subtask ์ ์์ ํ๊ท
- CNNDM : ROUGE-2-F
- SQuAD : EM
- EnDe/EnFr/EnRo : BLUE
2. ํ
์คํธ ๋ชจ๋ธ ๊ตฌ์กฐ
- Attention ์ข
๋ฅ
- Fully-visible : input ๋ฐ์ดํฐ๊ฐ ๋ชจ๋ output ๋ฐ์ดํฐ์ attention
- Causal : input ๋ฐ์ดํฐ ์ด์ ์คํญ๊น์ง๋ง attention
- Causal with prefix : ์๋ถ๋ถ ์ผ์ ๊ตฌ๊ฐ(prefix)์ ํญ์ attentionํ๋ฉด์ prefix ์ดํ ๊ตฌ๊ฐ์ ํ์ ์คํญ์ ๋ฐ๋ผ attention
- Model ์ข
๋ฅ
- Encoder-Decoder
- Encoder : Fully-visible
- Decoder : Causal
- Language Model
- Only decoder : Causal
- Prefix LM
- LM + Prefix(query ๋ถ๋ถ)
- Encoder-Decoder
- Result
- Denoising ๋ฐฉ๋ฒ์ผ๋ก ์ผ๋ฐ์ ์ธ ์ธ์ฝ๋-๋์ฝ๋ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ์ ๋ ๊ฐ์ฅ ์ฑ๋ฅ์ด ์ข์
- Bert base parameter = P ๊ธฐ์ค
- ์ธ์ฝ๋์ ๋์ฝ๋์ parameter๋ฅผ shared ํ๋ ๊ฒฝ์ฐ์๋ ์ฑ๋ฅ์ด ์กฐ๊ธ ๋จ์ด์ง์ง๋ง ํฌ๊ฒ ์ฐจ์ด๋์ง ์์
- Q) parameter๊ฐ ์ ๋ฐ์ธ๋ฐ๋ cost๊ฐ ๊ฐ์ ์ด์ : ์ฌ๊ธฐ์ cost(M)์ ๋ชจ๋ธ ํ์ต์ ํ์ํ cost๊ฐ ์๋๋ผ ๋ชจ๋ธ์ด ์๋ํ ๋ ํ์ํ cost๋ฅผ ์๋ฏธํจ. ํ์ตํด์ผ ํ๋ parameter๊ฐ ์ ๋ฐ์ด๋๋ผ๋ ๋ชจ๋ธ์ ์กด์ฌํ๋ parameter์ ๊ฐ์๋ ๋์ผํ๊ธฐ ๋๋ฌธ์ cost๋ ๋์ผ
- Attention ์ข
๋ฅ
- Fully-visible : input ๋ฐ์ดํฐ๊ฐ ๋ชจ๋ output ๋ฐ์ดํฐ์ attention
- Causal : input ๋ฐ์ดํฐ ์ด์ ์คํญ๊น์ง๋ง attention
- Causal with prefix : ์๋ถ๋ถ ์ผ์ ๊ตฌ๊ฐ(prefix)์ ํญ์ attentionํ๋ฉด์ prefix ์ดํ ๊ตฌ๊ฐ์ ํ์ ์คํญ์ ๋ฐ๋ผ attention
3. Unsupervised Objectives
์ด๋ค ํํ์ ์ธํ/์์ํ์ด ์ข์ ์ฑ๋ฅ์ ๋ด๋์ง ๊ฒฐ์ ํ๋ ๊ณผ์
๋์ ๋ ๋ฒจ์์ ๊ฐ์ฅ ์ข์ ์ฑ๋ฅ์ ์ ํํ ํ, ํ์ ๋จ๊ณ๋ฅผ ๋น๊ตํ๋ ๋ฐฉ์์ผ๋ก ์คํ์ ์งํํ๋ค.
- Prefix language modeling : ๋ฌธ์ฅ ์ ๋ถ๋ถ์ ๋ณด๊ณ ๋ท ๋ถ๋ถ์ ์์ธกํ๋ objective
- BERT-style : Bert์ ๊ฐ์ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ์ง๋ง, ์ถ๋ ฅ์ด ์ฐ์๋ sequence ๋ฌธ์ฅ์ผ๋ก ๋์ค๋๋ก ๋ณ๊ฒฝํ objective
- Deshuffling : ์ ๋ ฅ ๋ฌธ์ฅ์ ๋ค์์ ํ ์๋ ์์๋๋ก ๋ง์ถ๋ objective
- I.i.d. noise, mask : ์์์ token์ masking ํ๋ ๋ฐฉ์์ objective
- I.i.d. noise, replace spans : 1 ๋จ์์ span์ ์์๋ก ์ ํ๊ณ span์ด ์ฐ์๋ ๊ฒฝ์ฐ ํ๋์ span์ผ๋ก ์ทจ๊ธํ์ฌ sentinel token์ผ๋ก ๋์ฒดํ๊ณ , ์ด๋ฅผ ๋ค์ ์์ธกํ๋ objective
- I.i.d. noise, drop : ์์์ token์ ์ ์ธ์ํค๊ณ ์ ์ธ๋ ํ ํฐ์ ๋ค์ ์์ธกํ๋ objective
- Random spans : ์์๋ก ์ ํด์ง ๊ธธ์ด์ span์ ์ ํ๊ณ ์ด๋ฅผ ๋ค์ ์์ธกํ๋ objective
Disparate High-Level Approaches
๋ฌธ์ฅ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ด ๋ค๋ฅธ 3๊ฐ์ง objective๋ฅผ ๋จผ์ ๋น๊ต → Bert-style์ด ๊ฐ์ฅ ์ฑ๋ฅ์ด ์ฐ์ํ๋ค
Simplifying the BERT Objective
- Bert-style : 15%์ token์ mask token์ผ๋ก ๋ณ๊ฒฝ(์์์ token์ผ๋ก ๋ฐ๊พธ์ง ์์)
- MASS-style : Span์ ๋จผ์ ์ ํ๊ณ span ๋ด token์ maskingํ๋ ๋ฐฉ์
- Replace corrupted spans : Span์ ์ ํ ํ sentinel token์ผ๋ก ๋ฐ๊พธ๋ ๋ฐฉ์
- Drop corrupted tokens : ๋ฌธ์ฅ์์ token์ ์ ๊ฑฐํ๋ ๋ฐฉ์
Varying the corruption rate
Corruption ๋น์จ์ด ๋์์ง๋ฉด ์์ธกํด์ผ ํ๋ ํ์ผ์ด ์ฆ๊ฐํ๊ณ ์ด๋ ํ์ต ์๊ฐ์ ๋ ์ฆ๊ฐ์ํด → Bert์์ ์ฌ์ฉํ๋ 15% corruption ๋น์จ์ ์ฌ์ฉํ๊ธฐ๋ก ๊ฒฐ์
Corrupting Spans
์
๋ ฅ ๋ฌธ์ฅ์ span-corruption ํ๋ฉด ์
๋ ฅ token์ ์๊ฐ ์ค์ด๋ค๊ธฐ ๋๋ฌธ์ ์๋ ํฅ์ ํจ๊ณผ๋ ์์
i.i.d ๋ฐฉ์์์๋ Span length๋ ์์๋ก ์ ํด์ง๊ธฐ ๋๋ฌธ์ ํน์ ํ ๊ธธ์ด๋ฅผ ์ง์ ํ ์ ์์
์ฌ๊ธฐ์๋ ๊ฐ span ๊ธธ์ด์ ๋ฐ๋ฅธ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ๋ ๊ฒ
ex) 500 tokens๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์ฅ์์ 75 tokens(15%)์ span ์ฒ๋ฆฌํ๋ ๊ฒฝ์ฐ
- 32.5๊ฐ spans → Average span length = 2
- 25๊ฐ spans → Average span length = 3
4. Pre-training Data set
Pre-train ๋ฐ์ดํฐ์ ๋ฐ๋ผ ์ฑ๋ฅ์ด ์ด๋ป๊ฒ ๋ฌ๋ผ์ง๋์ง ๋น๊ตํ๋ ํํธ์ด๋ค.
Unlabeled datasets
- C4 : Setup(2.2)์์ ์ค๋ช
- Unfiltered C4 : ์ ์ฒ๋ฆฌํ์ง ์์ C4 ๋ฐ์ดํฐ์์ ์์ด๋ง ์ถ์ถํ ๋ฐ์ดํฐ
- RealNews-like : C4 ๋ฐ์ดํฐ์์ RealNews(Zellers et al., 2019) ๋ฐฉ๋ฒ์ผ๋ก ํํฐ๋งํ ๋ฐ์ดํฐ
- WebText-like : 1๋ ๋์์ C4 ๋ฐ์ดํฐ ์ค์์ ๊ณ ํ์ง(๋ ๋ง ์ฌ์ฉ์๋ค์ ํ๊ฐ)์ url์์ ์ ๋ํ ๋ฐ์ดํฐ
- Wikipedia : ์์ด ์ํคํผ๋์ ๋ฐ์ดํฐ
- Wikipedia + Toronto Books Corpus : ์์ด ์ํคํผ๋์ ๋ฐ์ดํฐ์ ๋ ๋ค์ํ ๋๋ฉ์ธ ๋ฐ์ดํฐ๋ฅผ ์ํด Toronto Books Corpus๋ฅผ ์ถ๊ฐํ ๋ฐ์ดํฐ
- ์ ๋ฐ์ ์ธ ์ฑ๋ฅ์ C4 ๋ฐ์ดํฐ๊ฐ ์ฐ์
- ํ์๋ ๋์ค์ง ์์์ง๋ง(Table 16), SQuAD ํน์ SGLUE์ subtask์ธ MultiRC๋ ReCoRD ์ ์๋ ๋ค๋ฅธ ๋ฐ์ดํฐ์ ์ ์๊ฐ ๋ ์ฐ์ → ๋ฐ์ดํฐ์ ์ถ์ฒ๊ฐ ๋น์ทํ๊ฑฐ๋, ํน์ ๋๋ฉ์ธ์ ๊ดํ ๋ฐ์ดํฐ ๊ฒฝ์ฐ์ ํด๋น ๋ฐ์ดํฐ๊ฐ ๋ ๋์ ์ ์๋ฅผ ๋ณด์(ex. Wikipedia + TBC๋ Wikipedia) → ํ์ง๋ง ํน์ ๋๋ฉ์ธ์ ํ์ ๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ 1. ๋ฐ์ดํฐ์ ์์ ์ถฉ๋ถํ ํ๋ณดํ๊ธฐ ์ด๋ ต๊ณ , 2. ๋ชจ๋ธ์ ์ผ๋ฐํ๋ฅผ ํ๋ณดํ๊ธฐ ์ด๋ ค์
Pre-training data size
- C4 dataset์ token ๊ฐ์๋ฅผ ๊ธฐ์ค์ผ๋ก C4 ๋ฐ์ดํฐ์ ์์ ์กฐ์ ํด ๋น๊ตํจ (Full dataset # tokens = $2^{35}$)
- ๋ฐ์ดํฐ๊ฐ ์ถฉ๋ถํ ๋ง์ ๊ฒฝ์ฐ์๋ ๋ฐ๋ณตํ์ง ์๊ฑฐ๋ ์ ์ ํ์๋ง ๋ฐ๋ณตํ์ฌ ํ์ตํ๋ ๊ฒ์ด ์ข์
- ๋๋ฌด ๋ง์ ๋ฐ๋ณตํ์ต์ downstram์ ์ฑ๋ฅ์ ์ ํ(๊ณผ์ ํฉ)
- ํฐ ๋ชจ๋ธ์ ์ ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ณตํ์ตํ๋ ๊ฒฝ์ฐ ์ด๋ฌํ ์ฑ๋ฅ์ ํ๊ฐ ๋๋๋ฌ์ง(๊ณผ์ ํฉ)
5. Training Strategy
Fine-tuning์ ๋ํ ์ค๋ช
Fine-tuning methods
- Fine-tune ๋จ๊ณ์์ ๋ฌธ์ฅ ๋ถ๋ฅ ๋ชจ๋ธ์ ์ผ๋ถ๋ถ(์ผ๋ฐ์ ์ผ๋ก ์ถ๋ ฅ์ธต)๋ง ํ์ตํ๋ ๋ฐฉ๋ฒ๋ง์ผ๋ก ์ข์ ์ฑ๋ฅ์ ์ป์ ์ ์์(Peters et al., 2019)
- ํ์ง๋ง ์ด ๋
ผ๋ฌธ์์ ์ฌ์ฉํ๋ Encoder-Decoder ๋ชจ๋ธ์ ๋ฌธ์ฅ์ ์ถ๋ ฅ์ผ๋ก ๋ด๋ฉด์ ์ฌ๋ฌ๊ฐ์ง task๋ฅผ ์ํํ๊ธฐ ๋๋ฌธ์ ์ ์ฉํ๊ธฐ ์ด๋ ค์ → ๋ชจ๋ธ ์ ์ฒด๋ฅผ fine-tuningํ์ง ์๋ ๋์์ผ๋ก Adapter layer ๋ฐฉ๋ฒ๊ณผ Gradual unfreezing ๋ฐฉ๋ฒ์ด ์์
- Gradual unfreezing: 2^{18}/12 step๋ง๋ค ์ธ์ฝ๋์ ๋์ฝ๋๋ฅผ ํ ๋ธ๋ก์ฉ unfreezeํ๋ฉด์ ํ์ตํ๋ ๋ฐฉ๋ฒ(๋ง์ง๋ง layer๋ถํฐ ๋จผ์ ํ์ต)
- Adapter layer: Adpter layer๋ฅผ ์ถ๊ฐํ์ฌ ํด๋น layer๋ง fine-tuning
- ๊ฒฐ๊ณผ
- ํ๋ผ๋ฏธํฐ ์ ์ฒด๋ฅผ fine-tuningํ๋ ๋ฐฉ๋ฒ์ด ์ฑ๋ฅ์ด ๊ฐ์ฅ ์ข์
- ๋ฐ์ดํฐ ์ ์ด ์๊ฑฐ๋ ๋ฐ์ดํฐ๊ฐ ๋ฌ์ฌํ๋ ๋ฒ์๊ฐ ์ ์ ๊ฒฝ์ฐ(GLUE) ๋ฎ์ ์ฐจ์์ adapter layer๋ ์ผ์ ์์ค์ ์ฑ๋ฅ์ ๋ณด์ด์ง๋ง, ๋ฐ์ดํฐ๊ฐ ๋ ๋ค์ํด์ง๋ ๊ฒฝ์ฐ(SGLUE)์ adapter layer์ ์ฐจ์๋ ๋น๋กํด์ผ ์ฑ๋ฅ์ ๋์ผ ์ ์์
Multi-task learning
Multi-task learning์ด๋ ํ๋์ unsupervised task์ ๋ํด์ pre-training์ ์งํํ ํ fine-tuningํ๋ ๊ฒ ๋์ ์ ์ฌ๋ฌ ์ข
๋ฅ์ task์ ๋ํด์ ํ ๋ฒ์ training์ ์งํํ๋ ๊ฒ์ ๋งํ๋ค.
๋
ผ๋ฌธ์์๋ ์ด multi-task learning ๋ฐฉ์๊ณผ pre-train + fine-tune ๋ฐฉ์์ ์ฑ๋ฅ ๋น๊ต๋ฅผ ์งํํ๊ณ ์ ํ๋ค. Multi-task learning์ ๊ฒฝ์ฐ์๋ ๊ฐ task๋ณ data ์ฌ์ฉ ๋น์จ์ ๋ฐ๋ผ ์ฑ๋ฅ์ด ๋ฌ๋ผ์ง๊ฒ ๋๋๋ฐ, ์์นซ ๋๋ฌด ๋ง์ ์์ data๋ฅผ training์์ ํ์ฉํ๊ฒ ๋๋ค๋ฉด training dataset์ memorizeํ๊ฒ ๋๋ค. ๊ทธ๋์ ๋
ผ๋ฌธ์์๋ ์ฌ๋ฌ๊ฐ์ง ๋น์จ ์ค์ ๋ฐฉ์์ ๋ํด์ ๋น๊ต๋ฅผ ์งํํ๋ค.
๊ฒฐ๊ณผ๋ pre-train/fine-tune ๋ฐฉ์์ด ๊ฐ์ฅ ์ข์ ์ฑ๋ฅ์ ๋ํ๋๋ค. ๊ทธ๋์ ์ ์๋ pre-train/fine-tune ๋ฐฉ์์ multi-task learning์ ์ ์ฉํ๊ณ ์ ํ์๊ณ , multi-task๋ก pre-trainingํ ๋ชจ๋ธ์ ๋ค์ ํ๋์ task์ ๋ํด์ fine-tuningํ๋ ๋ฐฉ์์ ๊ณ ์ํด๋๋ค.
Combining multi-task learning with fine-tuning
๋ฐ์ดํฐ๋ฅผ ์ด๋ค ํ์์ผ๋ก ํ์ตํ์ ๋ ์ฑ๋ฅ์ด ์ข์์ง ๋น๊ตํ๋ค.
๊ทธ ๊ฒฐ๊ณผ multi-task pre-training + fine-tuning์ด ๊ธฐ์กด์ unsupervised pre-training + fine-tuning ๋ฐฉ์๊ณผ ๊ฑฐ์ ๋น์ทํ ์ฑ๋ฅ์ ๋ํ๋ด๋ ๊ฒ์ ํ์ธํ๊ณ ์ต์ข
๋ชจ๋ธ์ ํ์ต์ ํด๋น ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
6. Scaling
๋ง์ฝ ์ปดํจํ
์์์ด 4๋ฐฐ ๋ ๋ง์์ก๋ค๊ณ ๊ฐ์ ํ์ ๋, ๋ชจ๋ธ์ ์ฑ๋ฅ์ ์ผ๋ง๋ ํฅ์์ํฌ ์ ์๋์ง ์คํํ๋ค.
๋ชจ๋ธ์ ํ๋ผ๋ฏธํฐ(size), ํ์ต ์๊ฐ(training steps), ๋ฐฐ์น ์ฌ์ด์ฆ, 4๊ฐ์ ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ๊ฐ ๊ฒฝ์ฐ์ ์ฑ๋ฅ์ baseline๊ณผ ๋น๊ตํ๋ค.
ํฐ ๋ชจ๋ธ์ด ์ข์ ์ฑ๋ฅ์ ๋ธ๋ค๋ ๊ฒ์ ์ด๋ฏธ ๊ณต๊ณต์ฐํ ์ฌ์ค์ด์๋ค. ํ์ง๋ง ์ปดํจํ
์์์ 4๋ฐฐ ์ฌ์ฉํ๋ ๊ฒ์ ๋นํด ์ฑ๋ฅ ํฅ์์ ํฌ์ง ์๊ธฐ ๋๋ฌธ์ scale up์ ํ์ง ์์๋ค.
์ฌ๋ฌ ์คํ๋ค์ ๊ฑฐ์น ํ T5 ๋ชจ๋ธ์ด ์ ํํ ๊ธฐ๋ฒ๋ค์ ๋ค์๊ณผ ๊ฐ๋ค.
- Span-corruption objective
- Longer pre-training (1 million steps on batch size )
- Larger model (11B parameters)
- Multi-task pre-training + fine-tuning
- Beam Search
๊ทธ๋ฆฌ๊ณ ๋ ผ๋ฌธ์์๋ ์ด ์ฐ๊ตฌ๋ฅผ ํตํด ์ป๊ฒ๋ ํต์ฌ ์ ๋ณด๋ค์ ๋ค์๊ณผ ๊ฐ์ด ์ ๋ฆฌํ๋ค.
Text-to-Text Framework
Text-to-Text Framework๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ ๊ฒฝ์ฐ ํ๋์ ๋ชจ๋ธ๋ก loss, decoding๋ฐฉ์ ๋ฑ์ ๋ณ๊ฒฝ์์ด generation, classification, regression task ๋ชจ๋์์ ์ข์ ์ฑ๋ฅ์ ์ด๋์ด๋ผ ์ ์๋ค.
Original Transformer Architecture
BERT๋ GPT๊ฐ์ ๋ชจ๋ธ์ฒ๋ผ Transformer์ encoder/decoder๋ฅผ ๋ฐ๋ก ๋ผ์ด๋ด์ ์ฌ์ฉํ๋ ๊ฒ์ด ์๋ original Transformer ๊ตฌ์กฐ๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ๋ ๊ฒ์ด text-to-text์์ ๋ ์ข์ ์ฑ๋ฅ์ ๋ํ๋ธ๋ค.
Denoising Span Objective
Pre-training์ ์ฌ์ฉํ๋ objective์ค์์๋ BERT ๊ณ์ด์์ ์ฌ์ฉํ๋ denoising objective, ๊ทธ ์ค์์๋ SpanBERT์์ ์ฌ์ฉํ denoising span์ด ๊ฐ์ฅ ์ข์ ์ฑ๋ฅ์ ๋ํ๋ธ๋ค.
C4 Dataset
์ผ๋ถ downstream task์์ in-domain unlabeled dataset์ด ์ฑ๋ฅ ํฅ์์ ํฐ ๊ธฐ์ฌ๋ฅผ ํ์ง๋ง, ๋๋ฉ์ธ์ ์ ํํ๊ฒ ๋๋ฉด dataset์ ํฌ๊ธฐ๊ฐ ํจ์ฌ ๋ ์์์ง๊ฒ ๋๋ค. ์ฐ๊ตฌ๋ฅผ ํตํด์ ๋ ํฌ๊ณ ๋ ๋ค์ํ ๋๋ฉ์ธ์ ์์ฐ๋ฅด๋ dataset์ด ์ฑ๋ฅ ํฅ์์ ๊ธฐ์ฌํจ์ ์ ์ ์๋ค.
๋ฐฐ์ด ์
- ๋ ์ด์ big model์ด ์๋ ์์ ํฌ๊ธฐ๋ก๋ ์ข์ ์ฑ๋ฅ์ ๋ผ ์ ์๋ ๋ชจ๋ธ์ด ๊ฐ๋ฐ๋์ด์ผ ํ๋ค.
- ๋ ํจ์จ์ ์ด๊ณ ์ข์ pre-training ๋ฐฉ์์ด ํ์ํ๋ค. ํนํ general knowledge์ ๋ํ ํ์ต์ด ๊ฐ๋ฅํ ๋ฐฉ์์ด ํ์ํ๋ค.
- ๊ฐ task๊ฐ์ ์ ์ฌ์ฑ์ ๊ณต์ํํด์ ๋ ์ด์ unsupervised pre-training์ด ์๋ supervised pre-training์ผ๋ก ๋์๊ฐ์ผํ๋ค.