๊ด€๋ฆฌ ๋ฉ”๋‰ด

๐˜š๐˜ญ๐˜ฐ๐˜ธ ๐˜ฃ๐˜ถ๐˜ต ๐˜ด๐˜ต๐˜ฆ๐˜ข๐˜ฅ๐˜บ

GPT-1, GPT-2, GPT-3 ์ดํ•ดํ•˜๊ธฐ ๋ณธ๋ฌธ

machine learning

GPT-1, GPT-2, GPT-3 ์ดํ•ดํ•˜๊ธฐ

.23 2025. 3. 10. 13:24

์–ด๋Š๋ง ์ธ๊ณต์ง€๋Šฅ์˜ ๋Œ€๋ช…์‚ฌ๊ฐ€ ๋œ GPT..

OpenAI์˜ GPT์˜ ์ดˆ๊ธฐ ๋ชจ๋ธ์ด์—ˆ๋˜ GPT-1, GPT-2, GPT-3๋ฅผ ์ด์ œ์•ผ ์ฝ๊ณ  ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค.

 

GPT-1, 2, 3 ๋…ผ๋ฌธ ์ •๋ฆฌ

GPT-1: Improving Language Understanding by Generative Pre-Training

GPT-2: Language Models are Unsupervised Multitask Learners

GPT-3: Language Models are Few-Shot Learners

 

GPT๋ž€?

Generative Pre-Trained Transformer๋กœ, ๋ง ๊ทธ๋Œ€๋กœ

์‚ฌ์ „ ํ›ˆ๋ จ๋œ Transformer ๋ชจ๋ธ ๊ธฐ๋ฐ˜ ์–ธ์–ด ์ƒ์„ฑ ๋ชจ๋ธ์ด๋‹ค.

์ฆ‰, GPT-1, 2, 3 ๊ทธ ์™ธ ๋ชจ๋“  GPT ๋ชจ๋ธ์€ Decoder-only ๊ตฌ์กฐ๋กœ, Transformer๊ฐ€ sequence๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ์ดํ•ดํ•œ ๋’ค(encoder) sequence๋ฅผ ์ƒ์„ฑํ•˜๋Š”/์ถœ๋ ฅํ•˜๋Š”(decoder) trasnduction task๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ชจ๋ธ์ด๋ผ๋ฉด,

GPT๋Š” encoder layer ์—†์ด ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ๊ทธ ๋’ค์˜ sequence๋“ค์„ ์ƒ์„ฑํ•˜๋Š” ๋ชจ๋ธ์ด๋‹ค.

 

์ด๋Ÿฌํ•œ GPT ๋…ผ๋ฌธ์€ 1, 2, 3๊นŒ์ง€ ๋ชจ๋ธ์ด ๋‚˜์˜ค๋Š” ๋™์•ˆ ๋‘ ๊ฐœ์˜ ๊ณตํ†ต์ ์ธ ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•ด ์ง€์†์ ์œผ๋กœ ๋ฐœ์ „๋˜์–ด์™”๋‹ค.

 

1. Label ๋œ ๋ฐ์ดํ„ฐ์˜ ๋ถ€์กฑ

์•„๋ฌด๋ฆฌ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ์˜ ์–‘์ด ๋ฐฉ๋Œ€ํ•˜๋‹ค ํ•˜์—ฌ๋„ ๋‹ค์–‘ํ•œ NLP task ๋ณ„ ๋ชจ๋ธ ํ•™์Šต์„ ์œ„ํ•ด ํ•„์š”ํ•œ ๋‹ค๋Ÿ‰์˜ label ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•๋ณดํ•˜๊ธฐ๋Š” ์–ด๋ ต๋‹ค. ๋ชจ๋ธ์ด '์ž˜' ํ•™์Šต๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ตœ์†Œ ์ฒœ ~ ์‹ญ๋งŒ ๋‹จ์œ„์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”ํ•œ๋ฐ, ์‚ฌ๋žŒ์ด ์ผ์ผํžˆ ๋ผ๋ฒจ๋งํ•œ ๋ช‡ ๋งŒ๊ฐœ์˜ ๋ฐ์ดํ„ฐ์…‹์„ ๊ตฌํ•˜๋Š” ๊ฒƒ์€ ์ƒ๋‹นํžˆ ๋น„์šฉ ์ง‘์•ฝ์ ์ด๋‹ค. ์ด๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ์กด ๋ชจ๋ธ๋“ค์€ ๋‹ค๋Ÿ‰์˜ unlabeled data๋ฅผ ํ™œ์šฉํ•œ unsupervised pre-training ๊ณผ์ •์„ ํ†ตํ•ด ๋ชจ๋ธ์˜ ์ผ๋ฐ˜ํ™” ๋Šฅ๋ ฅ์„ ๊ทน๋Œ€ํ™” ์‹œํ‚ค๊ณ ์ž ํ•˜์˜€๋‹ค.

 

2. ๋”๋”๋” ๋ฒ”์šฉ์ ์ธ ๋ชจ๋ธ

๊ทธ๋ ‡๊ฒŒ pre-training > fine-tuning ๊ธฐ๋ฐ˜์˜ ์ „์ด ํ•™์Šต ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ œ์•ˆ๋˜์—ˆ๋˜ ๊ฒƒ์ด GPT-1์ธ๋ฐ, ๊ทธ fine-tuning ๊ณผ์ •์กฐ์ฐจ๋„ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋น„์šฉ์ด ๋ถ€๋‹ด์Šค๋Ÿฝ๋‹ค๊ณ  ์ œ์•ˆ๋˜์—ˆ๋˜ ๊ฒƒ์ด GPT-2 ์ดํ›„์˜ ๋ชจ๋ธ์ด๋‹ค. Fine-tuning ๊ณผ์ •๋„ ์–ด์จŒ๋“  supervised-learning ๊ธฐ๋ฐ˜์ด๋ฏ€๋กœ, ์›ํ•˜๋Š” task์— ์ ํ•ฉํ•œ label๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ๋”ฐ๋ผ์„œ, GPT-2 ์ดํ›„์—๋Š” ๋”์šฑ ์ผ๋ฐ˜ํ™”๋œ ๋ชจ๋ธ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด few-shot learning์ด๋‚˜ zero-shot learning ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์”Œ์›Œ ๋ชจ๋ธ ๊ตฌ์กฐ๋‚˜ ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ˆ˜์ • ์—†์ด ์‚ฌ์ „ ํ›ˆ๋ จ ํ›„ ๋ฐ”๋กœ ๋‹ค์–‘ํ•œ ๋ฌธ์ œ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋ธ์„ ์ œ์•ˆํ•˜๊ณ ์ž ํ•˜์˜€๋‹ค.

 

GPT-1, 2, 3์˜ ์š”์•ฝ ๋ฐ ๋ฐœ์ „ ๋ฐฉํ–ฅ ๋น„๊ต

