Abstract
Natural language์๋ unlabeled text์ ๋ฐ์ดํฐ ์๊ฐ labeled text์ ๋ฐ์ดํฐ ์๋ณด๋ค ํจ์ฌ ๋ง๋ค. ํด๋น ์ฌ์ค์ ๊ทผ๊ฑฐํ์ฌ OpenAI์์๋ ๋ค์ํ unlabeled text๋ฅผ ํ์ฉํ์ฌ ๋ชจ๋ธ์ generative ํ๊ฒ pre-train ์ํจ GPT ๋ชจ๋ธ์ ์ ์ํ๋ค. ํด๋น ๋ชจ๋ธ์ ์ด์ ๋ชจ๋ธ๋ค๋ณด๋ค ํจ์ฌ ๋ฐ์ด๋ ์ฑ๋ฅ์ ๋ณด์ฌ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์ฆ๋ช ํ๋ค.
Introduction
unlabeled data๋ก๋ถํฐ word-level ์ด์์ ์ ๋ณด๋ฅผ ๋์ด๋ด๋ ๊ฒ์ ๋ค์๊ณผ ๊ฐ์ ๋ ๊ฐ์ง์ ์ด์ ๋ก ์ด๋ ต๋ค:
- transfer์ ์ ์ฉํ text ํํ์ ๋ฐฐ์ฐ๋ ๊ฒ์ ์ด๋คํ ํํ์ ์ต์ ํ ๋ชฉ์ (optimation objectives)๊ฐ ์ข์์ง ๋ชจ๋ฅธ๋ค.
- ํ์ต๋ ํํ์ target task์ ์ ๋ฌํ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ด ๋ฌด์์ธ์ง์ ๊ดํ ์๊ฒฌ ์ผ์น๊ฐ ์๋ค.
์ด๋ฐ ๋ถ๋ถ๋ช ์ฑ์ด NLP์ ํจ๊ณผ์ ์ธ semi-supervised-learning์ ๋๋ฒจ๋กญํ๋ ๊ฒ์ ์ด๋ ค์์ ์ฃผ์๋ค.
ํด๋น ๋ ผ๋ฌธ์์๋ unsupervised pre-training๊ณผ supervised fine-tuning์ ๊ฒฐํฉํ semi-supervised ์ ๊ทผ์ ์๋ํ๋ค.
์ด ๋ ผ๋ฌธ์ ๋ชฉ์ ์ ์ ์ ๋ณํ๋ก ๋ค์ํ ์์ ์ transfer ํ ์ ์๋ ๋ณดํธ์ ์ธ ํํ๋ค์ ํ์ตํ๋ ๊ฒ์ด๋ค. ์ด๋ฅผ ์ํด์๋ ๋๋์ corpus of unlabeled text๊ฐ ํ์ํ๊ณ , ๋ชฉํ ์์ ์ ์ํ labeled data๊ฐ ํ์ํ๋ค. ์ด๋ฅผ ์ํด ๋ ๊ฐ์ง ๊ณผ์ ์ ๋ง๋ค์๋ค:
- Unlabeled data์ language modeling objective๋ฅผ ์ ์ฉ์์ผ ์ด๊ธฐ ํ๋ผ๋ฏธํฐ๋ฅผ ํ์ตํ๊ฒ ํ๋ค.
- ํด๋น ํ๋ผ๋ฏธํฐ๋ค์ labeled data๋ฅผ ์ด์ฉํ์ฌ target task์ fine-tuning์ํจ๋ค.
๋ชจ๋ธ ์ํคํ ์ฒ๋ก๋ transformer๋ฅผ ์ฌ์ฉํ๋๋ฐ, ์ด ๋ชจ๋ธ์ long-term(๊ธด) ๋ฐ์ดํฐ์ ๋ํด์๋ RNN๊ณผ ๊ฐ์ ์ด์ ๋ชจ๋ธ๋ค๋ณด๋ค ํจ์ฌ robust(ํผํผ)ํ ๊ฒฐ๊ณผ๋ฌผ์ ๋ด๋๋๋ค. transfer์์๋ traversal-style ์ ๊ทผ ๊ธฐ๋ฐ์์ ์ฌ์ฉ๋ task์ ํน์ ์ ์ธ input adaptation์ ์ฌ์ฉํ๋ค. ์ด๋ task๋ง๋ค ์๊ตฌํ๋ input text๋ฅผ ์ฐ์์ ์ธ ์ฑ๊ธ ์ํ์ค๋ก ๋ณํํ๋ ๊ฒ์ด๋ค. ์ฆ task์ ๋ง๋ ๋ฏธ์ธ์กฐ์ ์ ์ํด์ pre-trained ๋ชจ๋ธ์ ์ถ๋ ฅ์ ๋ณํ์ํจ ๊ฒ์ด๋ค. ์ด ๋๋ฌธ์ pre-trained ๋ชจ๋ธ์ ์ถ๋ ฅ๋ง ๋ฐ๊ฟ๋ ๋ค์ํ ์์ ์ ๋ฏธ์ธ์กฐ์ ์ด ๊ฐ๋ฅํ๋ค.
Related Work
Semi-supervised learning for NLP : ์ด๊ธฐ ์ฐ๊ตฌ์์๋ unlabeled data๋ฅผ ์ฌ์ฉํด์ word-level์ด๋ phrase-level์ ๊ณ์ฐํ๊ณ ์ด๋ฅผ feature๋ก ์ฌ์ฉํ์ฌ ์ง๋ํ์ต์ ์ ์ฉ์์ผฐ๋ค. ์ง๋ ๋ช ๋ ๊ฐ์ ์ฐ๊ตฌ๋ค์์๋ unlabeled corpora๋ก ํ๋ จ๋ ๋จ์ด ์๋ฒ ๋ฉ์ ์ฌ์ฉํ์ฌ ๋ค์ํ ์์ ์ ์ฑ๋ฅ์ ๋ฐ์ ์ ๊ฐ์ ธ๋ค์ฃผ์๋ค. ๊ทธ๋ฌ๋ ์ด๋ฐ ์ ๊ทผ ๋ฐฉ์๋ค์ ์ฃผ๋ก ๋จ์ด ์์ค์ ์ ๋ณด๋ฅผ transfer ํ๋ค๋ ์ ์์ ํ๊ณ๊ฐ ์์ผ๋ฉฐ, ๋ณธ ๋ ผ๋ฌธ์ ์ด๋ณด๋ค ๋ ๋์ ์์ค์ ์ ๋ณด๋ฅผ transfer ํ๊ณ ์ ํ๋ค. ์ต๊ทผ ์ฐ๊ตฌ๋ค์์๋ unlabeled data์์ ๋จ์ด ์์ค์ ์๋ฏธ๋ฅผ ๋์ด์ ๋ ๊ณ ์ฐจ์์ ์ธ ๋ฌธ๋งฅ ์์ค(phrase-level)์ด๋ ๋ฌธ์ฅ ์์ค(sentence-level)์ ์๋ฒ ๋ฉ์ ์๋ํ๊ธฐ ์์ํ๋ค.
Unsupervised pre-training): ๋น์ง๋ ์ฌ์ ํ์ต์ ์ข์ ์์์ (initialization point)์ ์ฐพ๋ ๊ฒ์ด ๋ชฉํ๋ผ๋ ์ ์์ ์ค์ง๋ํ์ต์ ํน๋ณํ ์ ํ์ด๋ค. ์ด๊ธฐ ์ฐ๊ตฌ๋ค์์๋ ์ด๋ฅผ ์ด๋ฏธ์ง ๋ถ๋ฅ์ ํ๊ท ๋ฌธ์ ์ ์ฌ์ฉํ๊ณ , ์ดํ ์ฐ๊ตฌ๋ค์์๋ ์ฌ์ ํ์ต์ด ์ฐ์ํ ์ ๊ทํ(regularization)๋ก ์์ฉํ๋ค๋ ๊ฒ์ ์ฆ๋ช ํ์์ผ๋ฉฐ, ์ด๋ DNN์์์ ์ผ๋ฐ์ฑ์ ๋์ฌ์ฃผ์๋ค.
ํด๋น ๋ ผ๋ฌธ๊ณผ ๋น์ทํ ์ฐ๊ตฌ๋ก๋ ์ธ์ด ๋ชจ๋ธ objective๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ ํ์ต์ ์งํํ๊ณ , ์ด๋ฅผ ๋ชฉํ ์์ ์ ์ํด ๋ฏธ์ธ์กฐ์ ํ๋ ์ฐ๊ตฌ๊ฐ ์์๋ค. ๊ทธ๋ฌ๋ ์ด ์ฐ๊ตฌ์์๋ ์ฌ์ ํ์ต์ ํ ๋ ์ธ์ด์ ์ ๋ณด๋ฅผ ์ป๊ธฐ ์ํด LSTM์ ์ฌ์ฉํ๋๋ฐ, ์ด ๋๋ฌธ์ ์งง์ ๋ฒ์์ ๋ฐ์ดํฐ์์๋ง ๋ชจ๋ธ์ด ์ ํจํ๋ค. ๊ทธ๋ฌ๋ ๋ณธ ๋ ผ๋ฌธ์์๋ transformer๋ฅผ ์ฌ์ฉํ์ฌ ๊ธด ๋ฒ์์ ๋ฐ์ดํฐ์์๋ ์ ํจํ๋๋ก ํ๋ค. ๋ํ ๋ ํฐ ๋ฒ์์ ์์ ์์๋ ์ ์ฉํ๋ฐ, ์ด๋ ์์ฐ์ด ์ถ๋ก , paraphrase ๊ฐ์ง, ๊ทธ๋ฆฌ๊ณ story completion๋ฅผ ํฌํจํ๋ค. ๋ํ ๋ค๋ฅธ ์ฐ๊ตฌ๋ค์์๋ ๋ชฉํ ์์ ์ ์ํ ์ง๋ํ์ต์ ์งํํ ๋ ์ฌ์ ํ์ต์ด๋ ๊ธฐ๊ณ ๋ฒ์ญ ๋ชจ๋ธ์์ ๊ฐ์ ธ์จ ์๋ ํํ(hidden representation)์ ๋ณด์กฐ feature๋ก์จ ํ์ฉํ๋๋ฐ, ์ด๋ ๊ฐ ์์ ์ ์ํ ์๋นํ ์์ ์๋ก์ด ํ๋ผ๋ฏธํฐ๋ฅผ ์๊ตฌํ๋ค. ์ด์ ๋นํด ๋ณธ ๋ ผ๋ฌธ์ ๋ชจ๋ธ์ transfer ์ ๋ชจ๋ธ ๊ตฌ์กฐ์ ๋ํด ์ต์ํ์ ๋ณํ๋ง์ ์๊ตฌํ๋ค.
Auxiliary training objectives: ๋ณด์กฐ ๋น์ง๋ ํ์ต ๋ชฉ์ ํจ์๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ ์ค์ง๋ํ์ต์ ๋์์ ๊ฐ๊น๋ค. ์ด๊ธฐ ์ฐ๊ตฌ์์๋ POS tagging๊ณผ ๊ฐ์ ๋ณด์กฐ NLP ์์ ์ ์ฌ์ฉํ์ฌ sementic role labeling์ ๊ฐ์ ํ์์ผ๋ฉฐ, ์ต๊ทผ์๋ ๋ณด์กฐ ์ธ์ด ๋ชจ๋ธ๋ง ๋ชฉ์ ํจ์๋ฅผ target task์ ๋ชฉ์ ํจ์์ ์ฌ์ฉํ์ฌ ์ํ์ค ๋ผ๋ฒจ๋ง์์์ ์ฑ๋ฅ์ ๊ฐ์ ์ ์ฆ๋ช ํ๋ค. ๋ณธ ๋ ผ๋ฌธ์ ์คํ์์๋ ๋ณด์กฐ ๋ชฉ์ ํจ์๋ฅผ ์ฌ์ฉํ๋๋ฐ, ๋น์ง๋ ์ฌ์ ํ์ต ์์ฒด๊ฐ ์ด๋ฏธ ๋ชฉํ ์์ ๊ณผ ์ฐ๊ด๋ ์ธ์ด์ ์ ๋ณด๋ฅผ ํ์ตํ๋ค.
- ๋จ์ด ์์ค๋ณด๋ค ๋ ๊ณ ์ฐจ์์ ์ธ ์์ค์ ์ ๋ณด๋ฅผ transfer ํ๊ณ ์ ํ๋ค(๋ฌธ๋งฅ ์์ค, ๋ฌธ์ฅ ์์ค ๋ฑ)
- ๋น์ง๋ ์ฌ์ ํ์ต์ ๋ชฉํ๋ ์ข์ ์์์ ์ ์ฐพ๋ ๊ฒ์ด๋ค.
- Transformer๋ฅผ ์ฌ์ฉํ์ฌ ๊ธด ๋ฒ์์ ๋ฐ์ดํฐ์์๋ ์ ํจํ๋ค.
- Transfer์ ์ต์ํ์ ๋ณํ๋ง์ ์๊ตฌํ๋ค
Framework
์์์ ๋งํ๋ฏ์ด, GPT์ ํ์ต์ unsupervised pre-training๊ณผ supervised fine-tuning์ ๋จ๊ณ๋ก ์ด๋ฃจ์ด์ง๋ค.
1. Unsupervised pre-training
GPT๋ ์ฃผ์ด์ง embedding๋ค์ ๋ํด transformer์ decoding block๋ค๋ง ์ฌ์ฉํ๊ฒ ๋๊ณ , ๊ทธ๋ ๊ฒ ๊ฒฐ๊ณผ๋ฌผ์ ์์ธกํ๋ค.
์ ์์์ ์ ์ถํ ์ ์๋ฏ์ด, ๋ฐ๋ก ์ ๋จ๊ณ์์ k๋ฒ์งธ ์ด์ ๋จ๊ณ๊น์ง์ token๋ค์ ์ดํด๋ณธ ์ดํ์, ๊ทธ๊ฒ์ ๋ฐํ์ผ๋ก i๋ฒ์งธ ๋จ์ด๊ฐ ๋ฌด์์ธ์ง์ ๋ํ likelihood๋ฅผ ์ต๋ํ์ํค๋ ๊ฒ์ด unsupervied pre-training์ ๋ชฉ์ ์ด๋ค.
๋ ์์ธํ ์์ผ๋ก ๋ณด์๋ฉด,
์ ์์์ ๊ฐ ๋ณ์๋ค์ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ๋ค:
- U = (u_(-k),...., u_(-1)): token๋ค์ context vector
- n: layer์ ๊ฐ์ (์์ ์ฌ๋ฆฐ decoder block์ ๊ฐ์, ํ์ดํผ ํ๋ผ๋ฏธํฐ)
- We: token embedding matrix
- Wp: position embedding matrix
์ฐ์ ํ ํฐ๋ค์ context vector๊ฐ ์ ๋ ฅ๋๊ณ token embedding, position embedding์ ์์ ์ ๊ฑฐ์ณ h0๊ฐ ์์ฑ๋๋ค.
์ดํ, h_(l-1) ๋ฒ์งธ ํญ๋ชฉ์ transformer์ n๋ฒ๋งํผ decoder ๋ถ๋ถ์ ํต๊ณผ์ํค๊ณ , ์ต์ข ์ ์ผ๋ก feed forward network, softmax ํจ์๋ฅผ ๊ฑฐ์ณ ๋ง์ง๋ง ํ๋ฅ ์ ๊ณ์ฐํ๋ค.
์ด๋ ์ค์ํ ์ ์ ํ ํฐ์ processing ํ ๋, masked self-attention์ ์ฌ์ฉํ๋ค๋ ์ ์ด๋ค.
(masked self-attention: ๋ด๊ฐ processing ํ๊ณ ์ ํ๋ token์ ๋ค์ sequence์ token๋ค์ ์ฌ์ฉํ์ง ์๋๋ค)
2. Supervised fine-tuning
y๋ผ๋ label์ด ์ฃผ์ด์ง x_1๋ถํฐ x_m๊น์ง์ ํ ํฐ๋ค์ sequence๊ฐ input์ผ๋ก ๋ค์ด์ค๊ฒ ๋๋ฉด, ํด๋น input๋ค์ pre-trained model์ ๋ค์ด๊ฐ final transformer block's activation h_l^m์ ์ป๊ฒ ๋๋ค.
์ดํ, h_l^m์ ์๋ก์ด linear output layer์ ๋ฃ์ด ์์ธกํ๋ค.
์ฆ, GPT์ unsupervised hidden state์ธ x^m์ hidden state block์ ๊ฐ์ ธ๋ค๊ฐ linear layer์ ๋ฃ๊ณ , softmax ํจ์๋ฅผ ๊ฑฐ์ณ ์ต์ข ํ๋ฅ ์ ๊ณ์ฐํ๋ค๋ ๊ฒ์ด๋ค. ํด๋น ํ๋ฅ ์ด ์๋ ๊ทธ๋ฆผ์ L2๊ฐ ๋๋ค.
์ดํ, ์ ์๋ค์ ์ ๋จ๊ณ๋ค์ ํตํด ๋ ํจ๊ณผ์ ์ผ๋ก ํ์ตํ๋ ๋ฐฉ๋ฒ์ ์์๋๋ค.
1. L1(U)๋ฅผ ํตํด language model์ pre-training ํ๊ณ ,
2. ์ดํ task-specific ํ dataset์ด ์ฃผ์ด์ง๋ฉด, ํด๋นํ๋ dataset์ ๋ํ language ๋ชจ๋ธ์ fine-tuning๊ณผ, supervised learning์ ํด๋นํ๋ ๋ชฉ์ ํจ์๋ฅผ ํจ๊ป ๊ฒฐํฉํ์ฌ ๊ทน๋ํํ๋ฉด ๋ ์ข์ ์ฑ๋ฅ์ด ๋ํ๋๋ ๊ฒ์ ๋ณด์๋ค.
3. Task-specific input transformation
์์ ๊ฐ์ด classification, entailment, similarity, multiple choice ๋ฑ์ task๊ฐ ์๋ค.
๊ฐ๊ฐ์ task์ ๋ํ์ฌ input์ ์์ ๊ฐ์ด ๋ค๋ฅด๊ฒ ๋ง๋ค๋ฉด ํจ์ฌ ํจ๊ณผ์ ์ด์์์ ์ ์ ์๋ค.
Experiments
์ ๊ทธ๋ฆผ์์, ์ผ์ชฝ์์ ๋ณด๋ฏ์ด, decoding block์ ์์์๋ก ์ฑ๋ฅ์ด ์ ์ ์ข์์ก๋ค. (๋ ผ๋ฌธ์์๋ ์ต๋ 12๊ฐ๊น์ง ์์๋ค.)
์ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์์ ๋ณด๋ฏ์ด, fine tuning๊ณผ zero-shot ๋ฐฉ๋ฒ์ ๋น๊ตํ์ ๋, fine-tuning์ ์งํํ๋ฉด ์ฑ๋ฅ์ด ๋ ์ข์์ง์ ์ ์ ์์๋ค.