Week 13. Transformer์ LLM
RNN์ ์์ ํ ๋ฒ๋ฆฌ๊ณ ์ดํ ์ ๋ง์ผ๋ก ๋ง๋ ํธ๋์คํฌ๋จธ. ๊ทธ ์์์ ์๋ผ๋ GPTยทBERTยทChatGPT ๊ฐ์กฑ ์ด์ผ๊ธฐ.
์ด๋ฒ ์ฃผ์ ๋ฐฐ์ฐ๋ ๊ฒ
- "Attention Is All You Need" โ 2017๋ ์ ์ถฉ๊ฒฉ
- Self-Attention์ QยทKยทV
- Multi-Head Attention
- ์์น ์ธ์ฝ๋ฉ
- BERT, GPT, ๊ทธ๋ฆฌ๊ณ LLM
- ์ํ๋ง๊ณผ ์จ๋
1. RNN์ ๋ฒ๋ฆฌ๊ณ ์ดํ ์ ๋ง โ 2017๋ ์ ์ถฉ๊ฒฉ
2017๋ 6์, ๊ตฌ๊ธ Brain์ Vaswani ๋ฑ 8๋ช ์ด ๋ฐํํ ๋ ผ๋ฌธ "Attention Is All You Need"๋ ๋ฅ๋ฌ๋ ์ญ์ฌ์ ๊ฐ์ฅ ํฐ ํ์ฅ์ ์ผ์ผํจ ๋ ผ๋ฌธ ์ค ํ๋์ ๋๋ค. ์ ๋ชฉ ๊ทธ๋๋ก "์ดํ ์ ๋ง ์์ผ๋ฉด ์ถฉ๋ถํ๋ค" โ RNN๋, CNN๋, ์๋ฌด๊ฒ๋ ํ์ ์๊ณ W12 ยง4 ์ดํ ์ ์์ ๋ณธ self-attention๊ณผ ๋ช ๊ฐ์ MLP๋ง์ผ๋ก ์ํ์ค๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ค๋ ์ฃผ์ฅ์ ๋ด๊ณ , ์ด๋ฅผ ์ค์ ๋ก ๊ตฌํํ ๋ชจ๋ธ์ด ๋ฐ๋ก Transformer์ ๋๋ค.
์ RNN์ ๋ฒ๋ฆฌ๋ ค ํ์๊น์? ์ธ ๊ฐ์ง ํต์ฌ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค:
- ๋ณ๋ ฌํ ๋ถ๊ฐ โ RNN์ ์์ $t$์ ๊ณ์ฐ์ด $t-1$์ ๊ฒฐ๊ณผ์ ์์กดํ๋ฏ๋ก ์์ฐจ์ ์ผ๋ก๋ง ๊ณ์ฐํ ์ ์์ต๋๋ค. 1000 ๋จ์ด ๋ฌธ์ฅ์ด๋ฉด 1000๋ฒ์ ์ค์ค์ด ํด์ผ ํจ. GPU์ ์์ฒ ๊ฐ ์ฝ์ด๊ฐ ๋๋ถ๋ถ ๋๊ณ ์์ต๋๋ค.
- ์ฅ๊ฑฐ๋ฆฌ ์์กด์ฑ์ ์ด๋ ค์ โ LSTM์ด ์ํ๋ ํ์ง๋ง, ์ฌ์ ํ ๋งค์ฐ ๋จผ ๋จ์ด ์ฌ์ด ๊ด๊ณ๋ ์ฝํฉ๋๋ค. ๊ฐ ์ ๋ณด๊ฐ ์ฌ๋ฌ LSTM ์ ์ ๊ฑฐ์น๋ฉฐ ๋ณํ๋ฉ๋๋ค.
- ๊ฒฝ๋ก ๊ธธ์ด โ ํ ํฐ $i$์ $j$ ์ฌ์ด ์ ๋ณด ๊ตํ์ ๊ฒฝ๋ก ๊ธธ์ด๊ฐ $O(|i-j|)$. ๋จผ ํ ํฐ์ ๋ง์ ๋จ๊ณ๋ฅผ ๊ฑฐ์ณ์ผ ์๋ก๋ฅผ "๋ณธ๋ค".
Transformer๋ ์ด ๋ชจ๋๋ฅผ ํ ๋ฒ์ ํด๊ฒฐํฉ๋๋ค. Self-attention์์๋:
- ์์ ๋ณ๋ ฌ โ ๋ชจ๋ ํ ํฐ์ด ๋ชจ๋ ํ ํฐ๊ณผ ๋์์ ์ํธ์์ฉํ๋ฏ๋ก GPU์์ ์ต์ .
- ๊ฒฝ๋ก ๊ธธ์ด $O(1)$ โ ์ด๋ค ๋ ํ ํฐ๋ ํ ๋ฒ์ ์ดํ ์ ์ผ๋ก ์ง์ ์ฐ๊ฒฐ. ์ฅ๊ฑฐ๋ฆฌ ์์กด์ฑ์ด ์ฌ๋ผ์ง.
- ํด์ ๊ฐ๋ฅ โ ์ดํ ์ ๊ฐ์ค์น๊ฐ "์ด๋ค ๋จ์ด๊ฐ ์ด๋ค ๋จ์ด๋ฅผ ๋ณด๋์ง"๋ฅผ ์ง์ ๋ณด์ฌ์ค.
๋๊ฐ๊ฐ ์๊ธด ํฉ๋๋ค โ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ์ํ์ค ๊ธธ์ด์ $O(n^2)$๋ก ์ฆ๊ฐํฉ๋๋ค. ํ์ง๋ง GPU ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋น ๋ฅด๊ฒ ์ปค์ง๋ฉด์ ์ด ํ๊ณ๋ ์ ์ ๋ ์ค์ํด์ก๊ณ , ์ต๊ทผ์ Flash Attention, sparse attention ๊ฐ์ ๊ธฐ๋ฒ์ผ๋ก ๋ ์ํ๋๊ณ ์์ต๋๋ค.
2. Self-Attention โ QยทKยทV ์ผ๊ฐ๊ด๊ณ
Self-attention์ "๊ฐ ํ ํฐ์ด ๋๋จธ์ง ๋ชจ๋ ํ ํฐ์ ์ฐธ์กฐํ๋ค"๋ ์๊ฐ์ ๊ตฌํํฉ๋๋ค. ๊ตฌํ ๋ฐฉ์์ ์๋ฆฌํฉ๋๋ค. ๊ฐ ํ ํฐ ํํ $x_i$๋ฅผ ์ธ ๊ฐ์ ํ์ต ๊ฐ๋ฅํ ํ๋ ฌ๋ก ํฌ์ํด ์ธ ๊ฐ์ ๋ฒกํฐ๋ฅผ ๋ง๋ญ๋๋ค:
$$ \mathbf q_i = W^Q x_i, \quad \mathbf k_i = W^K x_i, \quad \mathbf v_i = W^V x_i $$- Query $\mathbf q$: "๋ด๊ฐ ์ง๊ธ ์ฐพ๋ ๊ฒ์ ํน์ง" โ ์ด ํ ํฐ์ด ๊ถ๊ธํด ํ๋ ์ง๋ฌธ
- Key $\mathbf k$: "๋ด๊ฐ ๊ฐ์ง ๊ฒ์ ํ์ง" โ ๋ค๋ฅธ ํ ํฐ๋ค์ด ์์ ์ ๊ด๊ณ ํ๋ ๋ผ๋ฒจ
- Value $\mathbf v$: "๋ด ์ค์ ๋ด์ฉ" โ ๋งค์นญ๋๋ฉด ์ ๋ฌ๋ ์ ๋ณด ๋ณธ์ฒด
๋น์ ํ์๋ฉด, ๋์๊ด์์ ์ฑ ์ ์ฐพ๋ ์ฅ๋ฉด๊ณผ ๊ฐ์ต๋๋ค. ๋ด๊ฐ "๋จธ์ ๋ฌ๋์ ๊ดํ ์ฑ ์ ์ฐพ๋๋ค"(Query)๊ณ ํ๋ฉด, ๊ฐ ์ฑ ์ ๊ฒํ์ง์ ์ฐ์ธ ์ ๋ชฉยทํค์๋(Key)์ ๋น๊ตํด ์ผ์น ์ ์๋ฅผ ๋งค๊ธฐ๊ณ , ๊ฐ์ฅ ์ ๋ง๋ ์ฑ ์ ์ค์ ๋ด์ฉ(Value)์ ๊ฐ์ ธ๋ค ์ฝ๋ ๊ฒ. Self-attention์ ์ด๊ฑธ ํ ๋ฒ์ ๋ชจ๋ ์ฟผ๋ฆฌ์ ๋ชจ๋ ํค์ ๋ํด ์ํํฉ๋๋ค.
์์์ผ๋ก๋ ๋๋๋๋ก ๋จ์ํฉ๋๋ค:
$$ \text{Attention}(Q, K, V) = \text{softmax}\!\left(\frac{Q K^\top}{\sqrt{d_k}}\right) V $$ํด์ฒดํด์ ์ฝ์ด๋ด ์๋ค:
- $QK^\top$ โ ๋ชจ๋ ์ฟผ๋ฆฌ์ ๋ชจ๋ ํค์ ๋ด์ . ๊ฒฐ๊ณผ๋ $n \times n$ "์ ์ฌ๋ ํ๋ ฌ". ์ $(i, j)$๋ "ํ ํฐ $i$๊ฐ ํ ํฐ $j$์ ์ผ๋ง๋ ๊ด์ฌ ์๋๊ฐ".
- $\div \sqrt{d_k}$ โ ํค ์ฐจ์์ ์ ๊ณฑ๊ทผ์ผ๋ก ๋๋. ์ ์ด๊ฒ ํ์ํ์ง๋ ์๋ ยง2.1์์.
- $\text{softmax}$ โ ๊ฐ ํ์ ํ๋ฅ ๋ถํฌ๋ก ์ ๊ทํ. ํ ํฐ $i$๊ฐ ๋ค๋ฅธ ํ ํฐ๋ค์ ์ผ๋ง๋ ์ฃผ์๋ฅผ ์ค์ง ํฉ์ด 1์ด ๋๊ฒ.
- $\cdot V$ โ ์ด ๊ฐ์ค์น๋ก Value ๋ฒกํฐ๋ค์ ๊ฐ์ค ํ๊ท . ๊ฒฐ๊ณผ๋ ํ ํฐ $i$์ ์ ํํ.
์ด ํ ์ค์ด Transformer์ ์ ๋ถ์ด์ ์ต์ LLM์ ์ฌ์ฅ์ ๋๋ค.
2.1 ์ $\sqrt{d_k}$๋ก ๋๋๋๊ฐ
์์ ๋ํ ์ผ์ฒ๋ผ ๋ณด์ด์ง๋ง ์ค์ํฉ๋๋ค. ์ฐจ์ $d_k$๊ฐ ํฌ๋ฉด $Q$์ $K$์ ๋ด์ ์ด ํฐ ๋ถ์ฐ์ ๊ฐ์ง๋๋ค (๊ฐ ์์์ ๋ถ์ฐ์ด $O(d_k)$). softmax์ ์ ๋ ฅ์ด ๋๋ฌด ํฌ๋ฉด ํ ๊ฐ์ด ์ง๋ฐฐํด ๊ทธ๋๋์ธํธ๊ฐ ๊ฑฐ์ 0์ด ๋ฉ๋๋ค (softmax๊ฐ "๋ ์นด๋ก์"์ ธ์ one-hot์ ๊ฐ๊น์์ง โ ํ์ต ์ ํธ ์ฆ๋ฐ). $\sqrt{d_k}$๋ก ๋๋๋ฉด ๋ด์ ์ ๋ถ์ฐ์ด $O(1)$๋ก ์ ์ง๋์ด softmax๊ฐ ๋ถ๋๋ฌ์ด ๋ถํฌ๋ฅผ ๋ง๋ค๊ณ ๊ทธ๋๋์ธํธ๊ฐ ๊ฑด๊ฐํ๊ฒ ํ๋ฆ ๋๋ค. ์์ ์ํ์ ์ธ๋ถ์ง๋ง ์ด ํ ์ ์์ผ๋ฉด Transformer๋ ํ์ต์ด ์ ๋ฉ๋๋ค.
2.2 ๊ฐ๋จํ ์์๋ก QยทKยทV ๊ฐ ์ก๊ธฐ
"The cat sat on the mat"๋ผ๋ 6๋จ์ด ๋ฌธ์ฅ์ ์๊ฐํด๋ด ์๋ค. ๊ฐ ๋จ์ด๊ฐ 3์ฐจ์ ์๋ฒ ๋ฉ์ด๋ผ๊ณ ์น๊ณ , "cat"์ด๋ผ๋ ๋จ์ด์ ํํ์ด self-attention์ ํตํด ์ด๋ป๊ฒ ๊ฐฑ์ ๋๋์ง ์์ํด๋ด ์๋ค. "cat"์ Query๋ "๋๋ ๋๋ฌผ์ด๊ณ , ๋ด ํ๋๊ณผ ์์น๊ฐ ๊ถ๊ธํด"๋ผ๋ ์๋ฏธ๋ฅผ ๋ด์ ์ ์์ต๋๋ค. ๊ฐ ๋จ์ด์ Key๋ "sat: ๋์์ด์ผ", "mat: ์ฅ์์ผ" ๋ฑ. ๋ด์ ํ๋ฉด "sat"์ "mat"์ด ๋์ ์ ์๋ฅผ ๋ฐ๊ณ , softmax๋ก ๊ฐ์ค์น๊ฐ ๋์ด ๊ทธ๋ค์ Value๊ฐ "cat"์ ์ ํํ์ ์์ ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก "cat"์ ์ด์ "์๊ธฐ ์์ + ์๊ธฐ๊ฐ ํ ํ๋(sat) + ์๊ธฐ๊ฐ ์๋ ๊ณณ(mat)"์ ํ๋ถํ ์๋ฏธ๋ฅผ ๋ด์ ์ ๋ฒกํฐ๊ฐ ๋ฉ๋๋ค. ์ด ๊ณผ์ ์ ๋ชจ๋ ํ ํฐ์ด ๋ณ๋ ฌ๋ก ์ํ.
๐ฎ ์ธํฐ๋ํฐ๋ธ: Self-Attention ํ๋ ฌ
5๋จ์ด ๋ฌธ์ฅ์ QยทK^T ํ๋ ฌ์ ์๊ฐํํฉ๋๋ค. ํ์ query, ์ด์ key. ๊ฐ ์ ์ ์์ ๊ทธ ๋ ๋จ์ด์ ์ด์ธ๋ฆผ ์ ์์ ๋๋ค.
3. Multi-Head Attention โ ์ฌ๋ฌ ์์ ์ ์์๋ธ
ํ ๋ฒ์ self-attention์ ํ ์ข ๋ฅ์ ๊ด๊ณ๋ง ํฌ์ฐฉํ ์ ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ์ธ์ด์๋ ๋์์ ์ฌ๋ฌ ์ธต์์ ๊ด๊ณ๊ฐ ์์ต๋๋ค:
- ๋ฌธ๋ฒ์ ๊ด๊ณ (์ฃผ์ด-๋์ฌ ์ผ์น)
- ์๋ฏธ์ ๊ด๊ณ (who did what to whom)
- ๊ณต์ง์(coreference) โ "it"์ด ๊ฐ๋ฆฌํค๋ ๊ฒ ๋ฌด์์ธ์ง
- ๋ดํ ๊ด๊ณ โ ์ธ๊ณผ, ๋์กฐ, ์๊ฐ ์์
ํด๋ฒ์ ์ง๊ด์ ์ ๋๋ค โ ์ฌ๋ฌ ๋ฒ์ ์ดํ ์ ์ ๋์์ ๋๋ฆฌ์. ์ด๋ฅผ ๋ฉํฐํค๋ ์ดํ ์ (Multi-Head Attention)์ด๋ผ ๋ถ๋ฆ ๋๋ค. ๊ตฌ์ฒด์ ์ผ๋ก๋ QยทKยทV๋ฅผ $h$๊ฐ์ ์์ ๋ถ๋ถ ๊ณต๊ฐ์ผ๋ก ์ชผ๊ฐ๊ณ (์: $d = 512, h = 8$์ด๋ฉด ๊ฐ ํค๋๋ 64์ฐจ์), ๊ฐ "ํค๋"๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก attention์ ๊ณ์ฐํฉ๋๋ค:
$$ \text{head}_i = \text{Attention}(Q W_i^Q, K W_i^K, V W_i^V) $$ $$ \text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, \dots, \text{head}_h) W^O $$๊ฐ ํค๋๋ ๋ค๋ฅธ ํฌ์ ํ๋ ฌ์ ํ์ตํ๋ฏ๋ก ์๋ก ๋ค๋ฅธ ์ข ๋ฅ์ ๊ด๊ณ์ ์ง์คํ๋๋ก ์ ์ ๋ก ์ ๋ฌธํ๋ฉ๋๋ค. BERT ๊ฐ์ ํ๋ จ๋ ๋ชจ๋ธ์ ํค๋๋ฅผ ๋ถ์ํด๋ณด๋ฉด, ์ค์ ๋ก ์ด๋ค ํค๋๋ ์ฃผ์ด-๋์ฌ ๊ด๊ณ๋ฅผ, ์ด๋ค ํค๋๋ ๋๋ช ์ฌ-์ ํ์ฌ ๊ด๊ณ๋ฅผ ํ์ตํ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค. ์ด๋ฅผ "attention head specialization"์ด๋ผ ๋ถ๋ฅด๊ณ , Transformer์ ํด์ ๊ฐ๋ฅ์ฑ ์ฐ๊ตฌ์ ์ฃผ์ ์ฃผ์ ์ ๋๋ค.
๊ณ์ฐ๋์ ๊ฐ์๋ฐ (ํค๋๊ฐ $h$๋ฐฐ ๋ง์ง๋ง ๊ฐ ์ฐจ์์ $1/h$) ํํ๋ ฅ์ ํจ์ฌ ํ๋ถํด์ง๋๋ค โ ์ฌ์ค์ ๊ณต์ง ์ ์ฌ์ ๋๋ค.
๐ฎ ์ธํฐ๋ํฐ๋ธ: ๋ฉํฐํค๋ ๋ถํ
$d_{\text{model}}=64$ ์ฐจ์์ด 8๊ฐ ํค๋๋ก ๋๋๋ฉด ํค๋๋น 8์ฐจ์์ ๋๋ค. ํค๋ ์๋ฅผ ๋ฐ๊พธ๋ฉฐ ๋ถํ ๋ชจ์ต์ ๋ณด์ธ์.
4. ์์น ์ธ์ฝ๋ฉ โ ์์๋ฅผ ์ฃผ์ ํ๋ ํธ๋ฆญ
Self-attention์ ์๋ฆ๋ค์ด ์ ์ ์์น์ ๋ํ ํธํฅ์ด ์๋ค๋ ๊ฒ์ ๋๋ค. ์ด๋ค ํ ํฐ์ด ์ด๋์ ์๋ ์ํธ์์ฉ ๋ฐฉ์์ ๋์ผํฉ๋๋ค. ๊ทธ๋ฐ๋ฐ ์ด๊ฒ ๋ฌธ์ ๋ ๋ฉ๋๋ค โ "์ฒ ์๊ฐ ์ํฌ๋ฅผ ๋๋ ธ๋ค"์ "์ํฌ๊ฐ ์ฒ ์๋ฅผ ๋๋ ธ๋ค"๋ ๋จ์ด ์งํฉ์ด ๊ฐ์ง๋ง ์๋ฏธ๊ฐ ์์ ํ ๋ค๋ฆ ๋๋ค. ์์ ์ ๋ณด๊ฐ ํ์ํฉ๋๋ค!
ํด๋ฒ์ ๋จ์ํฉ๋๋ค: ๊ฐ ์์น์ ๊ณ ์ ํ ๋ฒกํฐ๋ฅผ ๋ํด์ฃผ๊ธฐ. ์ ๋ ฅ ์๋ฒ ๋ฉ $\mathbf e_i$์ ์์น ๋ฒกํฐ $\mathbf{PE}_i$๋ฅผ ๋ํด $\mathbf x_i = \mathbf e_i + \mathbf{PE}_i$๋ฅผ ๋ง๋ค์ด Transformer์ ๋ฃ์ต๋๋ค. ์ด์ ๋ชจ๋ธ์ "๊ฐ์ ๋จ์ด๋ผ๋ 1๋ฒ์งธ ์์น์ 10๋ฒ์งธ ์์น์ ํํ์ด ๋ค๋ฆ"์ ์๊ฒ ๋ฉ๋๋ค.
์์น ์ธ์ฝ๋ฉ์ ์ด๋ป๊ฒ ๋ง๋ค๊น์? ์๋ ผ๋ฌธ์ ์ฌ์ธยท์ฝ์ฌ์ธ ํจ์๋ฅผ ์ฌ์ฉํ์ต๋๋ค:
$$ PE_{(pos,2i)} = \sin\!\left(\frac{pos}{10000^{2i/d}}\right), \quad PE_{(pos,2i+1)} = \cos\!\left(\frac{pos}{10000^{2i/d}}\right) $$์ง๊ด์ ์ผ๋ก ๋ณด๋ฉด, ๊ฐ ์ฐจ์๋ง๋ค ์๋ก ๋ค๋ฅธ ์ฃผํ์์ ์ฌ์ธ/์ฝ์ฌ์ธ ํ๋์ ๋์ด ๊ฐ ์์น์ ๊ณ ์ ํ "์ง๋ฌธ"์ ๋ง๋ญ๋๋ค. ๋ฎ์ ์ฐจ์์ ๋น ๋ฅธ ์ฃผ๊ธฐ(์ด์ ์์น ๊ตฌ๋ณ), ๋์ ์ฐจ์์ ๋๋ฆฐ ์ฃผ๊ธฐ(๋ฉ๋ฆฌ ๋จ์ด์ง ์์น ๊ตฌ๋ณ). ์ด ์ ํ์ ์ฅ์ :
- ํ๋ จ ๋ฐ์ดํฐ์ ์์๋ ๊ธด ์ํ์ค์๋ ์ผ๋ฐํ ๊ฐ๋ฅ (์์์ผ๋ก ๊ณ์ฐ๋๋๊น)
- ๋ ์์น์ ์๋ ๊ฑฐ๋ฆฌ๊ฐ ์ ํ ๋ณํ์ผ๋ก ํํ ๊ฐ๋ฅ โ ๋ชจ๋ธ์ด "์๋์ ๊ฑฐ๋ฆฌ"๋ฅผ ํ์ตํ๊ธฐ ์ฌ์
ํ๋ ๋ณํ์๋ ํ์ต ๊ฐ๋ฅํ ์์น ์๋ฒ ๋ฉ (BERT), ์๋ ์์น ์ธ์ฝ๋ฉ (T5, Transformer-XL), RoPE (Rotary Position Embedding) (LLaMA) ๋ฑ์ด ์์ต๋๋ค. ํนํ RoPE๋ ์ต๊ทผ ๋๋ถ๋ถ์ ์คํ์์ค LLM์ ํ์ค์ด ๋์์ต๋๋ค.
5. BERT, GPT, ๊ทธ๋ฆฌ๊ณ LLM โ Transformer์ ๋ ์ผ๊ตด
| ๋ชจ๋ธ | ๊ตฌ์กฐ | ํ์ต ๋ฐฉ์ | ์ฉ๋ |
|---|---|---|---|
| BERT (2018) | ์ธ์ฝ๋ only | ๋ง์คํน๋ ๋จ์ด ๋งํ๊ธฐ | ์ดํด(๋ถ๋ฅ, QA) |
| GPT (2018~) | ๋์ฝ๋ only | ๋ค์ ๋จ์ด ๋งํ๊ธฐ | ์์ฑ |
| T5 (2019) | ์ธ์ฝ๋-๋์ฝ๋ | ๋ชจ๋ NLP๋ฅผ ํ ์คํธโํ ์คํธ๋ก | ๋ฒ์ฉ |
| ChatGPT (2022) | GPT + RLHF | ์ฌ๋ ํผ๋๋ฐฑ ๊ฐํํ์ต | ๋ํ |
5.1 BERT vs GPT โ ๊ฐ์ ๋ธ๋ก, ๋ค๋ฅธ ๋ชฉ์
๋ ๋ค Transformer ๋ธ๋ก์ ์์ ๋ชจ๋ธ์ด์ง๋ง ์ฒ ํ์ด ์ ๋ฐ๋์ ๋๋ค.
BERT (Bidirectional Encoder Representations from Transformers, 2018)๋ ์ธ์ฝ๋ ๋ธ๋ก๋ง ์๋๋ค. ํ๋ จ ๋ฐฉ๋ฒ: ์ ๋ ฅ์ ์ฝ 15% ๋จ์ด๋ฅผ ๋ง์คํนํ๊ณ ๊ทธ ๋จ์ด๋ฅผ ๋ง์ถ๊ฒ ํฉ๋๋ค (Masked Language Model). ์๋ฐฉํฅ(์๋ค ๋ชจ๋) ์ปจํ ์คํธ๋ฅผ ์ฌ์ฉํ๋ฏ๋ก "์ดํด"์ ๋ฐ์ด๋ฉ๋๋ค โ ๊ฐ์ฑ ๋ถ์, ๋ฌธ์ฅ ๋ถ๋ฅ, ์ง๋ฌธ ์๋ต, ๊ฐ์ฒด๋ช ์ธ์์์ 2018๋ ๋น์ ๊ฑฐ์ ๋ชจ๋ ๋ฒค์น๋งํฌ๋ฅผ ๊ฐฑ์ ํ์ต๋๋ค.
GPT (Generative Pre-trained Transformer, 2018~)๋ ๋์ฝ๋ ๋ธ๋ก๋ง ์๋๋ค (์ธ์ฝ๋-๋์ฝ๋ ์ฌ์ด cross-attention ์ ๊ฑฐ). ํ๋ จ ๋ฐฉ๋ฒ: ์ ๋จ์ด๋ค์ ๋ณด๊ณ ๋ค์ ๋จ์ด๋ฅผ ๋ง์ถ๋ ๋จ์ํ autoregressive language modeling. ๋จ๋ฐฉํฅ(์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ)์ด๋ผ "์์ฑ"์ ๋ฐ์ด๋ฉ๋๋ค. ์ผ์ชฝ ๋ฌธ๋งฅ์ผ๋ก๋ถํฐ ํ ์คํธ๋ฅผ ์ด์ด ์ฐ๋ ๊ฒ์ด ๊ธฐ๋ณธ ๋ฅ๋ ฅ.
์ฒ์์ BERT๊ฐ ํ๊ณ์์ ์ฐ์ธํ์ต๋๋ค. ํ์ง๋ง 2020๋ GPT-3๊ฐ 1750์ต ํ๋ผ๋ฏธํฐ๋ก "few-shot learning"์ ์์ฐํ๋ฉด์ ๋ถ์๊ธฐ๊ฐ ์ญ์ ๋์์ต๋๋ค. ํ๋กฌํํธ์ ๋ช ๊ฐ์ ์์๋ง ์ฃผ๋ฉด ์ฌํ๋ จ ์์ด ์ ์์ ์ ์ํํ ์ ์๋ค๋ ๊ฒ์ด ์ ์ฆ๋์๊ณ , ์ด๋ BERT๊ฐ ์ฌํ๋ จ(fine-tuning)์ ํ์๋ก ํ๋ ๊ฒ๊ณผ ๋์กฐ๋ฉ๋๋ค. 2022๋ ChatGPT๊ฐ ๋์ค์๊ฒ ๊ณต๊ฐ๋๋ฉด์ GPT ๊ณ์ด์ด NLP์ ํ์ค์ด ๋์์ต๋๋ค.
5.2 ์ค์ผ์ผ๋ง ๋ฒ์น (Scaling Laws)
OpenAI์ 2020๋ ๋ ผ๋ฌธ "Scaling Laws for Neural Language Models"๋ ์ถฉ๊ฒฉ์ ์ธ ๊ด์ฐฐ์ ๋ฐํํ์ต๋๋ค. ๋ชจ๋ธ ํฌ๊ธฐ $N$, ๋ฐ์ดํฐ์ ํฌ๊ธฐ $D$, ๊ณ์ฐ๋ $C$๊ฐ ์ปค์ง ๋ ์์ค์ด ๋ค์ ๋ฉฑ๋ฒ์น(power law)์ ๋ฐ๋ฅธ๋ค๋ ๊ฒ:
$$ L(N) \propto N^{-0.076}, \quad L(D) \propto D^{-0.095}, \quad L(C) \propto C^{-0.050} $$์ด๋ "๋ชจ๋ธ์ ๊ณ์ ํฌ๊ฒ ๋ง๋ค๋ฉด ์ฑ๋ฅ์ด ์์ธก ๊ฐ๋ฅํ๊ฒ ์ฌ๋ผ๊ฐ๋ค"๋ ์๋ฏธ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ค์ ๋ก ์ด ๋ฒ์น์ ๋ฐ๋ผ GPT-1 โ GPT-2 โ GPT-3 โ GPT-4๋ก ์ค์ผ์ผ์ ํค์ฐ์ ์ฑ๋ฅ์ด ๊ณ์ ์ฌ๋์ต๋๋ค. ๋ชจ๋ธ ํฌ๊ธฐ๋ GPT-1์ 1.1์ต ๊ฐ์์ GPT-3์ 1750์ต ๊ฐ, GPT-4์ ์ถ์ 1์กฐ ๊ฐ ์ด์๊น์ง ํญ๋ฐ์ ์ผ๋ก ์ปค์ก๊ณ , ํ๋ จ ๋ฐ์ดํฐ๋ ์์ญ GB์์ ์ TB๋ก.
๋ ๋๋ผ์ด ๊ฒ์ ์ฐฝ๋ฐ์ ๋ฅ๋ ฅ(emergent abilities)์ ๋๋ค. ์์ ๋ชจ๋ธ์์๋ ์ ํ ๋ณด์ด์ง ์๋ ๋ฅ๋ ฅ๋ค โ few-shot ํ์ต, ์ฐ์ ๊ณ์ฐ, ์ถ๋ก , ์ฝ๋ ์์ฑ โ ์ด ํน์ ๊ท๋ชจ๋ฅผ ๋์ด๊ฐ๋ฉด ๊ฐ์๊ธฐ ๋ํ๋ฉ๋๋ค. ์ด๋ ๋จ์ํ ์ ์ง์ ๊ฐ์ ์ด ์๋๋ผ ์ง์ ์ ํ์ผ๋ก ๋ณด์ ๋๋ค. ์ ์ด๋ฐ ํ์์ด ์ผ์ด๋๋์ง๋ ์์ง ์์ ํ ์ค๋ช ๋์ง ์์๊ณ , ํ๋ AI ์ฐ๊ตฌ์ ํฐ ๋ฏธ์คํฐ๋ฆฌ์ ๋๋ค.
6. ์ํ๋ง๊ณผ ์จ๋
LLM์ ๋ค์ ๋จ์ด์ ํ๋ฅ ๋ถํฌ๋ฅผ ์ถ๋ ฅํฉ๋๋ค. ๊ทธ์ค ํ๋๋ฅผ ๊ณ ๋ฅด๋ ๋ฐฉ๋ฒ:
- Greedy: ์ต๋๊ฐ โ ๊ฒฐ์ ์ , ๋จ์กฐ๋กญ๋ค.
- Top-k: ์์ k๊ฐ ์ค์์ ์ํ๋ง.
- Top-p (nucleus): ๋์ ํ๋ฅ p๊น์ง์ ๋จ์ด๋ค ์ค์์.
- ์จ๋: ์ํํธ๋งฅ์ค ์ ์ ์๋ฅผ $T$๋ก ๋๋. $T<1$์ด๋ฉด ๋พฐ์กฑ(๋ณด์์ ), $T>1$์ด๋ฉด ํํ(์ฐฝ์์ ).
๐ฎ ์ธํฐ๋ํฐ๋ธ: ์จ๋๊ฐ ์ถ๋ ฅ ๋ถํฌ์ ๋ฏธ์น๋ ์ํฅ
5๊ฐ ํ๋ณด ๋จ์ด์ ์ ์๋ฅผ ๋ฐ์ ์จ๋์ ๋ฐ๋ผ ํ๋ฅ ๋ถํฌ๊ฐ ์ด๋ป๊ฒ ๋ณํ๋์ง ๋ด ๋๋ค. ์จ๋๊ฐ 0์ ๊ฐ๊น์ฐ๋ฉด ํ ๋จ์ด๋ง ์ด์๋จ๊ณ , ํฌ๋ฉด ๋ชจ๋ ๋น์ทํด์ง๋๋ค.
7. ์ฝ๋ ์์ (Hugging Face)
from transformers import AutoTokenizer, AutoModelForCausalLM
tok = AutoTokenizer.from_pretrained('gpt2')
model = AutoModelForCausalLM.from_pretrained('gpt2')
inputs = tok('Once upon a time', return_tensors='pt')
out = model.generate(**inputs, max_length=50, temperature=0.8,
top_p=0.9, do_sample=True)
print(tok.decode(out[0]))
8. ๋ง๋ฌด๋ฆฌ โ ์ฐ๋ฆฌ๋ ์ด๋๋ก ๊ฐ๋๊ฐ
13์ฃผ์ ๊ฑธ์ณ KNN์์ ์์ํด ํธ๋์คํฌ๋จธ๊น์ง ์์ต๋๋ค. ์ง๋ 70๋ ์ AI ์ญ์ฌ๋ฅผ ํ ํ๊ธฐ์ ์์ถํ ์ ์ ๋๋ค. ์์ผ๋ก์ ๋ฐฉํฅ์ โ ๋ ํฐ ๋ฉํฐ๋ชจ๋ฌ ๋ชจ๋ธ, โก ๋ ํจ์จ์ ์ธ ํ์ต(LoRA, distillation), โข ๋๊ตฌ ์ฌ์ฉ ์์ด์ ํธ, โฃ ์์ ์ฑ๊ณผ ์ ๋ ฌ(alignment)์ ๋๋ค. ์ด๋๋ก ๊ฐ๋ , ์ด๋ฒ ํ๊ธฐ์ ๋ง์ง ๊ธฐ๋ณธ๊ธฐ๋ ๊ทธ๋๋ก ์ ํจํฉ๋๋ค.
๐ ๋ ๊น์ด ๊ณต๋ถํ๊ธฐ
- Attention Is All You Need โ Vaswani ์ธ(2017). ํธ๋์คํฌ๋จธ ์๋ ผ๋ฌธ.
- The Illustrated Transformer โ Jay Alammar, jalammar.github.io. ๊ทธ๋ฆผ ๊ฐ์์ ๋ช ์.
- BERT โ Devlin ์ธ(2018). GPT-3 โ Brown ์ธ(2020).
- Hugging Face Course โ huggingface.co/course. ์ค์ต ์์ฃผ.
- Andrej Karpathy "Let's build GPT" โ ์ ํ๋ธ. ์ฒ์๋ถํฐ GPT๋ฅผ ๋ง๋๋ ์์.