์šฐ๋ฆฌ๋Š” ์šฐ๋ฆฌ์—๊ฒŒ ์ƒˆ๋กœ์šด ์•„์ด๋””์–ด๊ฐ€ ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์ง€๋งŒ,
๊ทœ๋ชจ๋ฅผ ํ‚ค์šฐ๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋„ ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๋ฐ”๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

 

 


GPT-1; Improving Language Understanding by Generative Pre-Training

๋“ฑ์žฅ ๋ฐฐ๊ฒฝ

๋‹ค์–‘ํ•œ NLP ๋ถ„์•ผ์˜ ๋…ผ๋ฌธ์—๋„ ๋‚˜์™€์žˆ๋Š” ๋ง์ด์ง€๋งŒ, ์ž์—ฐ์–ด๋ฅผ ์ดํ•ดํ•˜๋Š” task๋Š” ๊ต‰์žฅํžˆ ๋‹ค์–‘ํ•˜๋‹ค. Textual entailment, question-answering, semantic simliarity assessment, ๋“ฑ๋“ฑ๋“ฑ.. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ plain ์–ธ์–ด ๋ฐ์ดํ„ฐ๋Š” ์–ด๋”œ ๊ฐ€๋‚˜ ํ”ํ•˜๋‹ค. ๋‹น์žฅ ์›น ํ•˜๋‚˜๋งŒ ์ฐ์–ด ๊ธ์–ด์˜ค๊ธฐ๋งŒ ํ•ด๋„ ๋ฐฉ๋Œ€ํ•œ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๊ทธ๋Ÿฌ๋‚˜ Task ๋ณ„๋กœ ๋ชจ๋ธ์„ ํ•™์Šตํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ 'label์ด ์žˆ๋Š”' ๋ฐ์ดํ„ฐ๋Š” ํ”์น˜ ์•Š๋‹ค.

 

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— label ๋˜์ง€ ์•Š์€ ์ถฉ๋ถ„ํ•œ ์–‘์˜ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•œ pre-train ๋œ ์ƒ์„ฑ ๋ชจ๋ธ์ด ํ•„์š”ํ•˜๋‹ค. ๋”ฐ๋ผ์„œ GPT-1์—์„œ๋Š” ๋น„์ง€๋„ ํ•™์Šต ๊ธฐ๋ฐ˜์˜ pre-training ๋‹จ๊ณ„์™€, task ๋ณ„ ์ง€๋„ ํ•™์Šต ๊ธฐ๋ฐ˜ fine-tuning ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ ํ•™์Šต์„ ์ง„ํ–‰ํ•˜๋Š” semi-supervised learning ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค. 

 

๋ชจ๋ธ ๊ตฌ์กฐ

GPT ๋ชจ๋ธ์€ ์ „๋ฐ˜์ ์œผ๋กœ Transformer์˜ ๋””์ฝ”๋” ๊ตฌ์กฐ๋ฅผ ํ™œ์šฉํ•œ๋‹ค. Attention ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ†ตํ•ด ์žฅ๊ธฐ ์˜์กด์„ฑ ๋ฌธ์ œ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๊ทน๋ณตํ•˜๊ณ  ๋‹ค์–‘ํ•œ ํƒœ์Šคํฌ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ „์ด ํ•™์Šต์„ ํ™œ์šฉํ•˜์—ฌ ๊ฐ•๋ ฅํ•˜๊ณ  ๊ฒฌ๊ณ ํ•œ ์„ฑ๋Šฅ์„ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. GPT๋Š” masked self-attention๊ณผ position-wise feed-forward์˜ ๋‘ ๊ฐœ sub-layer๋กœ ๊ตฌ์„ฑ๋˜์–ด ์ž๊ธฐํšŒ๊ท€์ (auto-regressive) ๋ฐฉ์‹์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ด์ „ ํ† ํฐ ์ •๋ณด๋งŒ์„ ํ™œ์šฉํ•˜์—ฌ ๋‹ค์Œ ํ† ํฐ์„ ์˜ˆ์ธกํ•œ๋‹ค.

GPT ๋ชจ๋ธ ๊ตฌ์กฐ

 

ํ•™์Šต ๋ฐฉ๋ฒ•

๋น„์ง€๋„ ํ•™์Šต ๊ธฐ๋ฐ˜์˜ ์‚ฌ์ „ ํ•™์Šต ๋‹จ๊ณ„์—์„œ๋Š” ๋‹ค๋Ÿ‰์˜ ๋ง๋ญ‰์น˜ ๋ฐ์ดํ„ฐ๋กœ๋ถ€ํ„ฐ ์–ธ์–ด์˜ ๋ณต์žกํ•œ ํŒจํ„ด ๋Šฅ๋ ฅ์„ ํ•™์Šตํ•˜๋Š” ๋Šฅ๋ ฅ์„ ๊ฐ€์ง„ ๋ชจ๋ธ์„ ํ•™์Šตํ•˜๊ณ ,

์ง€๋„ํ•™์Šต ๊ธฐ๋ฐ˜ fine-tuning ๋‹จ๊ณ„์—์„œ๋Š” task๋ณ„ ์ ํ•ฉํ•œ ๋ชจ๋ธ๋กœ tuningํ•˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์ณ ์›ํ•˜๋Š” ํ† ํฐ๋“ค์„ ์˜ˆ์ธกํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค.

 

Unsupervised pre-training

$\mathcal U=\{u_1, \dots, u_n \}$ ์ด label ์ •๋ณด๊ฐ€ ์—†๋Š” ๋ง๋ญ‰์น˜ ํ† ํฐ๋“ค์ด๋ผ๊ณ  ํ•  ๋•Œ, ์•„๋ž˜์˜ ๊ฐ€๋Šฅ๋„ ์ˆ˜์‹์„ ์ตœ๋Œ€ํ™”ํ•˜๋Š” ์–ธ์–ด ๋ชจ๋ธ ์„ค๊ณ„ํ•˜๋Š” ๊ฒƒ์ด pre-training ๋‹จ๊ณ„์˜ ๋ชฉํ‘œ์ด๋‹ค.

 

$$ L_1(\mathcal U)=\sum_i\log P(u_i|u_{i-k}, \dots, u_{i-1};\Theta) $$

์ด ๋•Œ, $k$๋Š” context window์˜ ํฌ๊ธฐ์ด๊ณ  P๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ์ง‘ํ•ฉ $\Theta$๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋ธ๋ง๋˜๋Š” ์‹ ๊ฒฝ๋ง์˜ ์กฐ๊ฑด๋ถ€ ํ™•๋ฅ ์ด๋‹ค.

 

์œ„ ์‹์˜ ์˜๋ฏธ๋ฅผ ํ•ด์„ํ•˜์ž๋ฉด,

