Transformer ์ํคํ ์ฒ๋ ํฌ๊ฒ ์ ๋ณด๋ฅผ ์์ถํ๊ณ ์ดํดํ๋ Encoder์, ์ด๋ฅผ ๋ฐํ์ผ๋ก ์๋ก์ด ์ํ์ค๋ฅผ ์์ฑํ๋ Decoder๋ก ๋๋๋ค. ๊ฐ ์ปดํฌ๋ํธ์ ์ํ์ ์ค๊ณ ์๋์ ์ฐ์ฐ ํน์ฑ, ๊ทธ๋ฆฌ๊ณ ์ด๋ฅผ ์์ฉํ ๋ํ์ ์ธ ๋ชจ๋ธ๊ตฐ(BERT, T5, GPT)์ ์ฐจ์ด์ ์ ์ ๋ฆฌํด ๋ณธ๋ค.
1. Encoder
์ธ์ฝ๋๋ ์ ๋ ฅ ์ํ์ค $X = {x_1, x_2, \dots, x_n}$์ ๊ฐ ํ ํฐ์ด ๋ฌธ์ฅ ๋ด ๋ค๋ฅธ ๋ชจ๋ ํ ํฐ๊ณผ ์ด๋ค ๊ด๊ณ๋ฅผ ๋งบ๋์ง ํ์ ํ์ฌ, ํ๋ถํ ๋ฌธ๋งฅ์ด ๋ด๊ธด ์ ์ฌ ๋ฒกํฐ(Latent Vector)๋ฅผ ์์ฑํ๋ค.
โ Multi-Head Self-Attention (MHSA)
์ธ์ฝ๋์ ํต์ฌ์ ๋ชจ๋ ์์น์ ํ ํฐ์ ๋์์ ์ฐธ์กฐํ๋ Bi-directional(์๋ฐฉํฅ) ์ฐ์ฐ์ด๋ค. $h$๊ฐ์ ํค๋๋ฅผ ์ฌ์ฉํ๋ MHSA๋ ์๋ก ๋ค๋ฅธ ์๋ธ ๊ณต๊ฐ์์ ๋ฌธ๋งฅ์ ํ์ ํ๋ค.
์ด ์ฐ์ฐ์ ์ํ์ค ๋ด์ ์ฅ๊ฑฐ๋ฆฌ ์์กด์ฑ(Long-range dependency)์ $O(1)$์ ๊ฒฝ๋ก ๊ธธ์ด๋ก ํ์ตํ ์ ์๊ฒ ํ๋ค. RE ๊ด์ ์์๋ ์ด ๊ณผ์ ์์ ๋ฐ์ํ๋ $O(n^2)$์ ๋ฉ๋ชจ๋ฆฌ ๋ณต์ก๋๋ฅผ ์ ์ดํ๊ธฐ ์ํด FlashAttention๊ณผ ๊ฐ์ ์ปค๋ ์ต์ ํ๊ฐ ํ์์ ์ผ๋ก ๊ณ ๋ ค๋๋ค.
โก Residual Connection & Layer Normalization (Pre-LN vs Post-LN)
๊ฐ ์๋ธ ๋ ์ด์ด(Attention, FFN)์ ์ถ๋ ฅ์๋ Residual Connection๊ณผ Layer Normalization์ด ์ ์ฉ๋๋ค.
- Post-LN (Original Transformer): $\text{LayerNorm}(x + \text{Sublayer}(x))$ ๊ตฌ์กฐ์ด๋ค. ์ฑ๋ฅ์ ๋์ผ๋ ์ด๊ธฐ ํ์ต ์ ๊ทธ๋ ๋์ธํธ ๋ถ์์ ์ฑ์ด ๋ฐ์ํ ์ ์๋ค.
- Pre-LN (์ต์ LLM ํ์ค): $x + \text{Sublayer}(\text{LayerNorm}(x))$ ๊ตฌ์กฐ์ด๋ค. ํ์ต ์์ ์ฑ์ด ๋ฐ์ด๋ ๋งค์ฐ ๊น์ ์ธต(Deep Networks)์ ์๋ ํ๋์ Foundation Model(ViT, GPT-3 ๋ฑ)์์ ์ฃผ๋ก ์ฑํ๋๋ค.
2. Decoder
๋์ฝ๋๋ ์ด์ ์ ์์ฑ๋ ํ ํฐ๋ค์ ๊ธฐ๋ฐ์ผ๋ก ๋ค์ ํ ํฐ์ ์กฐ๊ฑด๋ถ ํ๋ฅ ๋ถํฌ๋ฅผ ์์ธกํ๋ Auto-regressive ๋ชจ๋ธ์ด๋ค. ์ธ์ฝ๋์ ๋ฌ๋ฆฌ ์ธ๊ณผ ๊ด๊ณ๋ฅผ ์ ์งํ๊ธฐ ์ํ ํน์ํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ค.
โ Masked Multi-Head Attention
๋์ฝ๋์ ์ฒซ ๋ฒ์งธ ๋ ์ด์ด๋ ํ์ฌ ์์ $t$ ์ดํ์ ํ ํฐ(๋ฏธ๋ ์ ๋ณด)์ ์ฐธ์กฐํ์ง ๋ชปํ๋๋ก Causal Masking์ ์ ์ฉํ๋ค.
- $M_{ij} = 0$ (if $i \ge j$), $M_{ij} = -\infty$ (if $i < j$)
์ด ๋ง์คํน ์ฒ๋ฆฌ๋ฅผ ํตํด ํ์ต ์์๋ ์ ์ฒด ๋ฌธ์ฅ์ ํ ๋ฒ์ ์ ๋ ฅํ๋(Teacher Forcing), ๊ฐ ์์ ์์๋ ๊ณผ๊ฑฐ ์ ๋ณด๋ง์ ๋ฐํ์ผ๋ก ๋ค์ ๋จ์ด๋ฅผ ์์ธกํ๋๋ก ๊ฐ์ ํ๋ค.
โก Encoder-Decoder Cross-Attention
์ธ์ฝ๋์ ๋์ฝ๋๋ฅผ ์ฐ๊ฒฐํ๋ ํต์ฌ ๋ธ๋ฆฟ์ง์ด๋ค.
- Query: ๋์ฝ๋์ Masked Self-Attention ์ถ๋ ฅ์์ ์์ฑ๋๋ค. ("ํ์ฌ ์์ฑ ์ค์ธ ๋ฌธ๋งฅ์์ ํ์ํ ์ ๋ณด๊ฐ ๋ฌด์์ธ๊ฐ?")
- Key, Value: ์ธ์ฝ๋์ ์ต์ข ์ถ๋ ฅ ๋ฒกํฐ(Memory)์์ ์์ฑ๋๋ค. ("์ ๋ ฅ ๋ฌธ์ฅ์ ๊ฐ ๋ถ๋ถ์ ์ด๋ค ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋๊ฐ?")
์ด ์ฐ์ฐ์ ํตํด ๋์ฝ๋๋ ์ถ๋ ฅ ์ํ์ค์ ๊ฐ ๋จ๊ณ์์ ์ ๋ ฅ ๋ฌธ์ฅ์ ํน์ ์์ญ์ ์ง์ค(Align)ํ๊ฒ ๋๋ค. RE๋ก์ ๋ชจ๋ธ์ ๊ฒฝ๋ํํ ๋, Cross-Attention์ ํ๋ผ๋ฏธํฐ๊ฐ ์ธ์ฝ๋ ์ ๋ณด ์ ์ฒด๋ฅผ ์ฐธ์กฐํ๋ฏ๋ก ์ฐ์ฐ ๋น์ฉ์ด ๋๋ค๋ ์ ์ ์ธ์งํ๊ณ KV Cache ์ต์ ํ์ ์ง์คํด์ผ ํ๋ค.
โข Feed-Forward Network (FFN) ๋ฐ ์ถ๋ก ๋ณ๋ชฉ
๋์ฝ๋์ ๊ฐ ์ธต ๋์๋ ์์น๋ณ ์์ ์ฐ๊ฒฐ๋ง(Position-wise FFN)์ด ์กด์ฌํ๋ค. ์ต๊ทผ ๋ชจ๋ธ๋ค์ ReLU ๋์ SwiGLU๋ GeLU๋ฅผ ํ์ฑํ ํจ์๋ก ์ฌ์ฉํ์ฌ ๋น์ ํ ํํ๋ ฅ์ ๋์ธ๋ค. ์ถ๋ก ์์๋ ๋งค ํ ํฐ๋ง๋ค ์ด ๋ชจ๋ ์ธต์ ํต๊ณผํด์ผ ํ๋ฏ๋ก, ๋ณ๋ ฌ ์ฐ์ฐ์ด ๊ฐ๋ฅํ ์ธ์ฝ๋๋ณด๋ค ์ฒ๋ฆฌ ์๋(Throughput)๊ฐ ๋ฎ์์ง๋ ํน์ฑ์ด ์๋ค.
3. ๋ชจ๋ธ๋ณ ๊ตฌ์กฐ์ ๋ณํ ๋ฐ ํน์ฑ ๋น๊ต

