
๐Improving Language Understanding by Generative Pre-Training (Radford et al., 2018)
๐ Original Paper: https://cdn.openai.com/research-covers/language-unsupervised/language_understanding_paper.pdf
| ํญ๋ชฉ | GPT-1 | BERT |
|---|---|---|
| ๐ ๋ ผ๋ฌธ ์ด๋ฆ | Improving Language Understanding by Generative Pre-Training (Radford et al., 2018) | BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding (Devlin et al., 2018) |
| ๐ Transformer ๊ตฌ์กฐ | Decoder-only (GPT-style, left-to-right) | Encoder-only (Fully bidirectional) |
| ๐ Pre-training ๋ฐฉํฅ | Left-to-right (Autoregressive) | Bidirectional (Masked Language Model) |
| ๐ฏ Pre-training ๋ชฉํ | LM objective (๋ค์ ๋จ์ด ์์ธก) | Masked LM (MLM) + Next Sentence Prediction (NSP) |
| ๐ Fine-tuning ๋ฐฉ์ | ๋จ์ํ classification head ์ถ๊ฐ ํ fine-tuning | ๋ค์ํ ํ์คํฌ์ ๋ง๊ฒ ๊ตฌ์กฐ ์ผ๋ถ ์์ ๋๋ linear head ์ถ๊ฐ |
| ๐ ์ ๋ ฅ ๊ตฌ์กฐ | ํ ๋ฌธ์ฅ ๋จ์ (๋ฌธ์ฅ ์์ฑ ์ค์ฌ) | ๋ฌธ์ฅ ์๋ ๊ฐ๋ฅ ([CLS] ๋ฌธ์ฅ1 [SEP] ๋ฌธ์ฅ2 ํํ) |
| ๐ง ํ์ต ๋ชฉํ ์ฑ๊ฒฉ | Generative (์์ฑ ๊ธฐ๋ฐ ์ธ์ด๋ชจ๋ธ) | Discriminative (์ดํด ๊ธฐ๋ฐ ์ธ์ด๋ชจ๋ธ) |
| ๐งช Zero-shot ํ์ต | ์ผ๋ถ ๊ฐ๋ฅ (task ๋ง๋ค ํธ์ฐจ ์์ - ์ถ๋ก ๊ธฐ๋ฐ ํ์คํฌ์์๋ ์ฑ๋ฅ ๋ฎ์) | ๋ถ๊ฐ๋ฅ (BERT๋ fine-tuning ํ์) |
| โณ๏ธ ์ฃผ ์ฉ๋ | ํ ์คํธ ์์ฑ, zero/few-shot ๊ฐ๋ฅ์ฑ ํ์ | ๋ฌธ์ฅ ๋ถ๋ฅ, ๊ด๊ณ ํ๋จ, QA ๋ฑ ์ดํด ์ค์ฌ NLP task |
์ผ์์์ ์์งํ ์์ ํ ์คํธ(raw text)๋ฅผ ํจ๊ณผ์ ์ผ๋ก ํ์ตํ๋ ๋ฅ๋ ฅ์ ์์ฐ์ด ์ฒ๋ฆฌ(NLP)์์ ๋งค์ฐ ์ค์ํ๋ค.
ํ์ง๋ง ๋ผ๋ฒจ์ด ์๋ ๋ฐ์ดํฐ(labeled data)๋ ๋ถ์กฑํ๊ธฐ ๋๋ฌธ์, ๋น๋ผ๋ฒจ ๋ฐ์ดํฐ(unlabeled data)๋ฅผ ํ์ฉํด ์ง๋ ํ์ต์ ๋ํ ์์กด๋๋ฅผ ์ค์ผ ํ์๊ฐ ์๋ค.
์ด๋ก ์ธํด unlabeled ๋ฐ์ดํฐ๋ฅผ ์ฌ์ ํ์ต(pretraining)์ ํ์ฉ ํ๋ ์ ๊ทผ์ด ์ฃผ๋ชฉ๋ฐ๊ฒ ๋์๋ค.
๊ทธ๋ฌ๋ ๊ธฐ์กด์ unsupervised pretraining ๋ฐฉ์์๋ ํ๊ณ๊ฐ ์กด์ฌํ๋ค:
๊ธฐ์กด ๋ฐฉ์์ ์ฃผ๋ก ๋จ์ด ์์ค์ ํต๊ณ ์ ๋ณด(word-level statistics)๋ง ํ์ตํ๋ฉฐ, ๋ฌธ์ฅ์ด๋ ๋ฌธ๋งฅ ์์ค์ ํํ๋ ฅ์ ์ถฉ๋ถํ ํ์ตํ์ง ๋ชปํ๋ค.
๋จ์ํ unlabeled data๋ง์ผ๋ก ํ์ตํ ๊ฒฝ์ฐ, ์ด๋ค ๋ชฉ์ ํจ์(objective function)๊ฐ downstream task์ ํจ๊ณผ์ ์ธ์ง ์๊ธฐ ์ด๋ ต๊ณ , pretrained model์ fine-tuningํ ๋ task-specific ํ์ต ์ ๋ต์ด ๋ช ํํ์ง ์์ ์ฑ๋ฅ์ด ๋ถ์์ ํ๋ค.
๋ํ, ๊ธฐ์กด ๋ฐฉ์์ task๋ง๋ค ๋ชจ๋ธ ๊ตฌ์กฐ๋ฅผ ๋ณ๊ฒฝํ๊ฑฐ๋ ๋ณต์กํ๊ฒ ์ค๊ณํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์, semi-supervised learning ํ๊ฒฝ์์๋ ํ์ฅ์ฑ์ ์ด๋ ค์์ด ์์๋ค.
โ๋ค์ํ NLP ํ์คํฌ์ ์ ์ฉ ๊ฐ๋ฅํ ๋ณดํธ์ ์ธ ์ธ์ด ํํ(representation)์ ๋ฏธ๋ฆฌ ํ์ตํ๊ณ ,task-specificํ fine-tuning์ ์ต์ํ์ ๊ตฌ์กฐ ๋ณํ๋ง์ผ๋ก ์ํํ๋ค.โ
์ด๋ฅผ ์ํด ๋ ผ๋ฌธ์ ๋ ๋จ๊ณ์ ํ๋ จ ์ ์ฐจ๋ฅผ ์ ์ํ๋ค:
๋๊ท๋ชจ์ unlabeled ํ ์คํธ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก language modeling objective (๋ค์ ๋จ์ด ์์ธก)์ ํตํด ์ผ๋ฐ์ ์ธ ์ธ์ด ํํ์ ํ์ตํ๋ค.
๊ฐ downstream task์ ๋ง๊ฒ ์ฌ์ ํ์ต๋ ๋ชจ๋ธ์ ์ง๋ ํ์ต ๋ฐ์ดํฐ(labeled data)๋ก ๋ฏธ์ธ ์กฐ์ ํ๋ค.
์ด ์ ๊ทผ ๋ฐฉ์์ ๋ชจ๋ธ ๊ตฌ์กฐ์ ๋ณ๊ฒฝ ์์ด ๋ค์ํ ํ์คํฌ์ ์ฝ๊ฒ ์ ์ฉ ๊ฐ๋ฅํ๋ฉฐ, transfer learning ์ ํ๋ ํฌ๊ฒ ๋์