์ตœ์ข…์ ์ธ ๋ชฉํ‘œ๋Š” $\mathcal U=\{u_1, \dots, u_n \}$์˜ ๊ฐ ํ† ํฐ $u_i$๋ฅผ ์ด์ „ k๊ฐœ์˜ ํ† ํฐ์„ ์กฐ๊ฑด์œผ๋กœ ์˜ˆ์ธกํ•˜๋Š” ํ™•๋ฅ ์˜ log likelihood๋ฅผ ์ตœ๋Œ€ํ™” ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰, i๋ฒˆ์งธ ํ† ํฐ์€ (i-k)๋ฒˆ์งธ ํ† ํฐ๋ถ€ํ„ฐ (i-1)๋ฒˆ์งธ ํ† ํฐ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•™์Šตํ•˜์˜€์„๋•Œ, ๋ชจ๋ธ์ด ์กฐ๊ฑด๋ถ€ ํ™•๋ฅ  ๋ถ„ํฌ๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ , ๊ทธ ๋ถ„ํฌ์—์„œ ๊ฐ€์žฅ ๋†’์€ ํ™•๋ฅ ์„ ๊ฐ€์ง„ ํ† ํฐ์ด ์˜ˆ์ธก๋œ๋‹ค. ์ด๋Š” ์ž๋™ํšŒ๊ท€ ๋ฐฉ์‹์˜ maximum likelihood estimation(์ตœ๋Œ€ ์šฐ๋„ ์ถ”์ •) ๋ชฉ์  ํ•จ์ˆ˜์— ํ•ด๋‹นํ•œ๋‹ค.

์œ„ ์ˆ˜์‹์„ ํ†ตํ•ด ํ•™์Šต์„ ํ•  ๋•Œ, MLE ํ†ตํ•ด ์กฐ๊ฑด๋ถ€ํ™•๋ฅ ์„ ์ตœ๋Œ€ํ™”ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ชจ๋ธ ํŒŒ๋ผ๋ฏธํ„ฐ Θ๋ฅผ ์ง์ ‘ ํ•™์Šตํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ์ด ๋•Œ ๋ชจ๋ธ์€ ๋ฌธ๋งฅ ์ •๋ณด๋ฅผ ํ•™์Šตํ•˜๊ณ , ์–ธ์–ด์˜ ํ†ต๊ณ„์  ํŒจํ„ด๊ณผ ๊ตฌ์กฐ๋ฅผ ๋‚ด์žฌํ™”ํ•˜๊ฒŒ ๋œ๋‹ค. Context window์ธ k๋Š” ํ•œ ํ† ํฐ ์˜ˆ์ธก์‹œ ๊ณ ๋ คํ•˜๋Š” ์ด์ „ ํ† ํฐ์˜ ๊ฐœ์ˆ˜๋กœ, ๋ชจ๋ธ์ด ๋ฌธ๋งฅ์„ ์–ผ๋งˆ๋‚˜ ๋ฉ€๋ฆฌ๊นŒ์ง€ ๋ฐ˜์˜ํ•  ๊ฒƒ์ธ์ง€ ๊ฒฐ์ •ํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด pre-training ๋‹จ๊ณ„์—์„œ๋Š” ๋ฒ”์šฉ์ ์ด๊ณ  ๊ฐ•๋ ฅํ•œ ํ‘œํ˜„์„ ํ•™์Šตํ•˜๊ฒŒ ๋œ๋‹ค.

 

Supervised fine-tuning

์œ„์˜ MLE ์ˆ˜์‹์œผ๋กœ๋ถ€ํ„ฐ ๋ชจ๋ธ์„ ํ•™์Šตํ•˜๊ณ  ๋‚˜๋ฉด, ํ•™์Šต๋œ ํŒŒ๋ผ๋ฏธํ„ฐ๋“ค์„ ๊ธฐ๋ฐ˜์œผ๋กœ supervised target task ์ง„ํ–‰ํ•˜์—ฌ ๋ชจ๋ธ ํ•™์Šต์„ ์ง„ํ–‰ํ•œ๋‹ค. $\mathcal C$์ด label๋œ ๋ฐ์ดํ„ฐ์…‹์ผ ๋•Œ, ๊ฐ instance๋Š” ์‹œํ€€์Šค๋“ค์˜ ์ž…๋ ฅ ํ† ํฐ $x^1,\dots,x^m$ ์œผ๋กœ ๊ตฌ์„ฑ, $y$๋Š” ํ•˜๋‚˜์˜ ์‹œํ€€์Šค์— ๋Œ€์‘๋˜๋Š” label์„ ์˜๋ฏธํ•œ๋‹ค.

์ž…๋ ฅ๊ฐ’์€ Transformer์˜ ๋งˆ์ง€๋ง‰ ๋ ˆ์ด์–ด์—์„œ ๋‚˜์˜จ ์ตœ์ข… hidden state ๊ฐ’($h_l^m$, ๊ฐ ํ† ํฐ ๋˜๋Š” ์ „์ฒด ์‹œํ€€์Šค์— ๋Œ€ํ•ด ํ•™์Šตํ•œ ์ตœ์ข… ๋ฌธ๋งฅ์  ํ‘œํ˜„)์„ ์˜๋ฏธํ•œ๋‹ค. ์ด ๋•Œ $l$์€ layer ๋ธ”๋ก ๋ฒˆํ˜ธ, $m$์€ ํ† ํฐ ์œ„์น˜๋ฅผ ์˜๋ฏธํ•˜๊ณ , ์ตœ์ข… hidden state๋Š” ๋งˆ์ง€๋ง‰ ์„ ํ˜• ์ถœ๋ ฅ Layer์—์„œ $W_y$ ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ์—ฐ์‚ฐ๋˜์–ด $y$๊ฐ’ ์˜ˆ์ธก์— ์‚ฌ์šฉ๋œ๋‹ค.

$$ P(y|x^1, \dots,x^m)=\text{softmax}(h_l^mW_y) $$

์ด๋ฅผ ์ˆ˜์‹์œผ๋กœ ์ •๋ฆฌํ•˜๋ฉด ์œ„์™€ ๊ฐ™์€๋ฐ, ์ž…๋ ฅ ํ† ํฐ์— ์˜ํ•ด ๊ฒฐ์ •๋˜๋Š” label ์ •๋ณด $y$๋Š” $\text{softmax}(h_l^mW_y)$ ๋ฅผ ํ†ตํ•ด ์—ฐ์‚ฐ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

์ตœ์ข…์ ์œผ๋กœ ์ง€๋„ ํ•™์Šต ๊ธฐ๋ฐ˜ ๋ฏธ์„ธ ์กฐ์ • ๋‹จ๊ณ„์—์„œ ์ตœ๋Œ€ํ™”ํ•ด์•ผํ•˜๋Š” ๋ชฉ์  ํ•จ์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

$$ L_2(\mathcal C)=\sum_{(x,y)}\log P(y|x^1, \dots, x^m) $$

 

๋‘ ๋‹จ๊ณ„์˜ ํ•™์Šต์„ ๊ณ ๋ คํ•œ ์ตœ์ข…์ ์ธ ๋ชฉ์ ํ•จ์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

$$ L_3(\mathcal C)=L_2(\mathcal C)+\lambda\ * \ L_1(\mathcal C) $$

- $L_1(\mathcal U)=\sum_i\log P(u_i|u_{i-k}, \dots, u_{i-1};\Theta)$

