Transformer - ynjch97/YNJCH_WIKI GitHub Wiki
๐ค Transformer
- ๋๊ท๋ชจ ์ธ์ด ๋ชจ๋ธ์ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์ํคํ
์ฒ (www.elastic.co)
- ๋๊ท๋ชจ ์ธ์ด ๋ชจ๋ธ(LLM): ๋ค์ํ ์์ฐ์ด ์ฒ๋ฆฌ(NLP) ์์
์ ์ํํ ์ ์๋ ๋ฅ๋ฌ๋ ์๊ณ ๋ฆฌ์ฆ (= ์ด๊ฑฐ๋์ธ์ด๋ชจ๋ธ)
- LLM โ Transformer โ BERT, GPT, ...
- ์ํฅ๋ ฅ
- ๊ธฐ๊ณ ๋ฒ์ญ, ์ง์์๋ต, ํ
์คํธ ์์ฑ ๋ฑ ๊ด๋ฒ์ํ ๋ถ์ผ์์ State-of-the-Art ๋ฌ์ฑ
- ์ด๋ฏธ์ง, ์์ฑ ๋ฑ ๋ฉํฐ๋ชจ๋ฌ(Multimodal) AI๋ก ํ์ฅ
- ์ฐ๊ตฌ ๋ฐ ์ฐ์
ํ์ฅ์์ ์ฌ์ค์ ํ์ค ์ํคํ
์ฒ๋ก ์๋ฆฌ ์ก์
๐ถ ๋ฑ์ฅ ๋ฐฐ๊ฒฝ
- RNN, LSTM ๊ธฐ๋ฐ ๋ชจ๋ธ์ ํ๊ณ
- ์ฅ๊ธฐ ์์กด์ฑ(Long-term dependencies) ๋ฌธ์
- ์์ฐจ ์ฒ๋ฆฌ๋ก ์ธํด ๋ณ๋ ฌํ๊ฐ ์ด๋ ค์
- ํ
์คํธ ๊ธธ์ด๊ฐ ๊ธธ์ด์ง์๋ก ํ์ต ํจ์จ๊ณผ ์ฑ๋ฅ ์ ํ
- Attention ๋งค์ปค๋์ฆ์ ๋ฑ์ฅ
- ํน์ ์์ ์ ์
๋ ฅ์ ์ง์ค(๊ฐ์ค์น ๋ถ์ฌ)
- ๋ฒ์ญ(Sequence-to-Sequence) ๋ฌธ์ ์์ ์ฑ๋ฅ ํฅ์
- ๋ณ๋ ฌ ์ฒ๋ฆฌ ๊ฐ๋ฅ โ ํ์ต ์๋ ๋ฐ ํจ์จ ๊ฐ์
- Attention Is All You Need (2017)
- Google Brain ํ์ ๋
ผ๋ฌธ
- ์์ ํ Attention ๊ตฌ์กฐ๋ง์ผ๋ก RNNยทCNN ์์ด๋ ์ฐ์ํ ์ฑ๋ฅ ๋ฌ์ฑ
- Self-Attention ์ ํตํ ๋ฌธ๋งฅ ์ดํด์ ๋ณ๋ ฌ ์ฒ๋ฆฌ ๊ทน๋ํ
๐ธ Sequence-to-Sequence ๋ชจ๋ธ ๋ฑ์ฅ (2014)
- ์ฃผ์ ์ธ๋ฌผ: Sutskever, Vinyals, Le (RNN ์ธ์ฝ๋-๋์ฝ๋ ๊ธฐ๋ฐ)
- ๋ค์ธต LSTM์ผ๋ก ์
๋ ฅ ์ํ์ค๋ฅผ ๊ณ ์ ๊ธธ์ด ๋ฒกํฐ๋ก ์ธ์ฝ๋ฉ ํ, LSTM ๋์ฝ๋๋ก ๋์ฝ๋ฉ
- ์ต์ด๋ก end-to-end ํ์ต์ ํตํ ๊ธฐ๊ณ๋ฒ์ญ ์๋
- Cho ๋ฑ: GRU ์ ์ โ ๊ฒ์ดํธ ๋งค์ปค๋์ฆ์ผ๋ก ์ฅ๊ธฐ ์์กด์ฑ ๋ฌธ์ ์ํ
๐ธ Attention ๋งค์ปค๋์ฆ ๋์
(2015)
- ์ฃผ์ ์ธ๋ฌผ: Bahdanau, Cho, Bengio
- RNN ๊ธฐ๋ฐ ๋ชจ๋ธ์ Attention ๋์
- ์ธ์ฝ๋์ ์๋ ์ํ๋ฅผ ๊ฐ์คํฉ์ฐํด ๋์ฝ๋๊ฐ ๋์ ์ผ๋ก ์ปจํ
์คํธ ๋ฒกํฐ ๊ณ์ฐ
- ๋ฒ์ญ ํ์ง ๋ฐ ์ ๋ณด ์ง์ค๋ ฅ ํฅ์
๐ธ Transformer ๋ฑ์ฅ (2017)
- ์ฃผ์ ์ธ๋ฌผ: Vaswani ๋ฑ (๊ตฌ๊ธ)
- "Attention Is All You Need" ๋
ผ๋ฌธ ๋ฐํ
- Self-Attention, Multi-Head Attention, ํฌ์ง์
๋ ์ธ์ฝ๋ฉ ๋์
- RNN/CNN ๋์ฒด โ ๋ณ๋ ฌ ์ฒ๋ฆฌ, ๋น ๋ฅธ ํ์ต, ๊ธด ๋ฌธ์ฅ์์๋ ์ฐ์ํ ์ฑ๋ฅ
- ์ดํ BERT, GPT ๋ฑ ๋๊ท๋ชจ ๋ชจ๋ธ์ ํ ๋ ๋ง๋ จ
๐ถ ๊ตฌ์กฐ
- ์ธ์ฝ๋(Encoder): ์
๋ ฅ ์ํ์ค์ ํน์ง ์ถ์ถ
- ๋์ฝ๋(Decoder): ์ธ์ฝ๋ ์ ๋ณด๋ฅผ ํ์ฉํด ์ถ๋ ฅ ์ํ์ค ์์ฑ
- Multi-Head Attention, Position-wise Feed Forward ๋ฑ ๋ชจ๋๋ก ๊ตฌ์ฑ
๐ถ ๋ชจ๋ธ
- BERT (2018): ์๋ฐฉํฅ ํ์ต์ผ๋ก ๋ฌธ๋งฅ ์ดํด ๊ฐํ
- GPT: ์์ฑ(Generative) ๋ชจ๋ธ ๋ถ์ผ ํ์
- T5, RoBERTa, XLNet ๋ฑ ๋ค์ํ ๋ณํยท๊ฐ์ ๋ชจ๋ธ ๋ฑ์ฅ
๐ค BERT
- Bidirectional Encoder Representations from Transformers
- ์์ฐ์ด์ดํด(NLU)์ ํนํ
- ํธ๋์คํฌ๋จธ์ ์ธ์ฝ๋ ๊ตฌ์กฐ๋ฅผ ๊ทธ๋๋ก ๋ต์ต
- ๊ธฐ์กด์ ์ธ์ด ๋ชจ๋ธ: ๋๋ถ๋ถ ๋จ๋ฐฉํฅ์ ์ธ ํ์ต (์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ๋๋ ๊ทธ ๋ฐ๋๋ก๋ง ํ
์คํธ๋ฅผ ์ฝ์)
- BERT๋ ์ฃผ๋ณ์ ๋ฌธ๋งฅ ์ ๋ณด๋ฅผ ์๋ค ์๋ฐฉํฅ์์ ๋์์ ํ์
ํ๋ฏ๋ก, ๋จ์ด๋ ๊ตฌ๋ฌธ์ ์ ํํ ์๋ฏธ๋ฅผ ๋ ์ ์ดํดํ ์ ์์
- ๋ชจ๋ธ ํ์ต ๊ณผ์ ์์
๋ง์คํฌ๋ ์ธ์ด ๋ชจ๋ธ๋ง(Masked Language Modeling)
๋ฐฉ์์ ์ฌ์ฉ
- ํ
์คํธ์ ์ผ๋ถ ๋จ์ด๋ฅผ ๋ฌด์์๋ก ๊ฐ๋ฆฌ๊ณ (Mask), ๊ทธ ๋ง์คํฌ๋ ๋จ์ด๋ฅผ ์์ธกํ๋ ํํ
- ํธ๋์คํฌ๋จธ์ ๋์ผํ๊ฒ ๋ฏธ์ธ์กฐ์ (fine-tuning)์ ํตํด ๋ค์ํ ์์ฐ์ด ์ฒ๋ฆฌ ํ์คํฌ์์ ๋ฐ์ด๋ ์ฑ๋ฅ
- ์ง๋ฌธ ์๋ต(QA) ์์คํ
, ๊ฐ์ ๋ถ์, ๊ฐ์ฒด๋ช
์ธ์(NER) ๋ฑ
- ๋งค๊ฐ๋ณ์(parameter): BERT์ ๊ธฐ๋ณธ ๋ชจ๋ธ์ธ BERT-base๋ ์ฝ 1.1์ต ๊ฐ, ์ฑ๋ฅ์ ๊ทน๋ํํ BERT-large๋ ์ฝ 3.4์ต ๊ฐ
- GPT๊ฐ ์ปค๋ฒํ์ง ๋ชปํ๋ ๋ฌธ๋งฅ ํ์
๊ด๋ จ ํ์คํฌ๋ฅผ ์ํ
๐ค GPT
- Generative Pre-trained Transformer
- ์์ฐ์ด์์ฑ(NLG)์ ํนํ
- Transformer ์ํคํ
์ฒ ์ค ๋์ฝ๋(decoder) ๋ถ๋ถ๋ง์ ํ์ฉํ์ฌ ๊ตฌ์ถ
- ์ฃผ์ด์ง ์
๋ ฅ ํ
์คํธ์ ๋ํด ์ ์ ํ ๋ค์ ํ
์คํธ(๋๋ ๋จ์ด)๋ฅผ ์์ธกํ๋ ๋ฐ ํนํ๋ ๋ชจ๋ธ
- 2022๋
11์ OpenAI์์ ๋ฐํํ ์ฑGPT์ ๊ธฐ์ด ๋ชจ๋ธ์ธ GPT-3.5์ ๋ผ๋๊ฐ ๋๋ ์ธ์ด ๋ชจ๋ธ
- ์ด๊ฑฐ๋์ธ์ด๋ชจ๋ธ(LLM)๊ณผ ์์ฑํ ์ธ๊ณต์ง๋ฅ์ด๋ผ๋ ํธ๋ ๋๋ฅผ ์ฃผ๋
- ๋๋์ ํ
์คํธ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํด ์ฌ์ ํ์ต(pre-training)์ ์งํ -> ํน์ ํ์คํฌ์ ๋ํด ๋ฏธ์ธ ์กฐ์ (fine-tuning)์ ์ ์ฉํ์ฌ ์ปค์คํฐ๋ง์ด์ง
- ๋ค์ํ ์์ฐ์ด ์ฒ๋ฆฌ ํ์คํฌ์์ ๋ฐ์ด๋ ์ฑ๋ฅ
- ๋ํํ ์์คํ
, ์คํ ๋ฆฌ ์์ฑ, ํ
์คํธ ์์ฑ ๋ฑ
- OpenAI: 2018๋
GPT-1์ ์์์ผ๋ก ๋งค๋
GPT๋ฅผ ๊ธฐ๋ฐ ์์ฌ์ ๊ธฐ์ด๋ชจ๋ธ ์๋ฆฌ์ฆ๋ฅผ ๋ฐํ
- ๋งค๊ฐ๋ณ์(parameter)๋ฅผ ๋๋ฆฌ๊ฑฐ๋ ํ์ต์ฉ ํ
์คํธ ๋ฐ์ดํฐ์
์ ๋ค์ํ
GPT-1
- ๋ฐํ ์ฐ๋: 2018๋
(OpenAI)
- ํ๋ผ๋ฏธํฐ ์: ์ฝ 1.17์ต ๊ฐ
- ๋ชจ๋ธ ๊ตฌ์กฐ: Transformer๊ธฐ๋ฐ, 12๊ฐ ๋์ฝ๋ ๋ ์ด์ด
- ํ์ต ๋ฐ์ดํฐ: BookCorpus(์ฝ 7,000๊ถ, 4.5GB์ ํ
์คํธ)
- ์ฃผ์ ์ฑ๊ณผ: Zero-shot ํ์ต์ ๊ฐ๋ฅ์ฑ ์ ์
GPT-2
- ๋ฐํ ์ฐ๋: 2019๋
(OpenAI)
- ํ๋ผ๋ฏธํฐ ์: ์ฝ 15์ต ๊ฐ (GPT-1 ๋๋น 10๋ฐฐ ์ฆ๊ฐ)
- ํ์ต ๋ฐ์ดํฐ: WebText (์ฝ 45๋ง ์นํ์ด์ง, 40GB ํ
์คํธ)
- ์ฃผ์ ํน์ง: ๋ชจ๋ธ ๊ท๋ชจ ํ์ฅ์ผ๋ก ๋ค์ํ ์์ฐ์ด ์ฒ๋ฆฌ(NLP)์์
์ฑ๋ฅ ํฅ์
GPT-1๊ณผ GPT-2 ๋น๊ต
- ๊ณตํต์ : Transformer ๋์ฝ๋ ๊ธฐ๋ฐ ๊ตฌ์กฐ
- ์ฐจ์ด์ : GPT-2๋ ๋ ๊น๊ณ ๋์ ๊ตฌ์กฐ๋ก ํํ๋ ฅ ๊ฐํ, ๋ฐ์ดํฐ ํฌ๊ธฐ ์ฆ๊ฐ๋ก ์ผ๋ฐํ ๋ฅ๋ ฅ ํฅ์
GPT-3 ๋ชจ๋ธ
- ๋ฐํ ์ฐ๋: 2020๋
(OpenAI)
- ํ๋ผ๋ฏธํฐ ์: ์ฝ 1,750์ต ๊ฐ (GPT-2 ๋๋น ์ฝ 100๋ฐฐ ์ฆ๊ฐ)
- ํ์ต ๋ฐ์ดํฐ: Common Crawl, Wikipedia ๋ฑ ์๋ฐฑ GB์ ๋ฐ์ดํฐ
- ์ฃผ์ ํน์ง
- Few-shot ๋ฐ Zero-shot ํ์ต์์ ๋ฐ์ด๋ ์ฑ๋ฅ ๋ฐํ
- ๋๊ท๋ชจ Transformer ๋์ฝ๋ ๊ตฌ์กฐ
- ์ค์ผ์ผ ์ฆ๊ฐ๋ก ์ธํ ๋งฅ๋ฝ ์ดํด ๋ฅ๋ ฅ ๊ฐํ
- ์์ฉ ์ฌ๋ก: ์ฐฝ์์ ์ธ ํ
์คํธ ์์ฑ, ์ง๋ฌธ-๋ต๋ณ, ์๋ ๋ฒ์ญ, ์ฝ๋ ์์ฑ
๐ถ ๋๊ท๋ชจ ๋ชจ๋ธ ํ์ต์ ๊ธฐ์ ์ ํ๊ณ์
- ๊ณ์ฐ ์์์ ํ๊ณ
- GPT-3 ๋ชจ๋ธ ํ์ต์ ์์ฒ ๊ฐ์ GPU ๋ฐ TPU ํ์
- ๋ง๋ํ ์ ๋ ฅ ์๋ชจ ๋ฐ ๋น์ฉ ๋ถ๋ด (์๋ฐฑ๋ง ๋ฌ๋ฌ ๋จ์์ ํ์ต ๋น์ฉ)
- ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๋ฌธ์
- ํ๋ผ๋ฏธํฐ ๊ท๋ชจ(์๋ฐฑ์ต~์์ฒ์ต)๋ก ์ธํ GPU ๋ฉ๋ชจ๋ฆฌ ํ๊ณ ์ด๊ณผ ๋ฌธ์
- ๋จ์ผ GPU์์ ๋ชจ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ด๋ ค์
๐ถ ๊ธฐ์ ์ ํด๊ฒฐ ๋ฐฉ์
- ๋ถ์ฐ ํ์ต (Distributed Training)
- ์ฌ๋ฌ GPU์ ๋ชจ๋ธ ํ๋ผ๋ฏธํฐ๋ฅผ ๋๋์ด ์ ์ฅํ๋ ๋ณ๋ ฌ ์ฒ๋ฆฌ ๊ธฐ๋ฒ
- ์: Data Parallelism, Model Parallelism, Pipeline Parallelism
- ํจ์จ์ ์ต์ ํ ๊ธฐ๋ฒ
- Mixed-precision ํ์ต (FP16 ์ฌ์ฉํ์ฌ ๋ฉ๋ชจ๋ฆฌ ์ ๊ฐ)
- Gradient Accumulation (์ ์ง์ ๊ธฐ์ธ๊ธฐ ๊ณ์ฐ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ๋ถ๋ด ์ํ)
- Checkpointing ๋ฐ ์ต์ ํ ๊ธฐ๋ฒ ํ์ฉ
๐ถ ์ฑ๊ณผ
- ์์ฐ์ด ์์ฑ ๋ฐ ์ดํด ๋ฅ๋ ฅ ํฅ์
- ์ฌ๋๊ณผ ์ ์ฌํ ์์ฐ์ค๋ฌ์ด ๋ฌธ์ฅ ์์ฑ ๊ฐ๋ฅ
- ๋ฌธ๋งฅ ๊ธฐ๋ฐ์ ๋์ ์์ค์ ์ง๋ฌธ-๋ต๋ณ, ๋ฒ์ญ, ์์ฝ ์ฑ๋ฅ
- ๋ค์ํ ์์ฉ ๋ถ์ผ ํ์ฅ
- ๋ํํ ์ธ๊ณต์ง๋ฅ(ChatGPT), ์๋ ์ฝ๋ ์์ฑ(Codex)
- ์ฝํ
์ธ ์์ฑ, ๊ณ ๊ฐ ์๋น์ค ์๋ํ, ์ฐฝ์์ ๊ธ์ฐ๊ธฐ
๐ถ ํ๊ณ์
- ๊ฒฝ์ ์ ๋น์ฉ
- ๋๊ท๋ชจ ๋ชจ๋ธ์ ๋์ ํ์ต ๋ฐ ์ด์ ๋น์ฉ ๋ฌธ์
- ์ค์๊ธฐ์
๋ฐ ์ฐ๊ตฌ ๊ธฐ๊ด์์๋ ์ ๊ทผ์ฑ ์ ํ
- ๋ชจ๋ธ ๋ฐ ๋ฐ์ดํฐ์ ํธํฅ์ฑ(Bias)
- ํ์ต ๋ฐ์ดํฐ์ ๋ด์ฌ๋ ํธ๊ฒฌ์ผ๋ก ์ธํ ํธํฅ๋ ๊ฒฐ๊ณผ๋ฌผ ์์ฑ ๊ฐ๋ฅ์ฑ
- ์ฑ๋ณ, ์ธ์ข
, ์ ์น์ ํธํฅ ๋ฑ ์ฌํ์ ์ด์์ ๋ฏผ๊ฐํ ๊ฒฐ๊ณผ ์์ฑ ์ํ
- ์ค๋ฆฌ์ ๋ฌธ์
- ์์ฑ๋ ๊ฐ์ง ๋ด์ค๋ ํ์ ์ ๋ณด ํ์ฐ ์ํ์ฑ
- AI๊ฐ ์์ฑํ ์ฝํ
์ธ ์ ๋ฒ์ , ์ค๋ฆฌ์ ์ฑ
์ ๋ฌธ์ ๋๋
๐ค Self-Attention(์
ํ ์ดํ
์
)
- ์ ์
- ์
๋ ฅ ์ํ์ค ๋ด ๊ฐ ๋จ์ด๊ฐ ๋ชจ๋ ๋จ์ด๋ค๊ณผ ์ํธ ์ฐธ์กฐ(Attention)
- ์ค์ํ ๋จ์ด(์ ๋ณด)์ ๊ฐ์ค์น๋ฅผ ๋ถ์ฌํ๋ ๋งค์ปค๋์ฆ
- Long-Range Dependencies(์ฅ๊ฑฐ๋ฆฌ ์์กด์ฑ) ํด๊ฒฐ, ๋ณ๋ ฌ ์ฐ์ฐ ๊ฐ๋ฅ
- ์ด๊ธฐ์ ์ดํ
์
๋งค์ปค๋์ฆ
- Query์ Key๋ ์๋ก ๋ค๋ฅธ ๋ฐ์ดํฐ ์์ค์์ ๊ฐ์ ธ์ด
- ์๋ก ๋ค๋ฅธ ์ ๋ณด์ธ Query์ Key๋ก๋ถํฐ Attention Score๋ฅผ ๊ณ์ฐ
- ์: ๊ธฐ๊ณ ๋ฒ์ญ ์์
์์ ํค๋ ํ ์ธ์ด์ ํ
์คํธ ์ฝํผ์ค์์, ์ฟผ๋ฆฌ๋ ๋ค๋ฅธ ์ธ์ด์์ ๊ฐ์ ธ์ด / ์์ฑ ์ธ์ ์์
์์ ์ฟผ๋ฆฌ๋ ์ค๋์ค ๋ฐ์ดํฐ์ด๊ณ ํค๋ ํด๋น ์ค๋์ค๋ฅผ ์ ์ฌํ๊ธฐ ์ํ ํ
์คํธ ๋ฐ์ดํฐ์
- Self-Attention(์
ํ ์ดํ
์
)
- Query, Key, Value ๋ชจ๋ ๋์ผํ ์์ค์์ ๊ฐ์ ธ์ด
- Matrix Multiplication ์ฐ์ฐ์ ํตํด ์ ๋ณด๋ฅผ ๋ชจ๋ ์ฐธ๊ณ ํ์ฌ Attention Score๋ฅผ ๊ณ์ฐ
- ์ ๋ณด ์ ์ฒด์ ๋ฌธ๋งฅ์ ๊ณ ๋ คํ์ฌ ๊ฐ์ค์น๋ฅผ ๊ณ์ฐ (ffighting.net)
RNN ์์ฐจ์ฒ๋ฆฌ์ ํ๊ณ
- ๊ธด ๋ฌธ์ฅ, ์ฅ๊ธฐ ์์กด์ฑ ๋ฌธ์
- Self-Attention: ๋ชจ๋ ๋จ์ด ๊ฐ ๊ด๊ณ๋ฅผ ๋์์ ๊ณ ๋ ค
- Self-Attention์ ๋จ์ด ์์์ ๋ฐ๋ฅธ ์๋ฏธ ๋ณํ ํฌ์ฐฉ์ ์ ๋ฆฌ(๋งฅ๋ฝ์ ๋์ ํ์
)
๐ถ Attention
- ๋ฅ๋ฌ๋ ๋ชจ๋ธ์ด ์
๋ ฅ ๋ฐ์ดํฐ์์ ๊ฐ์ฅ ๊ด๋ จ์ฑ์ด ๋์ ๋ถ๋ถ์ ์ฐ์ ์์๋ฅผ ๋ถ์ฌ(๋๋ ์ฃผ์)ํ๋๋ก ์ง์ํ๋ ๋จธ์ ๋ฌ๋ ๊ธฐ๋ฒ (www.ibm.com)
- ์์
์ ๋ํ ์
๋ ฅ ์ํ์ค์ ๊ฐ ๋ถ๋ถ์ ์๋์ ์ค์์ฑ์ ๋ฐ์ํ๋ ์ดํ
์
๊ฐ์ค์น๋ฅผ ๊ณ์ฐ -> ํด๋น ์ดํ
์
๊ฐ์ค์น๋ฅผ ์ ์ฉํ์ฌ ์
๋ ฅ์ ๊ฐ ๋ถ๋ถ์ ์ํฅ๋ ฅ์ ๊ฐ๊ฐ์ ์ค์๋์ ๋ฐ๋ผ ์ฆ๊ฐ(๋๋ ๊ฐ์)์ํด
- ์ฃผ๋ก LLM๊ณผ ๊ด๋ จ ์์ (์์ฝ, ์ง๋ฌธ ๋ต๋ณ, ํ
์คํธ ์์ฑ ๋ฐ ๊ฐ์ ๋ถ์๊ณผ ๊ฐ์ ์์ฐ์ด ์ฒ๋ฆฌ(NLP) ์์
์ ์ฌ์ฉ)
๐ถ Query, Key, Value (Q,K,V)
- Query(Q): ํ์ฌ ๊ด์ฌ์ ๊ธฐ์ธ์ด๋ ๋์ ๋ฒกํฐ
- ์: ๊ฒ์์ฐฝ์ ์
๋ ฅํ ์ง์์ด์ ํด๋น
- Key(K): ๊ฐ ๋จ์ด(ํ ํฐ)์ ์๋ณ ๋ฒกํฐ(์ ๋ณด ์ ๋ชฉ) / Query์ ์ผ๋ง๋ ๊ด๋ จ์๋์ง(score) ํ๋จ์ ์ฐ์
- Value(V): ์ค์ ์ ๋ณด(๋ด์ฉ) ๋ฒกํฐ/ Attention ์ค์ฝ์ด๋ก ๊ฐ์คํฉํ ๊ฐ์ผ๋ก ์ฌ์ฉ
- Q์ K์ ๋ด์ ์ผ๋ก ์ ์ฌ๋(AttentionScore) ๊ณ์ฐ โ V ๊ฐ์คํฉ ๋ฐ์
๐ค ์ฉ์ด ์ ๋ฆฌ
๐ถ Dependencies
- ๋ฉ๋ฆฌ ๋จ์ด์ง ์
๋ ฅ ๊ฐ์ ๊ด๊ณ(์์กด์ฑ)
๋ฏผ์ง๋ ํ๊ต์ ๊ฐ๊ณ , 5์๊ฐ ํ์ ๊ทธ๋
๋ ์ง์ ๋์์๋ค.
๊ทธ๋
๊ฐ ๋ฏผ์ง
๋ฅผ ์ง์นญํ๋ ๊ฑธ ์ดํดํ๋ ค๋ฉด, ๋ฉ๋ฆฌ ๋จ์ด์ง ๋จ์ด๋ค ๊ฐ์ ๊ด๊ณ๋ฅผ ํ์
ํ ์ ์์ด์ผ ํจ
๐ธ Long-Term Dependencies
- ์๊ฐ(Time) ๊ด์ ์ ๊ฐ๊น์ -> ์์ ์ํ(state) ์ ๋ณด๊ฐ ์ผ๋ง๋ ์ค๋ ์ ์ง๋๋๊ฐ
- ์ฌ์ฉ ๋ถ์ผ: RNN, LSTM ๊ฐ์ ์๊ณ์ด ๋ชจ๋ธ
- ์์: ์์ ๋ฌธ์ฅ์ ์๋ฏธ๋ฅผ ๋ช ์์ ๋ค๊น์ง ๊ธฐ์ตํ๋ ๋ฅ๋ ฅ
๐ธ Long-Range Dependencies
- ์์น(Position) ํน์ ๊ฑฐ๋ฆฌ ๊ด์ -> ๋จ์ด์ ธ ์๋ ๋ ๋จ์ด/์์ ๊ฐ ๊ด๊ณ๋ฅผ ์ผ๋ง๋ ์ ํฌ์ฐฉํ๋๊ฐ
- ์ฌ์ฉ ๋ถ์ผ: Transformer, Attention ๋ชจ๋ธ ๋ฑ
- ์์: ์
๋ ฅ ๋ฌธ์ฅ ๋ด ๋ฉ๋ฆฌ ๋จ์ด์ง ๋จ์ด ๊ฐ ๊ด๊ณ๋ฅผ ์ธ์ํ๋ ๋ฅ๋ ฅ
๐ถ pre-training(์ฌ์ ํ์ต)
- ๋ชฉ์ : ์ธ์ด์ ์ผ๋ฐ์ ์ธ ํจํด, ๋ฌธ๋ฒ, ๋ฌธ๋งฅ ์ ๋ณด๋ฅผ ํ์ต
- ๋ฐฉ๋ฒ: ๋๊ท๋ชจ ํ
์คํธ ๋ฐ์ดํฐ์
(์: BookCorpus, CommonCrawl) ์ฌ์ฉ
- Auto-regressive ๋ฐฉ์์ผ๋ก ๋ค์ ํ ํฐ ์์ธก (์์: "์ด ๋ฌธ์ฅ์ ..." ์ดํ ๋จ์ด ์์ธก)
๐ถ fine-tuning
- ์ฌ์ ํ์ต๋ ๋ชจ๋ธ์ ํน์ ์์
(์ง๋ฌธ ๋ต๋ณ, ๋ฒ์ญ, ์์ฝ ๋ฑ)์ ๋ง๊ฒ ์ถ๊ฐ ํ์ต
- ํจ๊ณผ: ๋ชจ๋ธ์ด ํน์ ๋๋ฉ์ธ์ด๋ ๊ณผ์ ์ ์ต์ ํ๋์ด ์ฑ๋ฅ ํฅ์
- ์์: ChatGPT, Codex ๋ฑ ์์ฉ ์ฌ๋ก
๐ถ Auto-regressive
- Auto-regressive ๋ชจ๋ธ์ ์๋ฆฌ: ์ด์ ์ ๋ชจ๋ ํ ํฐ(๋ฌธ๋งฅ)์ ๋ฐํ์ผ๋ก ๋ค์ ํ ํฐ์ ์์ฐจ์ ์ผ๋ก ์์ธก
- ์: ์ธ์ด ๋ชจ๋ธ์์ ๋ฌธ์ฅ์ด๋ ๋จ์ด ์ํ์ค๋ฅผ ์์ฐจ์ ์ผ๋ก ์์ฑ
- Auto-regressive ๋ฐฉ์ ๋๋ถ์ GPT๋ ๋ค์ํ ์์ฐ์ด ์์ฑ ์์
์์ ๋ฐ์ด๋ ์ฑ๋ฅ์ ๋ณด์ด๋ฉฐ, pre-training๊ณผ fine-tuning์ ํตํด ๋ค๋ชฉ์ ์์ฉ์ ์ ์ฐํ๊ฒ ๋์
๐ธ ํ์ต ๋ฐฉ๋ฒ
- Teacher Forcing ๋ฐฉ์
- ์ค์ ์ ๋ต(ground truth) ํ ํฐ์ ์
๋ ฅ์ผ๋ก ์ ๊ณตํ๋ฉฐ ํ์ต
- ์ฅ์ : ๋น ๋ฅธ ํ์ต ๋ฐ ์์ ์ ์๋ ด ๊ฐ๋ฅ
- ๋จ์ : ํ์ต๊ณผ ์ค์ ์์ฑ ๊ณผ์ ์ ์ฐจ์ด ๋ฐ์ ๊ฐ๋ฅ์ฑ ์กด์ฌ
- ์ถ๋ ฅ ๋ถํฌ์ Softmax ํจ์
- ๋ชจ๋ธ์ ์ถ๋ ฅ ์ธต์์ Softmax ํจ์๋ฅผ ํตํด ๋ค์ ๋จ์ด์ ํ๋ฅ ๋ถํฌ๋ฅผ ์์ธก
- ๊ฐ์ฅ ํ๋ฅ ์ด ๋์ ๋จ์ด๊ฐ ์ ํ๋จ
๐ธ ์ํ๋ง ๊ธฐ๋ฒ
- Greedy Decoding
- ๋งค ๋จ๊ณ ๊ฐ์ฅ ๋์ ํ๋ฅ ์ ๋จ์ด ์ ํ
- ์ฅ์ : ๋น ๋ฅด๊ณ ๊ฐ๋จ
- ๋จ์ : ๋จ์กฐ๋กญ๊ณ ๋ค์์ฑ ๋ถ์กฑํ ๋ฌธ์ฅ ์์ฑ
- Beam Search
- ๋์์ ์ฌ๋ฌ ํ๋ณด ๋ฌธ์ฅ์ ์ ์งํ๋ฉด์ ์์ฑ
- ์ฅ์ : ๋ ๋์ ํ์ง์ ๋ฌธ์ฅ ์์ฑ ๊ฐ๋ฅ
- ๋จ์ : ๊ณ์ฐ ๋น์ฉ ์ฆ๊ฐ, ๋ฐ๋ณต ๋ฌธ์ ๋ฐ์ ๊ฐ๋ฅ์ฑ ์์
- Top-k, Top-p (Nucleus) ์ํ๋ง
- ํ๋ฅ ๋ถํฌ ๋ด ์์ ํ๋ณด์์ ๋ฌด์์๋ก ์ ํ
- ์ฅ์ : ๋ค์ํ๊ณ ์ฐฝ์์ ์ธ ๋ฌธ์ฅ ์์ฑ ๊ฐ๋ฅ
- ๋จ์ : ๋๋๋ก ์ผ๊ด์ฑ์ด ๋จ์ด์ง ์ ์์
๐ธ ์ฅ์
- ์์ฐ์ค๋ฝ๊ณ ์ผ๊ด๋ ํ
์คํธ ์์ฑ ๊ฐ๋ฅ
- ๋ฌธ๋งฅ์ ๋ฐ๋ฅธ ์กฐ๊ฑด๋ถ ์์ธก์ผ๋ก ๋์ ์ ์ฐฝ์ฑ ์ ๊ณต
- Few-shot, Zero-shot ํ์ต์์ ๋ฐ์ด๋ ์์ฉ์ฑ
- ์๋์ ๋ฐ์ดํฐ๋ ์ค๋ช
๋ง์ผ๋ก๋ ํน์ ์์
์ํ ๊ฐ๋ฅ (GPT-3 ์ฌ๋ก)
๐ธ ๋จ์
- ๊ธด ๋ฌธ์ฅ ์์ฑ ์ ๋์ ์ค๋ฅ ๋ฐ์ ๊ฐ๋ฅ (๋ฐ๋ณต ๋ฐ ์ ๋ณด ๋๋ฝ ๋ฌธ์ )
- ์์ฑ ๊ณผ์ ์์ฐจ์ ์์ธก์ผ๋ก ์ธํ ๊ณ์ฐ ๋น์ฉ ์ฆ๊ฐ (๋ณ๋ ฌ ์ฒ๋ฆฌ ์ด๋ ค์)
๐ธ ์ฃผ์ ์์ฉ ๋ถ์ผ
- ์ฐฝ์์ ์ธ ํ
์คํธ ์์ฑ (์คํ ๋ฆฌ, ๋ง์ผํ
์ฝํ
์ธ )
- ๋ํํ AI์๋น์ค (์ฑ๋ด, ๊ณ ๊ฐ ์๋น์ค ๋ฑ)
- ์๋ ๋ฒ์ญ, ์ฝ๋ ์๋ ์์ฑ, ์์ฝ ์๋น์ค
์์ฉ ์ฌ๋ก
- ChatGPT: ๋ํํ ์์ฉ ์ฌ๋ก (์ผ์ ๋ํ, ๊ณ ๊ฐ ์๋ ๋ฑ)
- Codex (GitHub Copilot): ์๋ ์ฝ๋ ์์ฑ ๋ฐ ํ๋ก๊ทธ๋๋ฐ ์ง์ ์ฌ๋ก
- ์ฝํ
์ธ ์ ์: ๋ธ๋ก๊ทธ, ๋ง์ผํ
์ฝํ
์ธ ์๋ํ ์ฌ๋ก ๋ฑ
๐ถ ZSL(Zero-Shot Learning, ์ ๋ก์ท ํ์ต)
- ์ฌ์ ์ ํด๋น ์นดํ
๊ณ ๋ฆฌ๋ ๊ฐ๋
์ ์์ ๋ฅผ ๋ณด์ง ์๊ณ ๋ ๊ฐ์ฒด๋ ๊ฐ๋
์ ์ธ์ํ๊ณ ๋ถ๋ฅํ๋๋ก AI ๋ชจ๋ธ์ ํ์ต์ํค๋ ๋จธ์ ๋ฌ๋ ์๋๋ฆฌ์ค (www.ibm.com)
- ๊ธฐ๊ณ ํ์ต์ ํ ๋ถ์ผ๋ก, ๋ชจ๋ธ์ด ํ์ต ๊ณผ์ ์์ ๋ณธ ์ ์ด ์๋ ์๋ก์ด ํด๋์ค๋ฅผ ์ธ์ํ ์ ์๋๋ก ํ๋ ๊ธฐ์ (wikidocs.net)