Transformer ์ ๋์ฝ๋๋ง ๊ฐ์ ธ์ ์ฌ์ฉํจ. ์ธ์ฝ๋ ์ฌ์ฉ ์ํ๋๊น cross self attention ๋ถ๋ถ์ ์์ด์ง๋ ๊ฒ
๋์ฝ๋๋ง ์ฌ์ฉํ๋ ์ด์ :
๋ชจ๋ธ์ ํ์ต ๋ชฉํ๊ฐ โ๋ค์ ๋จ์ด ์์ธกโ (Autoregressive Language Modeling)์ด๊ธฐ ๋๋ฌธ.
๊ฐ๊ฒฐ์ฑ์ผ๋ก ์ฐ์ฐ๋์ด ์ค์ด๋ ๋ค.


๋ฐ์ดํฐ๋ฅผ ๋ฌธ์ฅ๋ณ๋ก ๋๋ -> ๊ฐ ๋ฌธ์ฅ์ ์
๋ ฅํด์ฃผ๋ ๊ตฌ์กฐ.
ํ ๋ฌธ์ฅ๋ ๋๋ ์ ๋ฃ๊ณ ๋ค์ ์์ธกํ๋ ๋ฐฉ์์ผ๋ก ์งํ.
Pretraining ์ ํจ๊ณผ:
1. ์ธ์ด ๊ตฌ์กฐ๋ฅผ ํ์ต
2. ๋ฌธ๋งฅ ์ดํด ๋ฅ๋ ฅ ํฅ์
3. ๋ค์ํ ์ธ์ด ํจํด ํ์ต
4. transfer learning ์ ์ผ๋ฐ์ ์ธ์ด ์ดํด ๋ฅ๋ ฅ ๋์ด๋๋ฐ ํจ๊ณผ์