- $L_2(\mathcal C)=\sum_{(x,y)}\log P(y|x^1, \dots, x^m)$

 

์ž…๋ ฅ ๋ฐ์ดํ„ฐ ํ˜•์‹

GPT์˜ ๊ฒฝ์šฐ, ํ•˜๋‚˜์˜ ์–ธ์–ด ๋ชจ๋ธ์ด ๋ชจ๋ธ ๊ตฌ์กฐ์˜ ์ˆ˜์ • ์—†์ด ๋‹ค์–‘ํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ task๋ณ„ ์ž…๋ ฅ ๋ฌธ์žฅ๋“ค์„ ๋‹จ์ผ sequence๋กœ ํ‘œํ˜„ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ, ๊ฐ task๋ณ„๋กœ ์œ„์™€ ๊ฐ™์ด ๋‹ค์–‘ํ•œ ํ˜•ํƒœ๋กœ ๋ฌธ์žฅ ๊ตฌ์กฐ๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ ์ž…๋ ฅ sequence๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

 

Text entailment

์ „์ œ(premise, $p$) ๋ฌธ์žฅ๊ณผ ๊ฐ€์„ค(hypothesis, $h$) ๋ฌธ์žฅ์„ delimiter token($)์„ ์‚ฌ์ด์— ๋‘๊ณ  concat

 

๋ฌธ์žฅ ์œ ์‚ฌ๋„

๋‘ ๋ฌธ์žฅ ์‚ฌ์ด์— ์ „ํ›„๊ด€๊ณ„๋Š” ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋‘๊ฐ€์ง€ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋ชจ๋‘ ํฌํ•จ(A$B, B$A), ๊ฐ๊ฐ ๋…๋ฆฝ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋งˆ์ง€๋ง‰์— ๋‘ ๊ฐœ์˜ ๋ฌธ์žฅ ๊ฒฐํ•ฉํ•˜์—ฌ ์ตœ์ข… ํ‘œํ˜„ $h^m_l$ ์ƒ์„ฑ

 

์งˆ์˜์‘๋‹ต / ์ƒ์‹ ์ถ”๋ก 

Context document $z$, ์งˆ๋ฌธ $q$, ๊ฐ€๋Šฅํ•œ ๋‹ต์•ˆ ๋ชฉ๋ก $\{a_k\}$ ์ฃผ์–ด์ง

document text์™€ ์งˆ๋ฌธ๋“ค์„ ๊ฐ ๊ฐ€๋Šฅํ•œ ๋‹ต๋ณ€๋“ค๊ณผ concatํ•˜๊ณ , ๊ทธ ์‚ฌ์ด delimiter token ์ถ”๊ฐ€ํ•ด์„œ $[z;q;\$;a_k]$ ๋ชจ์–‘์˜ ์ž…๋ ฅ ์‹œํ€€์Šค ์ƒ์„ฑ

๊ฐ๊ฐ์˜ ์‹œํ€€์Šค๋“ค์€ ๋…๋ฆฝ์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋œ ํ›„ ๋งˆ์ง€๋ง‰์— softmax ์ ์šฉ๋˜์–ด ๊ฐ€๋Šฅํ•œ ๋‹ต๋ณ€๋“ค๋กœ๋ถ€ํ„ฐ ์ถœ๋ ฅ ๋ถ„ํฌ ์ƒ์„ฑ → ์ •๋‹ต์ธ ๋ฌธ์žฅ์ด ๊ฐ€์žฅ ๋†’์€ ํ™•๋ฅ ์„ ๊ฐ€์ง€๋„๋ก ํ•™์Šต๋จ.


GPT-2; Language Models are Unsupervised Multitask Learners

๋“ฑ์žฅ ๋ฐฐ๊ฒฝ

๊ธฐ์กด ML ๋ชจ๋ธ๋“ค์€ single-task learning์ด๋ผ๋Š” ๋ฌธ์ œ๊ฐ€ ์กด์žฌํ•œ๋‹ค. ํ•œ ๋„๋ฉ”์ธ์˜ ๋ฐ์ดํ„ฐ์…‹์— ๋Œ€ํ•ด ํ•˜๋‚˜์˜ task๋งŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ›ˆ๋ จํ•˜๋Š” ๊ฒƒ์€ ๊ฒฐ๊ตญ ์ผ๋ฐ˜ํ™” ๋Šฅ๋ ฅ์˜ ๋ถ€์กฑ์œผ๋กœ ์ด์–ด์ง„๋‹ค. ๊ทธ์— ๋”ฐ๋ผ ํ˜„์žฌ ๋ชจ๋ธ๋“ค๋กœ ๋‹ค์–‘ํ•œ task์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ณด๋‹ค ๋„“์€ ๋„๋ฉ”์ธ์˜ ๋ฐ์ดํ„ฐ์™€ ๋„“์€(broad) ํ•™์Šต์ด ํ•„์š”ํ•˜๋‹ค. NLP ๋ฌธ์ œ์ค‘์—์„œ๋Š” GLUE, decaNLP์™€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ์…‹์ด ๋Œ€ํ‘œ์ ์œผ๋กœ ๋‹ค์–‘ํ•œ task๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ œ์•ˆ๋œ ๋ฐ์ดํ„ฐ์…‹์ด๋‹ค.

์„œ๋ก ์„ ๋ณด๋ฉด ์•Œ๊ฒ ์ง€๋งŒ, multi-task learning์œผ๋กœ ์ ‘๊ทผํ•˜์—ฌ ์ด์ „ ๋ชจ๋ธ๋ณด๋‹ค ๋”์šฑ ๋” ๋ฒ”์šฉ์ ์ธ ์–ธ์–ด๋ชจ๋ธ์„ ๋งŒ๋“ค๊ณ ์ž ์ œ์•ˆ๋œ ๊ฒƒ์ด GPT-2 ์ด๋‹ค.

 

NLP์™€ multi-tasking?

์ด์ „ ์ƒํ™ฉ์—์„œ ์ผ๋ฐ˜ํ™” ์„ฑ๋Šฅ์ด ๋†’์€ ๋ชจ๋ธ์„ ์œ ๋„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํฐ ๋ฐ์ดํ„ฐ์…‹์ด ํ•„์š”ํ•˜๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์–ธ์–ด ๋ชจ๋ธ์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ์‹์€ ๋น„์ง€๋„ ํ•™์Šต ๊ธฐ๋ฐ˜ ์‚ฌ์ „ ํ•™์Šต + ์ง€๋„ํ•™์Šต ๊ธฐ๋ฐ˜ ๋ฏธ์„ธ ์กฐ์ • ๋‹จ๊ณ„์˜ ํ•™์Šต ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค(GPT-1๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ). ๊ทธ๋Ÿฌ๋‚˜ ์–ด์จŒ๋“  ์ด๋Ÿฌํ•œ ๋ฐฉ์‹๋“ค๋„ ์ง€๋„ํ•™์Šต ํ›ˆ๋ จ ๋ฐฉ์‹์ด ํ•„์š”ํ•˜๊ณ , ๋งŒ์•ฝ label๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ถ€์กฑํ•˜๋‹ค๋ฉด ์ข‹์€ ์„ฑ๋Šฅ์˜ ๋ชจ๋ธ์„ ๋‹ฌ์„ฑํ•˜๊ธฐ๊ฐ€ ์–ด๋ ค์šธ ๊ฒƒ์ด๋‹ค.

