์์ chatgpt, claude, gemini ์ ๊ฐ์ ๊ฑฐ๋์ธ์ด๋ชจ๋ธ(LLM)์ ๋จ์ํ ๊ธฐ์ ์ ๋์ด ์ผ์๊ณผ ์
๋ฌด ์ ๋ฐ์ ์๋ฆฌ์ก๊ณ ์๋ค.
์ด LLM์ ๋ฌด์์ด๊ณ , ์ด๋ป๊ฒ ๋ฌธ์ฅ์ ์์ฑํ๊ณ , ์ง๋ฌธ์ ๋ตํ๊ณ , ์ถ๋ก ๊น์ง ๊ฐ๋ฅํ๊ฑธ๊น??
LLM
`Large Language Model`์ ์ฝ์๋ก ๋ํ ์ธ์ด ๋ชจ๋ธ์ ๋งํ๋ค.
๊ทธ๋ผ LM(์ธ์ด๋ชจ๋ธ)์ ๋ฌด์์ผ๊น?
์ธ์ด ๋ชจ๋ธ์ ์ธ์ด๋ผ๋ ํ์์ ๋ชจ๋ธ๋ง ํ๊ณ ์ ๋จ์ด ์ํ์ค(=๋ฌธ์ฅ) ์ ํ๋ฅ ์ ํ ๋น(assign) ํ๋ ๋ชจ๋ธ์ด๋ค.
์ธ์ด ๋ชจ๋ธ์ ํฌ๊ฒ ์๋์ ๋ฐฉ๋ฒ์ผ๋ก ๋ง๋ค์ด์ง ์ ์๋ค.
- ํต๊ณ๋ฅผ ์ด์ฉํ ๋ฐฉ๋ฒ
- ์ธ๊ณต ์ ๊ฒฝ๋ง์ ์ด์ฉํ ๋ฐฉ๋ฒ
ํ๋ฅ ์ ํ ๋นํ๋ค๋๊ฒ ์ดํด๊ฐ ์ ์๋๋๋ฐ ์ด๋ฐ ๋๋์ด๋ผ๊ณ ํ๋ค. (์ฐธ๊ณ )
์ฌ๋๋ค์ด I love you๋ ์ ๋งํด๋ I love me ๋ ์ ๋งํ์ง ์๋๋ค.
๋ชจ๋ธ์ด ์ด ํจํด์ ํ์ตํ๋ฉด I love ๋ผ๋ ๋ง๊น์ง ๋์์ ๋ ๊ธฐ๊ณ ์
์ฅ์์๋ i love you๋ฅผ i love me๋ณด๋ค ๋ ๋ง์ด ํ์ตํ๊ณ , ๊ฐ์ค์น(weight)๊ฐ ๋ ๋์์ ์ ์ ์๋ค. ์ฆ, ๋ค์์ ๋์ฌ ๋ง์ด you ์ผ ํ๋ฅ ์ด ๋๋ค๋ ๊ฒ์ ์ ์ ์๋ค.
ํ์ง๋ง ์ด๋ฌํ ๋ฐฉ์์ผ๋ก ์ธ์ด๋ฅผ ์ดํดํ๋ ค๋ฉด ์์ฒญ๋๊ฒ ๋ง์ ์์ ๋ฐ์ดํฐ๋ฅผ ํ์ตํด์ผ ํ ํ
๋ฐ ์๋ ์๋ ํ๋์จ์ด๊ฐ ๋ถ์กฑํด์ ๋ฐ์ดํฐ๋ฅผ ํ์ตํ์ง ๋ชปํ๋ค.
๊ทธ๋ฐ๋ฐ ์์ ํ๋์จ์ด๊ฐ ์ข์์ง๋ฉด์ ๋ง์ ์์ ํ์ตํ ์ ์๊ฒ ๋์๊ณ , ๊ทธ๊ฒ L(Large)LM์ด๋ค.
LLM์ ๋ฅ๋ฌ๋์ ๋ฐฉ์์ผ๋ก ๋ฐฉ๋ํ ์์ ์ฌ์ ํ์ต(pre-trained)ํ ์ ์ด(transformer) ํ์ต ๋ชจ๋ธ์ด๋ผ๊ณ ํ ์ ์๋ค.
์ธ์ด๋ฅผ ์ธ์ด๋ก ํ์ตํ๋ ค๋ฉด ์ผ๋ง๋ ๋ง์ ๊ธ์ ํ์ตํ์์ง ๊ฐ๋ ์์จ๋ค... openai์์๋ chatgpt ์ด๊ธฐ ๋ชจ๋ธ ๋ง๋๋๋ฐ 460๋ง๋ฌ๋ฌ๊ฐ ๋ค์๋ค๊ณ ํ๋ค
Transformer
Transformer๋ 2017๋
๊ตฌ๊ธ์ด ๋ฐํํ ๋
ผ๋ฌธ์ธ "Attention is all you need"์์ ๋์จ ๋ชจ๋ธ์ด๋ค.
๊ธฐ์กด์ encoder-decoder(seq2seq) ๊ตฌ์กฐ๋ฅผ ๋ฐ๋ฅด๋ฉด์ Attention ๋ง์ผ๋ก ๊ตฌํํ ๋ชจ๋ธ์ด๋ค.
Sequence-to-Sequence (seq2seq)
์ํ์ค-ํฌ-์ํ์ค๋ ์ ๋ ฅ๋ ์ํ์ค๋ก๋ถํฐ ๋ค๋ฅธ ๋๋ฉ์ธ์ ์ํ์ค๋ฅผ ์ถ๋ ฅํ๋๋ฐ์ ์ฌ์ฉ๋๋ค.
* ์ฐธ๊ณ : RNN๊ณผ seq2seq ์ฐจ์ด
- RNN: ๋ฌธ์ฅ์ ๊ตฌ์ฑํ๋ ๋จ์ด๊ฐ ์
๋ ฅ๋๋ฉด ๊ทธ๋๋ง๋ค output์ ๋ง๋ฆ
- seq2seq: ๋ชจ๋ ๋ฌธ์ฅ์ ๋๊น์ง ๋ค์ ํ ํ๋์ ์์ ํ ๋ฌธ์ฅ ์์ฑ
๋ด๋ถ๋ฅผ ๋ณด๋ฉด Encoder์ Decoder๋ผ๋ ๋ชจ๋๋ก ๊ตฌ์ฑ๋๋ค.
- Encoder: ์ ๋ ฅ๋ sequence๋ฅผ ๋ฒกํฐ์ ํํ๋ก ์์ถํ์ฌ decoder ์ ๋ฌ (=context vector)
- Decoder: ์ ๋ฌ๋ฐ์ ๋ฒกํฐ๋ฅผ ์ฒซ ์ ์ hidden state๋ก ๋ฃ์ด์ฃผ๊ณ , start flag(๋ฌธ์ฅ์ ์์์์ ์๋ฆผ, sos)์ ํจ๊ป ๋ชจ๋ธ ์์ ์ ์์ ๋์จ output์ ๋ฌธ์ฅ์ ์ฒซ ๋จ์ด๋ก ๋๊ณ ์ด๊ฒ์ด ๋ค์ ๋๋ฒ์งธ cell์ input๊ณผ ํจ๊ป ๋ค์ด๊ฐ๋ ๊ณผ์ ๋ฐ๋ณต
* hidden state: ๋ชจ๋ธ์ด ์ ๋ ฅ ์ํ์ค๋ฅผ ์ฒ๋ฆฌํ๋ฉด์ ํ์ฌ๊น์ง์ ์ ๋ณด๋ฅผ ์์ถํ ์์ฝ ๋ฒกํฐ (ํ์ฌ ์ ๋ ฅ+๊ณผ๊ฑฐ๊ธฐ์ต)
ํ์ง๋ง ์ฌ๊ธฐ์๋ ๋ช
ํํ ํ๊ณ๊ฐ ์กด์ฌํ๋ค.
๋ RNN์ ๊ณ ์ง์ ์ธ ๋ฌธ์ ์ธ vanishing gradient ๋ฌธ์ ๊ฐ ์๊ณ ,
context vector๊ฐ ์์ถ์ ๊ณ ์ ๋ ๊ธธ์ด๋ก ํ๊ธฐ ๋๋ฌธ์ ์์ค์ด ๋ฐ์ํ ์๋ฐ์ ์๋ค.
encoder์ ๋ง์ง๋ง hidden state์ input ๋ฌธ์ฅ์ ๋ํ ๋ชจ๋ ์ ๋ณด๋ฅผ ๋ด์์ผ ํ๊ณ , hidden state์๋ง ์ ๋ณด ์ ๋ฌ์ ์์กดํ๊ฒ๋๋ฏ๋ก ์์ชฝ ์ ๋ณด๋ฅผ ๊ฑฐ์ ์ ์ฅํ์ง ๋ชปํ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค. (=bottleneck problem)
๋ฐ๋ผ์ ๋ฌธ์ฅ์ด ๊ธธ์ด์ง์๋ก ์ฑ๋ฅ์ ์ ํ๋๋ค.
๊ทธ๋์ Attention ๋ฉ์ปค๋์ฆ์ด ๊ณ ์๋์๋๋ฐ Encoder์ ์ต์ข
์ hidden state๋ง ์ฌ์ฉํ๋๊ฒ ์๋๋ผ ๋ชจ๋ time step์ hidden state๋ฅผ ํ์ฉํด context vector๋ฅผ ๊ตฌ์ถํ์ฌ seq2seq ํ๊ณ๋ฅผ ๊ทน๋ณตํ ์ ์๋ค.
Attention
Attention์ ๊ธฐ์กด์ ๊ณ ์ ๊ธธ์ด context vector๋ก ์ธํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์๊ฒผ๋ค.
๋์ฝ๋์์ ์ถ๋ ฅ ๋จ์ด๋ฅผ ์์ธกํ๋ ๋งค ์์ (time step) ๋ง๋ค ์ธ์ฝ๋์์์ ์ ์ฒด ์
๋ ฅ ๋ฌธ์ฅ์ ๋ค์ ํ ๋ฒ ์ฐธ๊ณ ํ๋ค๋ ์์ด๋์ด์์ ์ถ๋ฐํ๋ค.
๋ค๋ง, ๋ฌธ์ฅ์ ์ ๋ถ ๋์ผํ ๋น์จ๋ก ์ฐธ๊ณ ํ๋ ๊ฒ์ด ์๋๋ผ ํด๋น ์์ ์์ ์์ธกํด์ผ ํ ๋จ์ด์ ์ฐ๊ด์ด ์๋ ๋จ์ด ๋ถ๋ถ์ ์ง์ค(attention)ํด์ ๋ณธ๋ค.
๋์ ๋ฐฉ์์ ์ฌ๊ธฐ์ ์์๋๋ก ์ ์ค๋ช
๋์ด ์๋ค.
๊ฐ๋จํ ๋งํ๋ฉด
Encoder์ I am a student๋ฅผ ์
๋ ฅํ๊ณ Decoder์ 3๋ฒ์ฉจ LSTM cell (์ด๋ก์)์์ ์ถ๋ ฅ ๋จ์ด๋ฅผ ์์ธกํ๋ ์ํฉ์ด๋ค.
Encoder์์๋ ๋จ์ด๋ฅผ ํ๋์ฉ LSTM์ ๋ฃ์ด์ ์๋๋ฒกํฐ๋ฅผ ๊ตฌ์ฑํ๋ค. (=๊ฐ LSTM์์๋ ๊ทธ time step์ ์๋ ๋ฒกํฐ๋ฅผ ๊ฐ์ง๊ณ ์์)
Decoder์์๋ ํ์ฌ ์ ์ถํ๋ ค๋ ๋จ์ด๋ฅผ ๋ง๋ค ๋ ๊ฐ์ฅ ๊ด๋ จ์๋ Encoder์ ๋จ์ด๊ฐ ๋ฌด์์ธ์ง ์ฐพ์ผ๋ ค๊ณ ํ ๊ฒ์ด๋ค.
Decoder์์๋ ํ์ฌ ์ํ์ ์๋ ์ํ๋ฅผ ๊ฐ์ง๊ณ encoder์ ๊ฐ ์๋์ํ์ ๋ด์ ํ์ฌ Attention Score (์ด๋ก์ ๋๊ทธ๋ผ๋ฏธ) ๋ฅผ ๋ง๋ ๋ค. ์ด๊ฑธ๋ก Attention Weight๋ฅผ ๋ง๋ค๊ฑด๋ฐ, ๋ชจ๋ ์์์ด๊ณ ํฉ์ด 1๋ก ๋ง๋ค๊ธฐ ์ํด softmax ๊ณผ์ ์ ๊ฑฐ์น๋ค (๋นจ๊ฐ์ ์ธ๋ก๋ก ๊ธด ๋ค๋ชจ)
softmax๊น์ง ๊ฑฐ์น๋ฉด ์ด๋ค ๋จ์ด๊ฐ ๊ฐ์ฅ ์ฐ๊ด์ฑ์ด ์๋์ง weight๋ก ๋ํ๋ด๊ธฐ ์ํด ๊ฐ ์ธ์ฝ๋์ ์๋ ์ํ์ attention weight๋ฅผ ๊ณฑํ๊ณ ๋ํด์(weighted sum) Attention value๋ฅผ ๋ง๋ ๋ค. (์ด๋ก์ ์ธ๋ชจ)
์ฆ Attention Value๋ encoder์ ๋ชจ๋ ์๋ ์ํ ๊ฐ๊ฐ์ด decoder์ ํ ์์ ์ ์๋์ํ์ ์ผ๋ง๋ ์ ์ฌํ์ง ํ๋จํ๋ ๊ฐ์ด๋ค.
์ด๋ ๊ฒ ๊ตฌํด์ง Attention Value ์ St (๋์ฝ๋์ ํ ์์ ์ ์๋์ํ)์ ๊ฒฐํฉํ์ฌ ํ๋์ ๋ฒกํฐ๋ก ๋ง๋ ๋ค (Vt)
๊ทธ๋ฆฌ๊ณ ์ด ๋ฒกํฐ๋ฅผ ์์ธก ์ฐ์ฐ์ ์
๋ ฅ๊ฐ์ผ๋ก ์ฌ์ฉํจ์ผ๋ก์จ ๋ ์ ์์ธกํ ์ ์๋๋ก ํ๋ค.
๋ค๋ง attention value๋ฅผ ๊ตฌํ๋ ๊ณผ์ ์์ ๋ด์ ์ ํ ๋ ์์ ์ ๋ณด๊ฐ ์๋ค.
์๋ฅผ๋ค์ด (https://www.youtube.com/watch?v=6s69XY025MU)
"์ธ๋ ์์์ ์ ๊ฐ๋ ์ค ์ฃผํ ๊ธ์ง ํ์งํ์ ๋ณด์๋ค" ๋ผ๋ ๋ฌธ์ฅ์ ์์ด๋ก ๋ฒ์ญํ๋ค๊ณ ๊ฐ์ ํด๋ณด๋ฉด
key๋ฅผ ์๋์ ๊ฐ์ด ๋๋ด์ ๋
- ์ธ๋
- ์์์ ์
- ๊ฐ๋ ์ค
- ์ฃผํ ๊ธ์ง
- ํ์งํ์
- ๋ณด์๋ค
"์ธ๋"๋ผ๋ ๊ธ์๋ฅผ ์ฒ์์ ๋ด์ ํ๋ ๋์ค์ ๋ด์ ํ๋ ๊ฒฐ๊ณผ๋ ๋๊ฐ๋ค๋ ์๋ฏธ์ด๋ค.
์ด attention value๊ฐ์ "์ธ๋ ์์์ ์ ๊ฐ๋ ์ค ์ฃผํ ๊ธ์ง ํ์งํ์ ๋ณด์๋ค" ์์๋ก ํ๋๊ฒ๊ณผ, "์ธ๋ ์ฃผํ ๊ธ์ง ํ์งํ์ ์์์ ์ ๊ฐ๋ ์ค ๋ณด์๋ค" ์์๋ก ํ๋๊ฑฐ๋ ๋์ผํ๋ค.
๊ทธ๋ฌ๋๊น ์ ์ดํดํ๊ณ ๋ฒ์ญํ๋ ค๋ฉด ๋จ์ด ์์ ์ ๋ณด๋ฅผ ๋ฃ์ด์ผ ํ๋๋ฐ ์๋์ transformer์์ positional encoding ์ ์ถ๊ฐํด ๋จ์ด์ ์์ ์ ๋ณด๋ฅผ ์ถ๊ฐํ๋ค.
์ถ๊ฐ๋ก RNN ๊ณ์ด์ ๋คํธ์ํฌ๋ฅผ ๊ณ์ ์ํ์
๋ฐ์ดํธํ๋ ๊ตฌ์กฐ๋ค๋ณด๋ ์ฐ์ฐ ํจ์จ์ด ๋จ์ด์ง๋ค.
Transformer์์๋ RNN์ ์ฌ์ฉํ์ง ์๊ณ attention๋ง์ ์ด์ฉํด์ encoder-decoder ๊ตฌ์กฐ๋ฅผ ๋ง๋ค์ด์ ์ฐ์ฐ ํจ์จ์ด ์ข๋ค๊ณ ํ๋ค.
Transformer
์๊ฐ์ด ์ง๋์ ๋ญ๊ฐ ๋ง์ด ๋์ฒด๋ ๊ฒ ๊ฐ์๋ฐ ๋ง์ ๋ถ์ผ์์ SOTA๋ฅผ ๋ฌ์ฑํ๋ค๊ณ ํ๋ค. (https://paperswithcode.com/sota)
transformer์์ ์ธ์ฝ๋ ์ ๋ ฅ ๋ถ๋ถ์ ์์ค ์ํ์ค์ input embedding์ ํน์ ์์น๋ง๋ค ํน์ ๋ฒกํฐ๋ฅผ ๋ํ๋ ๊ท์น์ ๋ฌ์ positional encoding(์์น์ ๋ณด)๋ฅผ ์ถ๊ฐํด์ ๋ง๋ ๋ค.
๋ง์ฝ "์ธ๋ ์์์ ์ ๊ฐ๋ ์ค"์ "์ธ๋" "์์์ ์" "๊ฐ๋์ค"์ ํ ํฐ ์ํ์ค๋ก ๋๋ด์ ๋ "์ธ๋" ์๋ 1๋ฒ flag ๋ฒกํฐ, "์์์ ์"์๋ 2๋ฒ flag ๋ฒกํฐ๋ฅผ ๋ํ๊ณ , ๊ฐ ๋จ์ด์ ๋ฒกํฐ๋ฅผ ํ์ธํ์ ๋ ๋ช ๋ฒ์งธ ๋จ์ด์ธ์ง๋ฅผ ์ ์ ์๋ค.
ํ์ง๋ง positional encoding์ ์ถ๊ฐํ๋ ๊ฒ๋ง์ผ๋ก๋ ์๋ ์์์ "์ธ๋"๊ฐ ์ธ๋(India)์ธ๊ฑด์ง ์ธ๋(ไบบ้)์ธ๊ฑด์ง ์ ์๊ฐ ์๋ค.
- ์ธ๋ ์์์ ์ ๊ฐ๋ ์ค ์ฃผํ ๊ธ์ง ํ์งํ์ ๋ณด์๋ค.
- ์ธ๋ ์ฃผํ ๊ธ์ง ํ์งํ์ ์์์ ์ ๊ฐ๋ ์ค ๋ณด์๋ค.
๊ทธ๋ฌ๋๊น ์ธ๋ ๋ค์์ ์ค๋ ๊ธ์๋ฅผ ์ฐธ๊ณ ํด์ผ ์ธ๋ ์์์ ์ธ๊ฑด์ง ์ธ๋ ์ฃผํ์ธ๊ฑด์ง๋ฅผ ๋งฅ๋ฝ์ ํ์
ํ ์ ์๋ค.
์ด๋ Self-Attention์ด๋ผ๋ ๋ฉ์ปค๋์ฆ์ ํตํด ๋งฅ๋ฝ์ ํ์
ํ ์ ์๋ค.
transformer์์ ์ธ์ฝ๋์ ๋์ฝ๋์ ๊ตฌ์กฐ๋ Self-Attention (๋
ธ๋์-์ฃผํฉ์ ๋ค๋ชจ)์ FFN(๋
ธ๋์-ํ๋์ ๋ค๋ชจ) ๋ก ์ด๋ฃจ์ด์ ธ์๋ค.
FFN์ ๊ทธ๋ฅ linear layer๋ผ๊ณ ํ๋ค.
Attention์์ Key๋ Value๊ฐ์ ๋์ผํ ๊ฐ์ ์ธ ๋ Self Attention์ด๋ผ๊ณ ํ๋ค. ์ฆ ์๊ธฐ ์์ ์๊ฒ attention์ ํ๋ ๊ฒ์ด๋ค.
Q="์ธ๋" ๋ผ๊ณ ํ๋ฉด "์ธ๋~~๋ณด์๋ค" ๊น์ง ๋ด์ ํ key์ "์ธ๋~๋ณด์๋ค"์ value๋ฅผ ๊ณ์ฐํด์ ๊ฐ์คํฉ์ ๋ง๋ค๊ณ ์ด ๊ฒฐ๊ณผ๋ฅผ ๋ค์ layer์ ์
๋ ฅ์ผ๋ก ๋ค์ด๊ฐ๊ฒ ๋๋ค.
์ด "์ธ๋"๋ "์ธ๋~๋ณด์๋ค" ๊ฐ ๋จ์ด์ ๊ด๋ จ์ ๋๊ฐ ๋ฐ์๋ ํ๋์ ๊ฐ์ค์น ํฉ์ด๋ฏ๋ก
layer๋ฅผ ๋ช๋ฒ ์ง๋๊ฒ ๋๋ฉด ๊ทธ ๋ค๋ถํฐ "์ธ๋"๋ ๊ทธ๋ฅ ์ธ๋๊ฐ ์๋๋ผ "์ธ๋(๊ทธ๋ฐ๋ฐ ๋ค์ ์์์ ์ด ๋ถ์..)"์ด๋ผ๋ ์๋ฏธ๋ฅผ ๋ดํฌํ๊ฒ ๋๋ค.
์ฆ ๋งฅ๋ฝ์ด ๋ด๊ธด ๋จ์ด๊ฐ ๋๋ค.
๋ค๋ฅธ ๊ณผ์ ์ seq2seq ์ด๋ ๋น์ทํ ๊ฒ ๊ฐ๋ค.
"๋๋ ๋๋ฅผ ์ฌ๋ํด"๋ผ๋ ๋ฌธ์ฅ์ ์์ด๋ก ๋ฒ์ญํ๊ณ , ์ธ ๋ฒ์งธ ๋จ์ด๋ฅผ ์์ธกํ๋ค๊ณ ํ๋ฉด encoder์ decoder์๋ ๊ฐ๊ฐ ์๋์ input์ด ๋ค์ด๊ฐ๊ฒ ๋๋ค.
- Encoder: ๋๋ ๋๋ฅผ ์ฌ๋ํด(์์น์ ๋ณด ํฌํจ)
- Decoder: (sos) I Love (์์น์ ๋ณด ํฌํจ, N-1๋ฒ์งธ๊น์ง์ output ๊ฒฐ๊ณผ)
GPT์ BERT
original transformer ์ ๊ตฌ์กฐ๋ ์
๋ ฅ ์ํ์ค๋ฅผ ์ดํดํ๋ encoder์ ์ถ๋ ฅ ์ํ์ค๋ฅผ ์์ฑํ๋ decoder๋ก ๋๋์ด์ ธ ์๋ค.
`input sequence`๋ฅผ encoder๋ฅผ ํตํด ์ดํดํ๊ณ `output sequence`๋ฅผ decoder๋ฅผ ํตํด ์์ฑํ๋ค.
ํ์ง๋ง ๊ตณ์ด ์ธ์ฝ๋๋ ๋์ฝ๋๊ฐ ํ์ํ์ง ์์ ์๋ ์๋ค.
encoder๋ฅผ ๋บ๊ฒ GPT(decoder only)๊ณ decoder๋ฅผ ๋บ ํํ๊ฐ BERT(encoder only)๋ก, ๊ฐ์ฅ ์ฑ๊ณต์ ์ธ transformer์ ๋ณํ์ด๋ผ๊ณ ํ๋ค.
๋ ๋ชจ๋ธ์ ๊ณตํต์ ๋ง ๋จผ์ ์์๋ณด์๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
- Pretraining๊ณผ Fine-tuning: SSL(Self-Supervised Learning, unlabled data๋ก ํ์ตํ๋ ๊ธฐ๋ฒ)์ ์ด์ฉํด ๋๊ท๋ชจ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ ํ์ต
GPT
Generative Pre-trained Transformer
input sequence์ output sequence๋ฅผ ๋ถ๋ฆฌํ์ง ์๊ณ ํ๋์ ์ํ์ค์ ํํ๋ก ๊ฐ์ฃผํ๊ณ ์ ์ฒด ์ํ์ค๋ฅผ ์์ฑํ๋๋ก ํ๋ ๋ชจ๋ธ๋ง ๋ฐฉ์์ด๋ค.
๊ธฐ์กด์๋ "๋๋ ๋๋ฅผ ์ฌ๋ํด"๋ฅผ encoder๊ฐ ์ฒ๋ฆฌํ๊ณ , "I Love You" ๋ฅผ decoder๊ฐ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ธ๋ค.
ํ์ง๋ง ํ๋์ ์ํ์ค๋ก ์ฌ๊ตฌ์ฑํ์ฌ
- "Translate Korean to English: ๋๋ ๋๋ฅผ ์ฌ๋ํด => I love you"
๋ผ๋ ๊ธด ๋ฌธ์ฅ์ผ๋ก ๋ง๋ค๊ณ ์ด ๋ฌธ์ฅ์ด ์์ฐ์ค๋ฝ๊ฒ ์์ฑ๋๋ "I love you | Translate Korean to English: ๋๋ ๋๋ฅผ ์ฌ๋ํด" ๋ฅผ ๋ชจ๋ธ๋งํ ์ ์๋ค. ์ด๋ฌํ ๋ฐฉ์์ ๋์ฝ๋๊ฐ ์ฃผ์ด์ง ์ ๋ ฅ ์ํ์ค์ ๋ฌธ๋งฅ์ ํ์ฉํ์ฌ ์ถ๋ ฅ์ ์ง์ ์์ฑํ ์ ์๊ธฐ ๋๋ฌธ์ ๋์ฝ๋๋ง์ ์ด์ฉํด ๊ตฌํํ ์ ์๋ค.
OpenAI์์ ๊ฐ๋ฐํ GPT ๋ชจ๋ธ์ ์ด๋ฌํ ๋ฐฉ์์ ์ฑ์ฉํ์ฌ ๋ชจ๋ ํ ์คํธ ์์ฑ ์์ ์ ๋์ฝ๋๋ก ์ฒ๋ฆฌํ๋ค.
GPT์ ๊ตฌ์กฐ๋ ์ ๋ ฅ์ ๋ฐ์ ๊ฐ ์์ ์์ ๋ชจ๋ ์ด์ output์ ์ฐธ๊ณ ํด ๋ค์ outptu์ ์์ฑํ๋ ๋ฐฉ์์ผ๋ก ์๋ํ๋ค.
GPT๋ ์ธ์ด๋ฅผ ํ์ต์ํค๋ ๋ฐ์ ์ ํต์ ์ธ ์ธ์ด ๋ชจ๋ธ ๋ฐฉ์์ ์ฑํํ๋๋ฐ, ์ด๋ค ์ํ์ค๊ฐ ์ฃผ์ด์ก์ ๋ ๋ค์ ๋จ์ด์ ํ๋ฅ ์ ์ฃผ์ด์ง ์ํ์ค๋ฅผ ์ด์ฉํ์ฌ ๊ณ์ฐํ๋ ๋ฐฉ์์ด๋ค. (Autoregressive Model)
"I Love"๋ผ๋ ์ํ์ค๊ฐ ์ฃผ์ด์ก์ ๋ ๋ค์์ ์ค๋ ๋จ์ด๋ฅผ ์์ธกํ ๋ GPT ๋ชจ๋ธ์ "you"๊ฐ ์ฌ ํ๋ฅ ์ ๊ณ์ฐํ๋ค.
- P("you" | "I love")
์ด๋ฌํ ๋ฐฉ์์ผ๋ก ์ธํฐ๋ท์ ์๋ ๋ฐฉ๋ํ ์์ ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํด ๋ฌธ๋งฅ์ ๋ฐ๋ผ ๋ค์ ๋จ์ด์ ํ๋ฅ (=์ ํฉ์ฑ)์ ํ์ตํ๋ค.
๋ฐ๋ผ์ ์ด๋ ํ ๋จ์ด๊ฐ ์ฃผ์ด์ก์ ๋ ์ ๋ง ์ฌ๋์ด ์ผ์ ๊ฒ ๊ฐ์ ๋ฌธ์ฅ์ ์์ฑํด๋ผ ์ ์๊ฒ ๋๋ค.
BERT
Bidirectional Encoder Representations from Transformers
๋ถ๋ฅ๋ ํ๊ท์ ๋ถ์ผ์์๋ ๋ฐ์ดํฐ๋ฅผ ์ซ์๋ก ๋ณํํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ค. (๊ฐ์ ๋ถ์, ์ฃผ๊ฐ ์์ธก, ์๋ฃ ์ง๋จ ๋ฑ)
์ด๋ฌํ ์์
์ ์ถ๋ ฅ์ ์์ฑํ๋ ๊ฒ์ด ์๋๋ผ ์ซ์๋ ๋ฒ์๋ฅผ ์์ธกํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋์ฝ๋๋ฅผ ์๋ตํ ์ ์๋ค.
๋ฐ์ดํฐ๋ฅผ ์ซ์๋ก ๋งคํํ๋ ์์
๋ง ํ์ํ๊ธฐ ๋๋ฌธ์ ์ธ์ฝ๋๋ง ์ฌ์ฉํด๋ ๋๋ฉฐ, ๋ํ์ ์ธ ๋ฐฉ์์ด Google AI์์ ๊ฐ๋ฐํ BERT์ด๋ค.
BERT์์๋ ์ธ์ด๋ฅผ ํ์ตํ ๋ MLM(Maksed Language Model) ๋ฐฉ์์ ์ฑ์ฉํ๋ค.
MLM์์๋ ์ผ๋ถ ๋จ์ด๊ฐ Masked ์ฒ๋ฆฌ๊ฐ ๋๋๋ฐ, ๋ชจ๋ธ์ ์ด ๋ง์คํน ๋ ๋จ์ด๋ฅผ ์์ธกํด์ผ ํ๋ค.
์๋ฅผ ๋ค์ด "Nice to meet you" ๋ผ๋ ๋ฌธ์ฅ์ "Nice to [masked] you" ์ด๋ฐ ๋ฐฉ์์ผ๋ก ๋ง์คํน์ ํ ์ ์๊ณ ์๋ง์ ๋ฌธ์ ๋ฅผ ๋ง๋ค๊ณ ๋ต์ ๋ง๋ค์ด ๋ฐฐ์ธ ์ ์๋ค.
Nice to [masked] you ์์ [masked]๋ฅผ ์์ธกํ ๋ ์์ ์๋ "Nice to"์ ๋ค์ ์๋ "you"๋ฅผ ๋ชจ๋ ์ฐธ๊ณ ํ๊ธฐ ๋๋ฌธ์ Bi-directional ์ฆ ์๋ฐฉํฅ์ผ๋ก ๋ฌธ๋งฅ์ ์ดํดํ ์ ์๋ค.
๋ NSP(Next Sentence Prediction)๋ฅผ ์ด์ฉํด์๋ ๋ชจ๋ธ๋ง์ ํ๋๋ฐ,
- ๋๋ ์ง์ ๋ค์ด๊ฐ๋ค. ์ง์๋ ํ๋ฐฐ๊ฐ ์ ์์๋ค.
๋ ์ด์ด์ง ์ ์๋ ๋ฌธ์ฅ์ด์ง๋ง
- ๋๋ ์ง์ ๋ค์ด๊ฐ๋ค. ๋ฐ๋๋๋ ๋ ธ๋์์ด๋ค.
๋ ์ด์ด์ง ์ ์๋ ๋ฌธ์ฅ์์ ์ดํดํ๋ ๊ฒ์ด๋ค.
GPT์ BERT์ ์ฐจ์ด๋ฅผ ์์ฝํ๋ฉด ์๋์ ๊ฐ๋ค.
GPT | BERT | |
๋ชจ๋ธ ๊ตฌ์กฐ | Transformer Decoder-only | Transformer Encoder-only |
์ ๋ ฅ ์ฒ๋ฆฌ | ์ผ์ชฝ->์ค๋ฅธ์ชฝ ์์๋๋ก ๋จ๋ฐฉํฅ | ์๋ฐฉํฅ(Bidirectional)์ผ๋ก ๋ฌธ๋งฅ ์ดํด |
ํ์ต ๋ฐฉ์ | ๋ค์ ๋จ์ด ์์ธก (Autoregressive) | ๋ง์คํน๋ ๋จ์ด ๋ณต์ (Maked Language Modeling) |
์ฌ์ฉ ๋ชฉ์ | ํ ์คํธ ์์ฑ | ํ ์คํธ ์ดํด |
ํ์ฉ ๋ถ์ผ | ์ฑ๋ด, ๋ฌธ์ฅ ์์ฑ, ์ฝ๋ ์์ฑ ๋ฑ | ๋ฌธ์ฅ ๋ถ๋ฅ, ์ง๋ฌธ ์๋ต, ๊ฐ์ ๋ถ์ ๋ฑ |
๋ชจ๋ธ ์ | GPT-2, 3, 4 ๋ฑ | BERT-base, BERT-large, RoBERTa |
์ฐธ๊ณ
https://casa-de-feel.tistory.com/39
https://brunch.co.kr/@26dbf56c3e594db/110
https://kyull-it.tistory.com/212
https://velog.io/@sujeongim/NLPSeq2Seq-with-Attention
https://codingopera.tistory.com/41