๋ง์คํน๋ self-attention์ ์ฌ์ฉํ๋ฏ๋ก ํ์ฌ ์์ ๊น์ง์ ๋จ์ด ์ ๋ณด๋ง ๋ฐ์
์๋ ๊ณผ์ ์ผ๋ก ์ต์ข
์ถ๋ ฅ ํ์ฑ



์ฃผ์ด์ง ์ ๋ต ๋ฐ์ดํฐ์
C์ ๋ํด, ์
๋ ฅ ๐ฅ๋ก๋ถํฐ ์ ๋ต ๐ฆ๋ฅผ ์ต๋ํ ์ ํํ ์์ธกํ๋๋ก ๋ชจ๋ธ์ ํ๋ผ๋ฏธํฐ ๐๋ฅผ ํ์ต์ํค๋ ์์ค ํจ์

์ดํ L2 function ์ L1 function ๋ํ๋ ๋ณด์กฐ์ ์ญํ ์ฌ์ฉ์ ๋ชจ๋ธ ์ผ๋ฐํ์ ํ์ต ์๋ ํฅ์์ ๋์์ด ๋์๋ค๊ณ ํจ.

์
๋ ฅ ํ
์คํธ ๋ถ๋ฅ ๋ฌธ์ (ex. spam mail detection)
๋ด์ฉ ์ ์ฒด๋ฅผ ์
๋ ฅ์ผ๋ก ๋ฃ๊ณ ๋ถ๋ฅํ๋ ๊ณผ์
ํ ๋ฌธ์ฅ์ด ๋ค๋ฅธ ๋ฌธ์ฅ์ ์๋ฏธ์ ์ผ๋ก ํจ์ํ๋๊ฐ
premise (์ ์ ) ์ hypothesis (๊ฐ์ค) ๋ฌธ์ฅ ๋๊ฐ ๋ฃ์ด์ค
์ด๋ ๊ฐ์ด๋ฐ deliminator ๋ก ๊ตฌ๋ถํด์ ์ฒ๋ฆฌ
๋ ๋ฌธ์ฅ์ด ์ผ๋ง๋ ์ ์ฌํ๊ฐ ํ๋จ.
input ์ผ๋ก ๋๊ฐ์ ๋ฌธ์ฅ์ ๋ฐ๊ณ ์ถ๋ ฅ์ 0-1 ์ฌ์ด์ ๋
์ต์ข
์ ์ฌ๋ ๊ฐ ์ถ๋ ฅํ๋ ๊ตฌ์กฐ
text1 + text2 / text2 + text1
๋ ๊ฒฐ๊ณผ๋ฅผ add ํํ ์ ํ ๋ ์ด์ด์์ ํ์ฑํจ์ ๊ฑฐ์ณ์ ์ต์ข
์ ์ฌ๋ ์ถ๋ ฅ
Context ์ Answer ๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
๊ฐ๊ฐ์ ๋ต๋ง๋ค ์๋ก ๋ค๋ฅด๊ฒ context - answer ์ ๋ง๋ค์ด์ transformer ๊ตฌ์กฐ๋ก ๋ฃ์ด์ฃผ๊ณ , ์ด ์ค ๊ฐ์ฅ ๋์ ํ๋ฅ ์ ๊ฐ์ง ์์ ์ถ๋ ฅํ๋ ๊ตฌ์กฐ