๊ทธ์— ๋”ฐ๋ผ GPT-2์—์„œ๋ถ€ํ„ฐ๋Š” ์–ธ์–ด ๋ชจ๋ธ์˜ '์ผ๋ฐ˜ํ™” ๋Šฅ๋ ฅ'์— ์กฐ๊ธˆ ๋” ์ดˆ์ ์„ ๋งž์ถฐ ์–ธ์–ด ๋ชจ๋ธ๊ณผ zero-shot learning์„ ์ ‘๋ชฉํ•˜์—ฌ fine-tuning ๋‹จ๊ณ„์˜ ๋น„์ค‘์„ ์ค„์ด๊ณ ์ž ํ•˜์˜€๋‹ค.

 

๋ฐฉ๋ฒ•๋ก 

์–ธ์–ด ๋ชจ๋ธ์€ ์ฃผ๋กœ ์ž…๋ ฅ ๊ธธ์ด๊ฐ€ ์ •ํ•ด์ง€์ง€ ์•Š์€ ํ† ํฐ๋“ค๋กœ ๊ตฌ์„ฑ๋œ ๋ฌธ์žฅ๋“ค๋กœ๋ถ€ํ„ฐ ๋ถ„ํฌ๋ฅผ ์ถ”์ •ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ•™์Šต์ด ์ง„ํ–‰๋œ๋‹ค(MLE). ๊ฐ๊ฐ์˜ ๋ฌธ์žฅ๋“ค์€ ์ •ํ•ด์ง„ '์—ฐ์†์  ์ˆœ์„œ'๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ด ํ† ํฐ๋“ค ๊ฐ„ ๊ฒฐํ•ฉ ํ™•๋ฅ ์€ ์กฐ๊ฑด๋ถ€ ํ™•๋ฅ  ์—ฐ์‚ฐ์˜ ๊ณฑ์œผ๋กœ ๋ถ„ํ•ดํ•˜์—ฌ ๊ณ„์‚ฐ ํ•˜๋Š”๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด๋‹ค.

$$ p(x)=\prod_{i=1}^np(s_n|s_1,\dots,s_{n-1}) $$

๋ญ”์†Œ๋ฆฌ๋ƒ๋ฉด transformer๊ฐ™์€ ๋ชจ๋ธ๋“ค์ด ์œ„์™€ ๊ฐ™์€ ์ˆ˜์‹์„ ํ†ตํ•ด ์กฐ๊ฑด๋ถ€ ํ™•๋ฅ  ์—ฐ์‚ฐํ•˜์—ฌ ํ™•๋ฅ  ๋ถ„ํฌ ์ค‘ ์ตœ๋Œ€ ํ™•๋ฅ ์ธ ํ† ํฐ๋“ค์„ ์—ฐ๋‹ฌ์•„ ์—ฐ์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ NLP task ์ฒ˜๋ฆฌ๋“ค์— ์žˆ์–ด ๋Œ€๋‹จํ•œ ์„ฑ๋Šฅ ๊ฐœ์„ ์„ ์ด๋ฃจ์–ด๋ƒˆ๋‹ค.

 

Single task learning์—์„œ๋Š” $p(output|input)$ ๋ฅผ ์ถ”์ •ํ•˜๋Š” ํ˜•ํƒœ๋กœ ํ•™์Šต์ด ์ง„ํ–‰๋œ๋‹ค๋ฉด, multi-task learning์—์„œ๋Š” ์ž…๋ ฅ๊ฐ’ ๋ฟ ์•„๋‹ˆ๋ผ task๊นŒ์ง€ ์กฐ๊ฑด์— ๊ณ ๋ ค๋˜์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, $p(output|input, task)$ ์™€ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ๋ชจ๋ธ์ด ์ •์˜๋˜์–ด์•ผ ํ•œ๋‹ค.(์ด๊ฑด ๊ทธ๋ƒฅ multi-task learning์˜ ์ผ๋ฐ˜์ ์ธ ๊ณต์‹์ด๋‹ค.)

 

 

๊ทธ๋ฆฌ๊ณ  ์–ธ์–ด๋Š” task, input, ouput์„ ๋ชจ๋‘ ์ผ๋ จ์˜ ํ† ํฐ/์‹ฌ๋ณผ๋กœ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์—ฐํ•œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•œ๋‹ค.

 

์˜ˆ์‹œ)

์˜์–ด -> ํ”„๋ž‘์Šค์–ด๋กœ ๋ฒˆ์—ญํ•˜๋Š” ๋ฒˆ์—ญ task์˜ ๊ฒฝ์šฐ, (task: translate to french, input: English text, output: French text)

์งˆ์˜์‘๋‹ต์˜ ๊ฒฝ์šฐ, (task: answer the question, input: document, output: answer)

 

 

์–ธ์–ด ๋ชจ๋ธ์€ ์ •ํ™•ํžˆ ์–ด๋–ค ํ† ํฐ์ด ์˜ˆ์ธก๋˜์–ด์•ผ ํ•˜๋Š” ํ† ํฐ์ธ์ง€? ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•˜๋Š” ์ง€๋„ํ•™์Šต ์ •๋ณด ์—†์ด๋„ ์›์น™์ ์œผ๋กœ๋Š” ํ•™์Šต์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.(์–ธ์–ด์—๋Š” ์ •ํ•ด์ง„ ์ •๋‹ต์ด ์—†์œผ๋ฏ€๋กœ). ๋‹ค์‹œ ๋งํ•˜๋ฉด, ๋‹จ์ˆœํžˆ 'ํ…์ŠคํŠธ ์ž์ฒด' ๋งŒ์„ ๋ณด๊ณ  ๊ทธ ๋‚ด๋ถ€์˜ ํŒจํ„ด์„ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, ์–ธ์–ด์— ๋Œ€ํ•ด ๋ช…์‹œ์ ์ธ “์ •๋‹ต”์ด ์ฃผ์–ด์ง€์ง€ ์•Š์•„๋„, ๋ชจ๋ธ์€ ํ…์ŠคํŠธ์˜ ํ™•๋ฅ  ๋ถ„ํฌ๋ฅผ ์ถ”์ •ํ•จ์œผ๋กœ์จ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์–ธ์–ด ํŒจํ„ด์„ ์ตํžˆ๊ฒŒ ๋œ๋‹ค.

 