Transformer ์ํคํ ์ฒ๋ ๋ชฉ์ ์ ๋ฐ๋ผ ํน์ ๋ถ๋ถ๋ง์ ํนํ์์ผ ๋ฐ์ ํด ์๋ค.
| ๊ตฌ๋ถ | Encoder-Only (BERT ๊ณ์ด) | Encoder-Decoder (T5/BART ๊ณ์ด) | Decoder-Only (GPT ๊ณ์ด) |
| ํต์ฌ ๋ชฉ์ | ์์ฐ์ด ์ดํด (NLU) | ์ํ์ค ๋ณํ (Seq2Seq) | ์์ฐ์ด ์์ฑ (NLG) |
| ํ์ต ๋ฐฉ์ | Masked LM (์๋ฐฉํฅ) | Text-to-Text (๋ณตํฉ) | Causal LM (๋จ๋ฐฉํฅ) |
| ์ฅ์ | ๋ฌธ๋งฅ ์ดํด๋๊ฐ ๋งค์ฐ ๋์ | ์ ์ถ๋ ฅ ํ์์ด ์์ ๋กญ๊ณ ๋ฒ์ฉ์ ์ | ๊ธด ๋ฌธ๋งฅ ์ ์ง ๋ฐ ์์ฑ ์ฑ๋ฅ ํ์ |
| ๋จ์ | ํ ์คํธ ์์ฑ ๋ถ๊ฐ | ํ๋ผ๋ฏธํฐ ๋ฐ ์ฐ์ฐ ํจ์จ ์ ํ ๊ฐ๋ฅ์ฑ | ์๋ฐฉํฅ ์ ๋ณด ํ์ฉ์ ์๋์ ํ๊ณ |
โ Only Encoder (์: BERT)
BERT๋ ๋ฌธ์ฅ์ ์ค๊ฐ ๋จ์ด๋ฅผ ๊ฐ๋ฆฌ๊ณ ์ฃผ๋ณ ๋จ์ด๋ก ์ด๋ฅผ ๋ง์ถ๋ Masked Language Modeling(MLM)์ ํตํด ํ์ต๋๋ค. ํ ์คํธ ๋ถ๋ฅ, ๊ฐ์ฒด๋ช ์ธ์(NER) ๋ฑ ๋ฌธ์ฅ์ ์๋ฏธ๋ฅผ ๊น๊ฒ ํ์ ํด์ผ ํ๋ ํ์คํฌ์ ์ต์ ํ๋์ด ์๋ค.
โก Encoder-Decoder (์: T5)
T5๋ ๋ชจ๋ NLP ๋ฌธ์ ๋ฅผ "Text-to-Text" ํ๋ ์์ํฌ๋ก ํตํฉํ๋ค. ์ธ์ฝ๋๋ ์ง๋ฌธ์ ํด์ํ๊ณ , ๋์ฝ๋๋ ๋ต์ ์์ฑํ๋ ๋ถ์ ๊ตฌ์กฐ๋ฅผ ํตํด ๋ฒ์ญ ๋ฐ ์์ฝ์์ ๊ฐ๋ ฅํ ์ฑ๋ฅ์ ๋ฐํํ๋ค.
โข Only Decoder (์: GPT ์๋ฆฌ์ฆ)
์ต๊ทผ ๋๊ท๋ชจ ์ธ์ด ๋ชจ๋ธ(LLM)์ ์ฃผ๋ฅ ๊ตฌ์กฐ์ด๋ค. ๋ณ๋์ ์ธ์ฝ๋ ์์ด ์ ๋ ฅ ํ๋กฌํํธ ์์ฒด๋ฅผ ๋์ฝ๋์ ์ด๊ธฐ ์ ๋ ฅ์ผ๋ก ์ฒ๋ฆฌํ๋ค. ๋ชจ๋ธ ํฌ๊ธฐ๋ฅผ ํค์ ์ ๋ ๋ํ๋๋ Scaling Law์ ๊ฐ์ฅ ํจ์จ์ ์ด๋ฉฐ, Few-shot ํ์ต ๋ฅ๋ ฅ์ด ๋ฐ์ด๋๋ค.
4. ์ฐ์ฐ ํจ์จ์ฑ
๋ชจ๋ธ์ ์ค๊ณํ๊ฑฐ๋ ์๋นํ ๋ ๊ฐ์ฅ ์ค์ํ๊ฒ ๊ณ ๋ คํด์ผ ํ ์ง์ ์ ์ฐ์ฐ ๋ณต์ก๋์ Throughput์ด๋ค.
- Encoder์ ๋ณ๋ ฌ์ฑ: ํ์ต๊ณผ ์ถ๋ก ๋ชจ๋ ์ ์ฒด ์ํ์ค๋ฅผ ํ ๋ฒ์ Forward pass๋ก ์ฒ๋ฆฌํ ์ ์์ด ์ฒ๋ฆฌ ์๋๊ฐ ๋งค์ฐ ๋น ๋ฅด๋ค.
- Decoder์ ์์ฐจ์ฑ: ์ถ๋ก ์ ํ ํ ํฐ์ฉ ์์ฑํด์ผ ํ๋ฏ๋ก ์ํ์ค ๊ธธ์ด์ ๋น๋กํ์ฌ ์ง์ฐ ์๊ฐ(Latency)์ด ์ ํ์ ์ผ๋ก ์ฆ๊ฐํ๋ค. ์ด๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด ์์ ์ธ๊ธํ KV Caching์ด๋ Speculative Decoding ๊ฐ์ ๊ธฐ๋ฒ์ด ํ์์ ์ผ๋ก ์๊ตฌ๋๋ค.
Transformer์ ์ธ๋ถ ๊ตฌ์กฐ ์ ํ์ ํด๊ฒฐํ๋ ค๋ ๋ฌธ์ ์ ๋๋ฉ์ธ๊ณผ ์๋น ํ๊ฒฝ์ ๋ฐ๋ผ ๊ฒฐ์ ๋์ด์ผ ํ๋ค. ์ดํด ์ค์ฌ์ ํ์คํฌ๋ผ๋ฉด Encoder ๊ธฐ๋ฐ ๋ชจ๋ธ์ด ํจ์จ์ ์ด๋ฉฐ, ๋ณต์กํ ์ถ๋ก ์ด๋ ์ฐฝ์์ ์์ฑ์ด ๋ชฉ์ ์ด๋ผ๋ฉด Decoder ๊ธฐ๋ฐ์ ๋ํ ๋ชจ๋ธ์ด ์ ๋ฆฌํ๋ค. ์ต๊ทผ์๋ ์ด๋ฏธ์ง ๋ฐ ๋น๋์ค ์์ฑ ๋ถ์ผ์์๋ DiT(Diffusion Transformer)์ ๊ฐ์ด Decoder-only ํน์ ๊ฐ๋ฒผ์ด Encoder ๊ตฌ์กฐ๋ฅผ ๊ฒฐํฉํ ํํ๊ฐ SOTA(State-of-the-Art)๋ฅผ ๊ธฐ๋กํ๊ณ ์๋ค.
AI/ML ์ง๊ตฐ ์ทจ์
& ์ปค๋ฆฌ์ด ์ฑ์ฅ์ ์ํ์๋์?
[์ฑ ์ถ์ฒ] ๋๋ AI์์ง๋์ด์ ๋๋ค | ์ ์ดํ | AI/ML ์ง๊ตฐ ์ทจ์ & ์ฑ์ฅ ๊ฐ์ด๋
๋๋ AI ์์ง๋์ด์ ๋๋ค AI๋ฅผ ๊ณต๋ถํ๊ธฐ ์ํ ๊ฐ์, ๋ธ๋ก๊ทธ, ํํ ๋ฆฌ์ผ์ ์ ๋ง ๋ง์ฃ .๊ทผ๋ฐ ๋ง์ “AI/ML ์์ง๋์ด๊ฐ ๋๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ ๊น?”์ ๋ํ ๋ต์ ์๊ฐ๋ณด๋ค ์ ์ ๋ณด์ด๋๋ผ๊ณ ์. ์ ๋ ์ปค๋ฆฌ
mvje.tistory.com