๋ชจ๋ ๋ฐ์ดํฐ์ ์์ ๊ธฐ์กด ๋ฐฉ๋ฒ๋ค๋ณด๋ค ์ฑ๋ฅ ์ฐ์

์ญ์ ๋ชจ๋ ํ
์คํฌ์ ๋ํด ์ฑ๋ฅ ์ฐ์

์ผ๋ถ ์ ์ธ ์ฐ์ํ ์ฑ๋ฅ

์์ชฝ ๊ทธ๋ํ๋ pre-train ์ดํ ๋ช๊ฐ์ ๋ ์ด์ด๋ฅผ ์ ์ดํ์ฌ fine-tuning ํ๊ณ , ์ด๋์ ์ฑ๋ฅ ์ฐจ์ด๋ฅผ ๋ถ์ํ ๊ทธ๋ํ์ด๋ค.
0-12๊ฐ ๊ธฐ์ค ๋ ์ด์ด ์๋ฅผ ๋ง์ด ์ ์ด(transfer) ํด์ fine-tuning ํ ์๋ก RACE(์ง๋ฌธ ์๋ต), MultiNLI(๋ฌธ์ฅ๊ด๊ณํ๋จ) task ๋ชจ๋ ๋ ์ข์ ์ฑ๋ฅ
GPT ์ fine-tuning ์ฑ๋ฅ ์ ์ฆ
์ค๋ฅธ์ชฝ ๊ทธ๋ํ๋ ๋ค์ํ task ์ ๋ํด ์ฌ์ ํ์ต ์ ๋ฐ์ดํธ ์ ์ฆ๊ฐ์ ๋ฐ๋ผ zero-shot (์ฆ fine-tuning ์ํ๊ณ ๋ ์ ๋ต ์ถ๋ ฅ ์ผ๋ง๋ ๋ด๋์ ์ ์๋) ์ฑ๋ฅ ํฅ์ํจ์ ๋ณผ ์ ์๋ค.
GPT ์ pre-training ์ฑ๋ฅ ์ ์ฆ
โ 1. Pretraining + Finetuning ํจ๋ฌ๋ค์ ๋์
โ 2. Transformer Decoder๋ง ์ฌ์ฉ
โ 3. Few-shot/Zero-shot Learning์ ๊ฐ๋ฅ์ฑ
โ 4. ๋ฒ์ฉ ์ธ์ด๋ชจ๋ธ (BERT ๋ ์ด ๋ถ๋ถ์ ๋ง์ฐฌ๊ฐ์ง, Encoder based ์ด์ง๋ง) ์ ์ -> task ๋ง๋ค ๊ตฌ์กฐ ๋ณํ ํ์ ์์
<์ฉ์ด>
โ Representation: ๋จ์ด, ๋ฌธ์ฅ, ๋ฌธ์ ๋ฑ ์ธ์ด ๋จ์๋ฅผ ์ปดํจํฐ๊ฐ ์ดํดํ๊ณ ์ฒ๋ฆฌํ ์ ์๋๋ก ๋ง๋ ์์น ๋ฒกํฐ(๋๋ ํ ์)