๋”ฐ๋ผ์„œ GPT-2์—์„œ๋Š” ์ถฉ๋ถ„ํ•œ ํ•™์Šต ์—ญ๋Ÿ‰/๋ฒ”์šฉ์„ฑ์„ ๊ฐ–์ถ˜ ์–ธ์–ด ๋ชจ๋ธ์ด ์ž์—ฐ์–ด ์‹œํ€€์Šค ์•ˆ์— ๋‚ด์ œ๋œ ๋‹ค์–‘ํ•œ task๋ฅผ ์ž๋™์œผ๋กœ ์ถ”๋ก ํ•˜๊ณ  ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ตํžˆ๊ฒŒ ๋˜๋ฉด, ์–ด๋–ค ๋ฌธ์ œ์ธ์ง€ ์ƒ๊ด€ ์—†์ด ๋” ์ข‹์€ ์˜ˆ์ธก ์„ฑ๋Šฅ์„ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ๋˜๋ฉด ๊ถ๊ทน์ ์œผ๋กœ multi-task learning์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ์˜๋ฏธ๊ฐ€ ๋œ๋‹ค.

 

์ž…๋ ฅ ๋ฐ์ดํ„ฐ

GPT-2์—์„œ๋Š” WebText๋ผ๋Š” ๋ฐ์ดํ„ฐ์…‹์„ ์ƒˆ๋กœ ๊ตฌ์ถ•ํ•˜์˜€๋‹ค.

WebText๋Š” ๋ ˆ๋”ง(Reddit)์—์„œ 3๊ฐœ ์ด์ƒ ์ถ”์ฒœ(karma) ๋ฐ›์€ ๊ฒŒ์‹œ๊ธ€๋“ค์„ ์ˆ˜์ง‘ํ•˜์˜€๋‹ค. ์ด ์ถ”์ฒœ์ด ๋ฌด์Šจ ์˜๋ฏธ๋ƒ, ์œ ์ €๋“ค์ด ์ง์ ‘ ๋‚จ๊ธด ์ง€ํ‘œ์ด๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น ํฌ์ŠคํŠธ๊ฐ€ ํฅ๋ฏธ๋กญ๊ฑฐ๋‚˜, ์œ ์ตํ•˜๊ฑฐ๋‚˜, ์•„๋‹ˆ๋ฉด ์ตœ์†Œ ์žฌ๋ฏธ์žˆ๋Š” ๊ธ€์ด๋ผ๋Š” ์˜๋ฏธ๊ฐ€ ๋œ๋‹ค. ๊ทธ์— ๋”ฐ๋ผ ๋งค์šฐ ์ž˜ ์ •์ œ๋œ ๋ฐ์ดํ„ฐ์…‹์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.

 

๋ชจ๋ธ

GPT-1๊ณผ ๊ฑฐ์˜ ๋™์ผํ•œ ํ˜•ํƒœ์ด์ง€๋งŒ, ๋ช‡๊ฐ€์ง€๊ฐ€ ์ˆ˜์ •๋˜์—ˆ๋‹ค.

 

Layer normalization

๊ฐ sub-block์˜ ์ž…๋ ฅ์ธต์œผ๋กœ ์ด๋™ํ•˜์˜€๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ResNet์˜ ๊ตฌ์กฐ์™€ ๊ฑฐ์˜ ์œ ์‚ฌํ•œ ํ˜•ํƒœ๋ฅผ ๋„๊ฒŒ ๋˜์—ˆ๋‹ค.

 

์ตœ์ข… self-attention block ์ดํ›„์— layer normalization ์ถ”๊ฐ€

๋ชจ๋ธ์˜ ๊นŠ์ด๊ฐ€ ๊นŠ์–ด์งˆ์ˆ˜๋ก residual ์—ฐ๊ฒฐ ๊ฒฝ๋กœ๋ฅผ ํ†ตํ•ด ๋ˆ„์ ๋˜๋Š” ํšจ๊ณผ๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ๊ฐ€์ค‘์น˜ ์ดˆ๊ธฐํ™” ๋ฐฉ์‹์„ ์ˆ˜์ •ํ•˜์˜€๋‹ค. ์ฆ‰, ๊นŠ์€ ๋„คํŠธ์›Œํฌ์—์„œ residual ์—ฐ๊ฒฐ๋“ค์ด ์—ฌ๋Ÿฌ๋ฒˆ ๋ˆ„์ ๋˜๋ฉด์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์Šค์ผ€์ผ๋ง ๋ฌธ์ œ(e.g. ๊ธฐ์šฐ๋ฆฌ ์†Œ์‹ค/ํญ๋ฐœ)๋ฅผ ์™„ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ดˆ๊ธฐํ™” ๊ฐ’์„ ์กฐ์ •ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

 

์ดˆ๊ธฐํ™” ๋‹จ๊ณ„์—์„œ residual layer์˜ ๊ฐ€์ค‘์น˜๋ฅผ $1/\sqrt N$ ์œผ๋กœ ์ˆ˜์ •

์ด ๋•Œ, N์€ residual layer์˜ ์ˆ˜์ด๋‹ค.

 

ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ์˜ ํ™•๋Œ€

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋‹จ์–ด์˜ ์ˆ˜๋ฅผ 50,257๊ฐœ๋กœ ํ™•์žฅํ•˜์˜€๋‹ค.

Context size๋Š” 512์—์„œ 1,024 ํ† ํฐ์œผ๋กœ ์ฆ๊ฐ€์‹œ์ผฐ๋‹ค.

๋” ํฐ batch size(512)๋ฅผ ์‚ฌ์šฉํ•˜์˜€๋‹ค.

 

์ด๋ฅผ ํ†ตํ•ด GPT-2๋Š” ๊ธฐ์กด GPT-1์˜ ์•„ํ‚คํ…์ฒ˜๋ฅผ ํฌ๊ฒŒ ๋ฐ”๊พธ์ง€ ์•Š๋Š” ์„ ์—์„œ ๋ฐ์ดํŠธ์™€ ํ•™์Šต ์ ˆ์ฐจ๋ฅผ ํ™•์žฅํ•˜์—ฌ ๋”์šฑ ๊ฐ•๋ ฅํ•˜๊ณ  ๋ฒ”์šฉ์ ์ธ ์–ธ์–ด ๋ชจ๋ธ์„ ๊ตฌํ˜„ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.


GPT-3; Language Models are Few-Shot Learners

์—ฐ๊ตฌ ๋ฐฐ๊ฒฝ

๊ธฐ์กด์˜ fine-tuning ๊ธฐ๋ฐ˜ ์–ธ์–ด๋ชจ๋ธ๋กœ๋ถ€ํ„ฐ ๋ชจ๋ธ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜๋ฅผ ํ™•์žฅ(175B)์‹œํ‚ค๊ณ , fine-tuning ๋‹จ๊ณ„๋ฅผ ๊ฑด๋„ˆ๋›ด ์ƒํƒœ๋กœ 3๊ฐ€์ง€ ํ•™์Šต ํ”„๋ ˆ์ž„์›Œํฌ์— ์ ‘๋ชฉํ•˜์—ฌ ๋ฒ”์šฉ์ ์ธ ์–ธ์–ด๋ชจ๋ธ์„ ์„ค๊ณ„ํ•˜์˜€๋‹ค.

