๐ BERT: Pre-training of Deep Bidirectional Transformers for
Language Understanding (์๋ฌธ)
โ๏ธ๊ฐ๋ ์ ์ ๋ฆฌํ๊ธฐ ์ํด ์์ฑํ ๊ธ๋ก, ๋ด์ฉ์ ์๋ชป๋ ๋ถ๋ถ์ด ์์ ์ ์๋ค๋ ์ ์ฐธ๊ณ ๋ฐ๋๋๋ค.
๋ ผ๋ฌธ์์๋ ์์๊ฐ ์๋์ ๊ฐ์ด ๊ตฌ์ฑ๋์ด์๋ค.
- Introduction
- Related Work
- Unsupervised Feature-based Approaches
- Unsupervised Fine-tuning Approaches
- Transfer Learning from Supervised Data
- BERT
- Model Architecture
- Input/Output Representation
- Pre-training BERT
- Fine-tuning BERT
- Experiments
- GLUE
- SQuAD v1.1
- SQuAD v2.0
- SWAG
- Ablation Studies
- Effect of Pre-training Tasks
- Effect of Model size
- Feature-based Approach with BERT
- Conclusion
์ด ๊ธ์ ๋ ผ๋ฌธ ์์๋ฅผ ๊ทธ๋๋ก ๋ฐ๋ผ๊ฐ๊ธฐ๋ณด๋ค๋ ๋ด๊ฐ ๊ณต๋ถํ ๋ ์ดํดํ๊ธฐ ํธํ๋ ํ๋ฆ๋๋ก ์์ฑํ๋ ค๊ณ ํ๋ค.
BERT๋ unlabeled data๋ฅผ MLM(Mask Language Model)๊ณผ NSP(Next Sentence Prediction)์ ๊ฑฐ์ณ pre-train์ํจ ํ
์ป์ pre-trained parameter๋ฅผ task์ ๋ง๋ labeled data๋ก fine-tuningํ๋ฉฐ ์
๋ฐ์ดํธํ๋ ๋ฐฉ์์ด๋ค.
์ฌ์ ํ์ต์ token-level task์ sentence-level task ๊ฐ์ NLP ๋ถ์ผ์์ ์ข์ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ์๋ค.
์ด๋ฌํ ์ฌ์ ํ์ต์ ๋ ๊ฐ์ง ๋ฐฉ์์ผ๋ก ์ ์ฉ๋ ์ ์๋๋ฐ, ๊ทธ ๋ฐฉ์์ ์๋์ ๊ฐ๋ค.
: ์ฌ์ ํ์ต ๋จ๊ณ์์๋ถํฐ ํน์ task์ ๋ง๊ฒ ๋ชจ๋ธ์ ํ์ต์ํค๋ ๊ฒฝ์ฐ๋ก, ํด๋น task์ ํนํ๋ ๋ชจ๋ธ ๊ตฌ์กฐ๋ฅผ ๊ฐ๋๋ค.
: ํน์ task์ ํนํ๋ ํ๋ผ๋ฏธํฐ ์๋ ์ต์ํํ๊ณ , generalํ๊ฒ ์ฌ์ ํ์ต๋ ํ๋ผ๋ฏธํฐ๋ฅผ ์ํ๋ task์ ๋ง๊ฒ fine-tuningํด ์ ์ฒด ํ๋ผ๋ฏธํฐ๋ค์ ์ ๋ฐ์ดํธํ๋ค.
์ด ๋ ผ๋ฌธ์์๋ ELMo๋ฅผ feature-based approach๋ก, GPT์ BERT๋ฅผ fine-tuning approach๋ก ๋ถ๋ฅํ์๋ค.
feature-based vs. fine-tuning
๋์ ์ฐจ์ด๊ฐ ์ ์ดํด๊ฐ ๋์ง ์์๋๋ฐ ๋๋ต์ ์ผ๋ก ์ ๋ฆฌํ์๋ฉด, ์ฒ์๋ถํฐ task์ ๋ง๊ฒ ํ์ต์ ์ํค๋๋ / ํ ๋ฒ ํ์ตํ ์ดํ ์ํ๋ task์ ๋ง์ถฐ ๋ค์ ํ ๋ฒ ํ์ต์ ์ํค๋๋์ ์ฐจ์ด์ธ ๊ฒ ๊ฐ๋ค. ํ์ Transfer Learning๋ ๋ฑ์ฅํ๋๋ฐ ์ด ์
์ ์ ์๋ฏธํ ์ฐจ์ด๋ฅผ ์ ๋ฆฌํด๋ณผ ์์ ์ด๋ค.
์ฌ์ ํ์ต์ ํ ๋๋ ๋ ๋ฐฉ์ ๋ชจ๋ ๋์ผํ ๋ชฉ์ ํจ์๋ฅผ ์ฌ์ฉํ๋๋ฐ
์ ๋ฐ์ ์ธ ์ธ์ด ํํ์ ํ์ตํ๊ธฐ ์ํด unidirectional language models์ ์ฌ์ฉํ๋ค.
์ด๋ unidirectionalํ๊ฒ ํ์ตํ ๊ฒฝ์ฐ, " ์ฑ๋ฅ ์ ํ " (especially fine-tuning approach)์ ํ๊ณ๊ฐ ๋ฐ์ํ๋ค.
ex) GPT : left-to-right ๋ฐฉ์์ผ๋ก, ํ์ฌ ํ ํฐ์ด ์์ ๋ํ๋ ํ ํฐ์ ๋ํด์๋ง attention ๊ณ์ฐ ๊ฐ๋ฅ
ํ์ง๋ง Question-Answering ๊ฐ์ ๋ฌธ์ฅ ์์ค tasks๋ ์์ชฝ ๋ฌธ๋งฅ์ ๋ชจ๋ ํ์
ํด์ผ ํจ
: Bidirectional Encoder Representations from Transformers
BERT๋ Transformer์์ Encoder ๋ถ๋ถ์ด ์ฌ๋ฌ ์ธต ์์ฌ์๋ ๊ตฌ์กฐ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
์ Encoder ๋ถ๋ถ๋ง ์ฌ์ฉํ์์๊น?
์ด์ ๋ํด์๋ BERT์ ๋ชฉ์ ์ ์๊ฐํ๋ฉด ์ ์ ์๋ค.
BERT๋ ๋ฌธ์ฅ์ ์์ฑํ๊ธฐ ์ํ GPT, ๊ธฐ๊ณ ๋ฒ์ญ์ ์ํ Transformer์ฒ๋ผ
ํน์ task๋ฅผ ์ํ ๋ชจ๋ธ์ด๋ผ๊ธฐ๋ณด๋ค ์ ๋ฐ์ ์ธ ์ธ์ด์ ๋ฌธ๋งฅ์ ๋ํด ํ์ ํ๋ ๋ฐ ์ด์ ์ ๋ง์ถ์๋ค.
๋ฐ๋ผ์ BERT ์์ฒด๋ ๋จ์ด์ embedding ์ ๋ณด๋ฅผ ์ ํ์ ํ๋ ์ฉ๋์ด๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ Encoder ๋ถ๋ถ๋ง ์ฌ์ฉํด ์ ๋ ฅ์ ๋ํ ์ ๋ณด๋ฅผ ํจ์ถํ๋ ๊ณผ์ ๋ง ๊ฑฐ์น๋ค.
BERT๋ ๋ค์๊ณผ ๊ฐ์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ค.
BERT์ framework๋ ๋ ๋จ๊ณ๋ก ๊ตฌ์ฑ๋๋๋ฐ
์ผ์ชฝ ๋ถ๋ถ์ pre-training step๊ณผ ์ค๋ฅธ์ชฝ ๋ถ๋ถ์ fine-tuning step์ ๊ฑฐ์น๋ค.
๋ฐ๋ผ์ ๋์ผํ pre-trained ํ๋ผ๋ฏธํฐ๋ก ์ด๊ธฐํ๋ ๋ชจ๋ธ์์ ์์ํ์ฌ task์ ๋ฐ๋ผ ํ๋ผ๋ฏธํฐ๊ฐ ์
๋ฐ์ดํธ๋์ด ๊ฒฐ๊ณผ์ ์ผ๋ก ์๋ก ๋ค๋ฅธ fine-tuned ๋ชจ๋ธ์ ๊ฐ๊ฒ ๋๋ค.
BERT์ ์ ๋ ฅ์ ์ด 3๊ฐ์ ์๋ฒ ๋ฉ ๋ฒกํฐ๊ฐ ํฉ์ณ์ง ํํ์ด๋ค.
Sequence : ๋จ์ผ ๋ฌธ์ฅ ๋๋ ์์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์ฅ (<Question, Answer>)
- ๋จ์ผ ๋ฌธ์ฅ : ๋ถ๋ฅ task์ ์ฃผ๋ก ์ฌ์ฉ ex) ์คํธ ์ฌ๋ถ
- ์์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์ฅ : sentence-level task์ ์ฃผ๋ก ์ฌ์ฉ ex) Question-Answering
๋ฌธ์ฅ์ด ๋ค์ด์ค๋ฉด
step 1) WordPiece
tokenizer๋ก ํ ํฐ ์๋ฒ ๋ฉ ๋ฒกํฐ ์์ฑ
step 2) [CLS]
ํ ํฐ์ ๊ฐ ์ํ์ค์ ์ฒซ(์์) ํ ํฐ์ผ๋ก ์ฌ์ฉ
step 3) text-pair๊ฐ ๋ค์ด์ค๋ ๊ฒฝ์ฐ ํ๋์ ์ํ์ค๋ก ํํํ๊ธฐ ์ํด [SEP]
ํ ํฐ์ผ๋ก ๋ถ๋ฆฌ
โ ๊ฐ ๋ฌธ์ฅ์ ๋จ์ด token embedding vector
+ A/B ์ค ์ด๋ค ๋ฌธ์ฅ์ ์ํ๋์ง๋ฅผ ๋ํ๋ด๋ segmentation embedding vector
+ ๋ฌธ์ฅ ๋ด์์์ ์์น ์ ๋ณด๋ฅผ ๋ํ๋ด๋ position embedding vector
[CLS]
Positional Encoding vs. Positional Embedding
- Positional Encoding - Transformer์ Encoder์์ ์ฌ์ฉํ ๋ฐฉ์
: ๊ฐ ๋จ์ด์ ์์น๋ง๋ค ๊ณ ์ ํ ๊ฐ(๋ฒกํฐ)์ ๋ง๋ค์ด ๋ด๋ ์ ์ ํ ํจ์๋ฅผ ํตํด ๊ฐ ๋จ์ด์ ์์น๋ฅผ ์ค๋ช ํ๋ ์์น ์๋ฒ ๋ฉ ๋ฒกํฐ๋ฅผ ๋ง๋ ๋ค, ๋จ์ด ์๋ฒ ๋ฉ ๋ฒกํฐ์ ๋ํด์ค
- Positional Embedding - BERT์์ ์ฌ์ฉํ ๋ฐฉ์
: ์์น ์ ๋ณด๋ฅผ ํํํ๊ธฐ ์ํด ํ์ต ๊ฐ๋ฅํ ์ถ๊ฐ์ ์ธEmbedding layer
๋ฅผ ์ฌ์ฉํจ
โ ๋ชจ๋ธ์ด ํ์ต๋๋ฉด์ ์์น ์ ๋ณด๋ฅผ ์ด๋ป๊ฒ ํํ(embedding)ํ๋๊ฒ ์ ์ผ ์ข์์ง ์ค์ค๋ก ํ์ตํจ
BERT๋ ๋ ๊ฐ์ง Unsupervised tasks๋ฅผ ํตํด bidirectionalํ๊ฒ ๋ชจ๋ธ์ ํ์ตํ๊ณ ์ ํ๋ค.
๊ธฐ์กด left-to-right / right-to-left ๊ฐ์ ๊ธฐ์กด์ ๋ฐฉ์์ผ๋ก ํ์ต์ ํ๊ฒ ๋๋ฉด ์ ๋ ฅ ๋ฌธ์ฅ์ด ๋ค์ด์์ ๋, ๊ฐ์ ์ ์ผ๋ก ์์ธกํ๋ ค๋ ๋จ์ด๋ฅผ ์ฐธ์กฐํ๊ฒ ๋๊ณ multi-layer ๊ตฌ์กฐ์์ ์ด์ layer์ output์ด ์ ์ฒด ๋ฌธ์ฅ์ ํ ํฐ์ ๋ํ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๊ธฐ ๋๋ฌธ์ ํด๋น ๋จ์ด๋ฅผ ์์ธกํ ์ ์๋ ๊ฐ์ ์ฐธ์กฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
โ ๋ฌธ์ฅ์์ ์ผ์ ํ ํฐ์ maskingํ๊ณ ํด๋น ํ ํฐ์ด ๊ตฌ์ฑํ๋ ๋ฌธ์ฅ์์ ์๋ค ๋ฌธ๋งฅ์ ํ์ ํ์ฌ masking๋ ํ ํฐ์ ์๋ ๊ฐ์ ์์ธกํ๋ ๋ฐฉ์
๋
ผ๋ฌธ์์๋ ์ ์ฒด ํ ํฐ์ 15%๋ฅผ masking ํ์๋๋ฐ, ์ค์ fine-tuning task์์๋ [MASK] ํ ํฐ์ด ์๊ธฐ ๋๋ฌธ์ pre-training๊ณผ fine-tuning ์ฌ์ด์ ๋ถ์ผ์น์ฑ์ด ์๊ธฐ๋ ๋ฌธ์ ๊ฐ ๋ํ๋ฌ๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด 15% ์ค
์นํํ๋ ๋ฐฉ์์ ์ฌ์ฉํ์๋ค. ์ด๋ ๊ฒ masking๋ ํ ํฐ์ ๋ฐํ์ผ๋ก ์ต์ข ์ ์ผ๋ก๋ cross-entropy loss๋ฅผ ์ฌ์ฉํด ๊ธฐ์กด์ ํ ํฐ์ ์์ธกํ๋๋ก ํ์ต์ ์งํํ์๋ค.
MLM๋ง ๊ฑฐ์น ๊ฒฝ์ฐ, ํ ํฐ ๊ฐ ๊ด๊ณ๋ฅผ ํ์ตํ ์ ์์ง๋ง ๋ฌธ์ฅ๊ณผ ๋ฌธ์ฅ ์ฌ์ด์ ๊ด๊ณ๋ ํ์ตํ ์ ์๋ค. ๋ฐ๋ผ์ NSP๋ฅผ ํตํด masked language model์ text-pair representation์ ํ์ต์ํจ๋ค.
๋ฌธ์ฅ A์ ๋ฌธ์ฅ B๋ฅผ ๋ชจ๋ธ์ ๋ฃ๋๋ฐ
์ ๊ฐ์ด ์ ๋ ฅ์ด ์ ๊ณต๋๋ค. ์ด๋ ๊ฒ ์ฃผ์ด์ง ๋ฐ์ดํฐ๋ฅผ ๋ฐํ์ผ๋ก ๋ ๋ฌธ์ฅ์ด ์๋ก ์ฐ๊ฒฐ๋๋์ง / ์๋์ง๋ฅผ ํ์ตํ ์ ์๋ค.
์์์ ์ฌ์ ํ์ต์ ๋ง์น BERT๋ ํ ํฐ ๊ฐ ๊ด๊ณ, ๋ฌธ์ฅ ๊ฐ ๊ด๊ณ์ ๊ฐ์ด ์ ๋ฐ์ ์ธ ์ธ์ด ํํ์ ๋ํ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ์ด๋ฅผ ์ํ๋ task์ ๋ง๋ labeled data๋ก ํ์ต์์ผ ๊ธฐ์กด์ pre-trained ํ๋ผ๋ฏธํฐ๋ฅผ ์
๋ฐ์ดํธํ๋ฉด ๋๋ค.
์ด ๋จ๊ณ๋ pre-traing์ ๋นํด ์๋์ ์ผ๋ก ์ ์ ์๊ฐ์ผ๋ก ์ํ ๊ฐ๋ฅํ๋ค.
BERT๋ ๋์ฉ๋ unlabeled data๋ก bidirectionalํ๊ฒ ๋ชจ๋ธ์ ํ์ต์์ผ ํ๋ผ๋ฏธํฐ ๊ฐ์ ์ป๋๋ค. ์ด ๊ฐ์ ๋ ๋์ ํ์ต์ ์์์ ์ญํ ์ ํ๋ค. ์ดํ ์ํ๋ task์ ๋ง๋ labeled data๋ก ์์ ์ป์ ํ๋ผ๋ฏธํฐ ๊ฐ์ ์ ๋ฐ์ดํธํ๋ค.
์ด๋ฌํ pre-training โ fine-tuning ๋ฐฉ์์ผ๋ก BERT๋ 11๊ฐ์ง NLP task์์ ๋งค์ฐ ์ฐ์ํ ์ฑ๋ฅ์ ๋ณด์๋ค. +) ๋ชจ๋ธ์ ํฌ๊ธฐ๊ฐ ํด์๋ก ํฐ ๊ท๋ชจ์ task์์ ์ง์์ ์ธ ์ฑ๋ฅ ํฅ์์ ๋ณด์
๋ ๋ค Transformer ๊ธฐ๋ฐ์ ๋ชจ๋ธ์ด์ง๋ง ๋ชฉ์ ๊ณผ ๊ตฌ์กฐ๊ฐ ์์ดํ๋ค.
Transformer๋ ๊ธฐ๊ณ ๋ฒ์ญ์ ํนํ๋ self-attention ๊ธฐ๋ฐ ๋ชจ๋ธ๋ก,
ํ-์ ๋ฒ์ญ์ ์๋ก ๋ค๋ฉด
๋ ๋ถ๋ถ์ ํฉ์ณ ์ต์ข ์ ์ธ ๋ฒ์ญ์ ์ํํ๋ค.
์ด์ ๋ฐํด BERT์ GPT๋ Transformer์ ์ผ๋ถ๋ฅผ ๊ฐ์ ธ์ ์ฌ์ฉํ๋ค.
๐ The Bidirectional Language Model
๐ [์ต๋ํ ์์ธํ๊ฒ ์ค๋ช
ํ ๋
ผ๋ฌธ๋ฆฌ๋ทฐ] BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding (1)
๐ [NLP] ์ต๋ํ ์ฝ๊ฒ ์ค๋ช
ํ Transformer
๐ [NLP | ๋
ผ๋ฌธ๋ฆฌ๋ทฐ] BERT : Pre-training of Deep Bidirectional Transformers for Language Understanding ์ํธ
๐ [๋ฅ๋ฌ๋์ ์ด์ฉํ ์์ฐ์ด์ฒ๋ฆฌ ์
๋ฌธ] 12-02 ์๋ฐฉํฅ LSTM๊ณผ CRF(Bidirectional LSTM + CRF)
๐ Paper Dissected: โBERT: Pre-training of Deep Bidirectional Transformers for Language Understandingโ Explained
๐ Feature-based Transfer Learning vs Fine Tuning?
๐ Large Language Models (LLM): Difference between GPT-3 & BERT