GPT-3์—์„œ๋Š” ๋ณด๋‹ค ์ผ๋ฐ˜ํ™” ๋Šฅ๋ ฅ์ด ํฐ ๋ชจ๋ธ์„ ์„ค๊ณ„ํ•˜๊ธฐ ์œ„ํ•ด

 

- ๋ชจ๋ธ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜๋ฅผ ์ฆ๊ฐ€์‹œํ‚ค๋ฉด ๋” ๋‹ค์–‘ํ•œ skill๊ณผ task๋ฅผ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋ณด์•˜๋‹ค.

- ๋ชจ๋ธ์˜ meta-learning ํ™œ์šฉ; ์–ธ์–ด ๋ชจ๋ธ์ด ๊ด‘๋ฒ”์œ„ํ•œ skill๊ณผ ํŒจํ„ด ์ธ์‹ ๋Šฅ๋ ฅ์„ ๊ฐœ๋ฐœํ•˜์—ฌ ๊ทธ ๋Šฅ๋ ฅ์„ ์ถ”๋ก ์— ํ™œ์šฉํ•˜์—ฌ ์›ํ•˜๋Š” task์— ๋น ๋ฅธ ์ ์‘์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ํ–ˆ๋‹ค.

 

๋‘ ๊ฐ€์ง€์˜ ๊ฐ€์„ค์„ ์„ธ์› ๊ณ ,

FSL/OSL/ZSL ์˜ ์„ธ๊ฐ€์ง€ ๊ด€์ ์—์„œ ์–ธ์–ด ๋ชจ๋ธ์„ ํ•ด์„ํ•˜๊ณ ์ž ํ•˜์˜€๋‹ค.

 

+ FSL/OSL/ZSL?

Zero-shot learning: ํ•™์Šต๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์•„๋‹Œ unknown label์ด ๋“ค์–ด์™”์„ ๋•Œ ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„๋ฅ˜(๊ทธ ์™ธ ๋‹ค์–‘ํ•œ task๋“ค ์ฒ˜๋ฆฌ)ํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์„ ๊ฐ€์ง„ ๋ชจ๋ธ

FSL(few-shot learning)๊ณผ OSL(one-shot learning)์€ ๋ฐ์ดํ„ฐ์˜ ์–‘์ด ํ•œ์ •๋˜์–ด์žˆ์„๋•Œ๋„ ํ•™์Šต์„ ํ†ตํ•ด task๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์ผ๋ฐ˜ํ™” ๋Šฅ๋ ฅ์ด ๋›ฐ์–ด๋‚œ ๋ชจ๋ธ

- fsl์—์„œ ๋” extremeํ•œ ์ƒํ™ฉ์ด osl

    · FSL: label ๋ณ„ ๊ทนํžˆ ์ผ๋ถ€์˜ ๋ฐ์ดํ„ฐ์…‹๋งŒ ํ•„์š”

    · OSL: label ๋ณ„ 1๊ฐœ์˜ ๋ฐ์ดํ„ฐ์…‹๋งŒ ์‚ฌ์šฉ

 

๋ฐฉ๋ฒ•๋ก 

๊ธฐ๋ณธ ์‚ฌ์ „ํ•™์Šต ๋ฐฉ์‹์€ GPT-2์™€ ๋ชจ๋ธ, ๋ฐ์ดํ„ฐ, ํ›ˆ๋ จ ๋ฐฉ์‹์€ ์œ ์‚ฌํ•˜๋‹ค. ๋‹ค๋งŒ ์ œ์•ˆํ•˜์˜€๋˜ ๋ชฉ์ ์— ๋งž๊ฒŒ ๋ชจ๋ธํฌ๊ธฐ, ๋ฐ์ดํ„ฐ์…‹, task ๋‹ค์–‘์„ฑ ๋“ฑ์„ ์กฐ๊ธˆ ํ™•๋Œ€ํ•˜์˜€๋‹ค.

in-context learning์˜ ์“ฐ์ž„์ƒˆ๋„ GPT-2์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ, ํ•ด๋‹น ์ž‘์—…์—์„œ๋Š” ์ปจํ…์ŠคํŠธ ๋‚ด์—์„œ ํ•™์Šต์„ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ์„ค์ •์„ ์ฒด๊ณ„์ ์œผ๋กœ ํƒ์ƒ‰ํ•œ๋‹ค.

→ GPT-2 ์ด์ „์˜ in-context learning vs GPT-3์—์„œ ์ œ์•ˆํ•˜๋Š” in-context learing

- GPT-2 ์ด์ „ ๋ชจ๋ธ: ์ œํ•œ์ ์ธ ๋งฅ๋ฝ ํ™œ์šฉ์œผ๋กœ, ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ๋‹จ์ˆœํžˆ ํŒจํ„ด ๋งค์นญํ•˜๋Š” ์ˆ˜์ค€์— ๊ฐ€๊นŒ์› ์Œ.

- GPT-3: ๋Œ€๊ทœ๋ชจ ์–ธ์–ด ๋ชจ๋ธ๋ง์„ ํ†ตํ•ด, ๋ฌธ๋งฅ ๋‚ด ์˜ˆ์‹œ ๋ช‡ ๊ฐœ๋งŒ์œผ๋กœ๋„ ์ƒˆ๋กœ์šด ํƒœ์Šคํฌ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” “in-context learning” ๋Šฅ๋ ฅ์„ ํฌ๊ฒŒ ๋Œ์–ด์˜ฌ๋ฆผ. ์ˆ˜์‹ญ~์ˆ˜๋ฐฑ์–ต ๋‹จ์œ„์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ง€๋‹Œ ์ดˆ๊ฑฐ๋Œ€ ์–ธ์–ด ๋ชจ๋ธ ์ตœ์ดˆ ์ œ์•ˆ

- ์ด๋กœ์จ GPT-3์˜ in-context learning์€ ์ด์ „ ์„ธ๋Œ€ ๋ชจ๋ธ๋“ค๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ, ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜์˜ ๊ธ‰์ฆ๊ณผ ๊ด‘๋ฒ”์œ„ํ•œ ํ•™์Šต์œผ๋กœ ์ธํ•ด “๋ฌธ๋งฅ์—์„œ ๊ทœ์น™์„ ์ฆ‰์„์—์„œ ์Šต๋“ํ•˜๊ณ  ์ ์šฉํ•˜๋Š”” ๋ชจ์Šต์— ํ›จ์”ฌ ๊ฐ€๊นŒ์›Œ์กŒ๋‹ค๋Š” ์ ์—์„œ ํฐ ์ฐจ๋ณ„์ ์ด ์กด์žฌํ•œ๋‹ค.

 

GPT-3์„ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ์›์น™/ํ•ญ๋ชฉ

Fine-Tuning

Fine-Tuning์€ ์ผ๋ฐ˜ํ™”๋œ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ตณ์–ด์ ธ์žˆ๋Š” ์ƒํƒœ๋‹ค. ์ฆ‰, ๊ธฐ์กด ๋ชจ๋ธ๋“ค์€ fine-tuning ๋‹จ๊ณ„์—์„œ ์ผ๋ฐ˜์ ์œผ๋กœ 1,000 ~ 100,000+๊ฐœ์˜ label๋œ example๋“ค ์‚ฌ์šฉํ•œ๋‹ค. Fine-tuning์˜ ์žฅ์ ์€ ๋‹ค์–‘ํ•œ ๋ฒค์น˜๋งˆํฌ ๋ฐ์ดํ„ฐ์…‹์—์„œ ๊ฐ•๋ ฅํ•œ ์„ฑ๋Šฅ์„ ์ž๋ž‘ํ•œ๋‹ค๋Š” ๊ฒƒ์ธ๋ฐ, ๋งค task๋งˆ๋‹ค ์ € ์ •๋„ ๊ทœ๋ชจ์˜ ๊ฑฐ๋Œ€ ๋ฐ์ดํ„ฐ์…‹์ด ํ•„์š”ํ•˜๊ณ , ์ผ๋ฐ˜ํ™” ๋Šฅ๋ ฅ์ด ์•ฝํ•ด ๋ถ„ํฌ ์™ธ ๋ฐ์ดํ„ฐ(out-of-distribution)์— ๋Œ€ํ•ด ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ณด์ด์ง€ ์•Š๋Š”๋‹ค. ๋˜ํ•œ, ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ๋กœ๋ถ€ํ„ฐ ๊ฑฐ์ง“๋œ feature์ด ํ•™์Šต๋  ์šฐ๋ ค๋กœ ์ธํ•ด ์ธ๊ฐ„ ์„ฑ๋Šฅ๊ณผ ๋น„๊ตํ•˜๊ธฐ ์–ด๋ ต๋‹ค.

 

- spurious features: ๋ชจ๋ธ์ด ์‹ค์ œ ํƒœ์Šคํฌ์™€ ๊ด€๋ จ ์—†๋Š”, ์šฐ์—ฐํžˆ ๋ฐ์ดํ„ฐ์— ๋‚˜ํƒ€๋‚œ ํŒจํ„ด์ด๋‚˜ ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ํ•™์Šตํ•  ์œ„ํ—˜์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธ

→ ๋”ฐ๋ผ์„œ ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” GPT-3๋ฅผ fine-tuningํ•˜์ง€๋Š” ์•Š์œผ๋‚˜, ๋‚˜์ค‘์˜ ํ•™์Šต ๋ฐฉํ–ฅ์„ฑ์„ ์œ„ํ•ด fine-tuning ๋  ์ˆ˜๋Š” ์žˆ์Œ

 

“Task-agnostic” : ํŠน์ • ํƒœ์Šคํฌ์— ๋งž๊ฒŒ ์กฐ์ •๋˜์ง€ ์•Š์€, ์ผ๋ฐ˜์ ์ธ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ ์˜๋ฏธ. GPT-3์€ ๊ธฐ์กด์˜ ์–ธ์–ด๋ชจ๋ธ์—์„œ ๋ณด์ด๋Š” pre-trainig → task-specific fine-tuning ๊ณผ์ •์ด ์•„๋‹Œ, pre-train ๋‹จ๊ณ„์˜ ์ผ๋ฐ˜ํ™” ๋Šฅ๋ ฅ๊ณผ in-context learning ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ค์–‘ํ•œ ํƒœ์Šคํฌ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Œ ๋ณด์—ฌ์ฃผ๊ณ ์ž ํ•จ. ์ด๋ฅผ ํ†ตํ•ด ์–ผ๋งˆ๋‚˜ ๋‹ค์–‘ํ•œ task์— ๋Œ€ํ•ด ‘๋ฒ”์šฉ์ ์ธ ์„ฑ๋Šฅ’์„ ๋ฐœํœ˜ํ•˜๋Š”์ง€๋ฅผ ์ธก์ •

 

๋ชจ๋ธ

๋ชจ๋ธ ๊ตฌ์กฐ ์ž์ฒด๋Š” GPT-2์™€ ๋งค์šฐ ์œ ์‚ฌํ•˜๋‹ค. GPT-2์—์„œ ์ œ์•ˆ๋˜์—ˆ๋˜ ์ดˆ๊ธฐํ™” ๋ฐฉ๋ฒ• ์ˆ˜์ •, input๋‹จ์—์„œ layer normalization ์ง„ํ–‰ํ•˜๋Š” pre-normalization ์ง„ํ–‰, reversible tokenization(de-tokenization)์€ ๋™์ผํ•˜๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.

๋‹จ, ์ผ๋ฐ˜์ ์œผ๋กœ Transformer์˜ attention์€ “dense attention”(๋ชจ๋“  ํ† ํฐ์ด ์„œ๋กœ์—๊ฒŒ ์ฃผ์˜๋ฅผ ๊ธฐ์šธ์ด๋Š” ๋ฐฉ์‹)์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ˜๋ฉด, GPT-3์—์„œ๋Š” ์ผ๋ถ€ ๋ ˆ์ด์–ด๊ฐ€ “locally banded sparse attention”(์ธ์ ‘ํ•œ, ๋˜๋Š” ๊ตญ์†Œ์ ์ธ ํ† ํฐ๋“ค๋ผ๋ฆฌ๋งŒ ์ฃผ์˜๋ฅผ ๊ธฐ์šธ์ด๋Š”, ํฌ์†Œํ•œ ํŒจํ„ด)์™€ dense attention์„ ๋ฒˆ๊ฐˆ์•„ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ๊ณ„์‚ฐ ํšจ์œจ์„ฑ์„ ๋†’์˜€๋‹ค.(Sparse Transformer์—์„œ ์ œ์•ˆ๋œ ๋ฐฉ์‹)

๋ชจ๋ธ์˜ ํฌ๊ธฐ์— ๋”ฐ๋ฅธ ์„ฑ๋Šฅ์„ ์ฆ๋ช…ํ•˜๊ธฐ ์œ„ํ•ด ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜๋ฅผ 125M ~ 175B๊นŒ์ง€ ๋‹ค์–‘ํ•˜๊ฒŒ ํ•œ 8๊ฐœ์˜ ๋ชจ๋ธ์„ ์ œ์•ˆํ•˜์˜€๋‹ค.

 

→ ์—ฌ๊ธฐ์„œ 175B์งœ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ฐ€์ง„ ๋ชจ๋ธ์„ GPT-3 ์ด๋ผ๊ณ  ์ •์˜

- $n_{layer}$๋Š” layer์˜ ์ „์ฒด ์ˆ˜

- $d_{model}$์€ ๊ฐ bottleneck layer ๋‚ด unit์˜ ์ˆ˜(feed forward layer ์ˆ˜๋Š” ๋Š˜ $d_{model}$์˜ 4๋ฐฐ)

- d_{head}๋Š” attention head์˜ ์ˆ˜

- ๋ชจ๋“  ๋ชจ๋ธ๋“ค์€ $n_{ctx}$=2048 ํ† ํฐ์˜ context window ์‚ฌ์šฉ

Comments