Transformer ๋ชจ๋ธ
ํธ๋์คํฌ๋จธ๋ ํ๋ ML์ ๊ทผ๊ฐ์ ์ด๋ฃจ๋ ํต์ฌ ์ด๋ก ์ค ํ๋๋ค. ๋ชจ๋ LLM์ด ์ด๊ฑธ ๋ฐํ์ผ๋ก ๋ง๋ค์ด์ก๋ค.
๊ตฌ๊ธ ๋ฅ๋ง์ธ๋์์ 2017๋ ๋๋ ๋ ผ๋ฌธ "Attention Is All You Need"์์๋ถํฐ ์์๋์๋ค.
์ฌ๊ธฐ์๋ Transformer๊ฐ ์ด๋ค ๊ตฌ์กฐ๋ฅผ ๊ฐ๊ณ ์๊ณ , ์ด๋ค ์ด์ ๋ก ํฅํ๊ฒ ๋ ๊ฒ์ธ์ง๋ฅผ ๊ฐ๋ตํ ์ ๋ฆฌํด๋ณธ๋ค.
์์์ด๋ ์ธ๋ถ์ ์ธ ๊ตฌํ๋ณด๋ค๋ ๊ฐ๋
์ดํด์ ์ง์คํ๋ ค๊ณ ํ๋ค.
๊ธฐ์กด ๋ชจ๋ธ์ ๋ฌธ์ (RNN)
์ด์ ์ ์ง๋ฐฐ์ ์ผ๋ก ์ฌ์ฉํ๋ ๋ชจ๋ธ ์ค๊ณ๋ RNN(Recurrent Neural Network, ์ํ ์ ๊ฒฝ๋ง)์ด๋ผ๋ ๊ฒ์ด์๋ค.
https://www.geeksforgeeks.org/machine-learning/introduction-to-recurrent-neural-network/
์ด๊ฑด ์ํ์ค(ํ๋์ ์์ฐ์ด ๋ฌธ์ฅ)๋ฅผ ์ฒ๋ฆฌํ ๋, ๋จ์ด๋ฅผ ๋ถ๋ฆฌํ ๋ค์ ๊ฐ ๋จ์ด๋ค์ ์์ฐจ์ ์ผ๋ก ์ฒ๋ฆฌํ๋, ๊ฐ ๋จ์ด์ ์ถ๋ ฅ(๋ฒกํฐ)๋ฅผ ๊ทธ ๋ค์ ์
๋ ฅ์ผ๋ก๋ ๊ณ์น์ํค๋ ์ํ ๋
ผ๋ฆฌ๋ฅผ ๊ฐ๊ณ ์๋ค.
๊ทธ๋ฆฌ๊ณ ์ต์ข
์ ์ผ๋ก ๋์ค๋ ๋ฒกํฐ๊ฐ์ด ์ต์ข
์๋ต์ด ๋๋ ๊ฒ์ด๋ค.
์ด๊ฑด ๊ธฐ์กด์ ์ผ๋ฐ ์ ๊ฒฝ๋ง์ ๋ง์ ๋ฌธ์ ๋ค(๋ฉ๋ชจ๋ฆฌ ํจ์จ์ฑ, ์์ ์ ๋ณด ์ ์ง ๋ฑ)์ ๊ฐ์ ํ์ง๋ง, ์ฌ์ ํ ์น๋ช ์ ์ธ ๋จ์ ๋ค์ ์ฌ๋ฌ๊ฐ ๊ฐ๊ณ ์์๋ค.
์ผ๋จ, ์ฒ๋ฆฌ ์๋๊ฐ ๋๋ ธ๋ค. ํ๋์ ๋ฌธ์ฅ์ ์ฒ๋ฆฌํ ๋ ๋จ์ด๋ฅผ ํ๋์ฉ ์์๋๋ก ์ฒ๋ฆฌํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ณ๋ ฌ์ฒ๋ฆฌ ์์ค์ด ๋งค์ฐ ์ ์กฐํ๋ค. ํ์ต๊ณผ ์ผ๋ฐ ์ถ๋ก ๋ชจ๋์ ์ฑ๋ฅ ์ ํ๋ฅผ ์ ๋ฐํ๋ ์์ธ์ด์๋ค.
๊ฒ๋ค๊ฐ ์ ๋ณด ์์ค ๋ฌธ์ ๋ ์ฌ๊ฐํ๋ค. ๊ฐ ๋จ์ด์ ๋ํ ๊ฐ์ด ๊ณ์ ๊ทธ ๋ค์ ๋จ์ด๋ก ๊ฐ์ ๊ณ์น๋๊ธด ํ๋, ์ ์ด์ ๊ทธ ๋ฒกํฐ๋ ๊ฒ๋ค์ด ๊ทผ์ฌ์น์ ๋ํ ๊ฐ์ด๊ธฐ ๋๋ฌธ์ ์จ์ ํ๊ฒ ๋์ด๊ฐ์ง ์๋๋ค. ๊ทธ๋์ ๋ฌธ์ฅ์ด ๊ธธ์ด์ง์๋ก ๋งจ ๋์์ ์ ์ค๋๋ Vanishing Gradient ๋ฌธ์ ๊ฐ ์์๋ค.
ํธ๋์คํฌ๋จธ์ ๊ธฐ๋ณธ ์๋ฆฌ
๊ทธ๋์ ํธ๋์คํฌ๋จธ ๊ตฌ์กฐ๋ ์ด๋ฐ RNN์ ๋ฏธ๋ฌํ ๋จ์ ๋ค์ ๊ฐ์ ํ๊ธฐ ์ํด ๋์๋ค.
ํธ๋์คํฌ๋จธ๊ฐ ํด๊ฒฐํ๊ณ ์ ํ๋ ์ฃผ์ ๋ฌธ์ ๋ "ํ์ต/์ถ๋ก ์๋๋ฅผ ๊ทน๋ํํ๋ ๊ฒ"์ด์๊ณ , ๊ทธ๊ฑธ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ด ๋จ์ด ์์ค์ ํ์ต/์ถ๋ก ์ ๋ณ๋ ฌ์ฒ๋ฆฌํ๋ ๊ฒ์ด์๋ค.
https://lcyking.tistory.com/entry/%EB%85%BC%EB%AC%B8%EB%A6%AC%EB%B7%B0-Attention-is-All-you-need%EC%9D%98-%EC%9D%B4%ED%95%B4
์ธ๋ถ์ ์ผ๋ก ๋ฏ์ด๋ณด๋ฉด ์ด๊ฒ์ ๊ฒ ๋ญ๊ฐ ๋ง๊ธด ํ๋ค.
ํธ๋์คํฌ๋จธ ๋ชจ๋ธ์ ๋ค์ ๊ณผ์ ์ ๊ฑฐ์ณ์ ํ
์คํธ๋ฅผ ์ฒ๋ฆฌํ๋ค.
1. ํ ํฐํ
์์ฐ์ด ๋ฌธ์ฅ์ด ๋ค์ด์ค๋ฉด, ์ผ๋จ ์ธ์ฝ๋ ๋ ์ด์ด์์๋ ๋ฌธ์ฅ์ ๋จ์ด ๋จ์๋ก ์๋ฅธ๋ค.
"I Rust you" => ["I", "Rust", "you"]
์ด๊ฑด ๋๋ถ๋ถ์ ์์ฐ์ด ์ฒ๋ฆฌ ๋ชจ๋ธ์ด ๋์ผํ ๋ถ๋ถ์ด๋ค.
2. ์์น
๋จ์ด๊ฐ ๋ค์ด์ค๋ฉด, ์ผ๋จ ๋จ์ด๋ง๋ค ์์น์ ๋ํ ์ ๋ณด๋ฅผ ์ถ๊ฐํ๋ค.
์ด๊ฑธ Positional Encoding์ด๋ผ๊ณ ๋ถ๋ฅด๋๋ฐ, ์ด๋ฅผ ํตํด ๋จ์ด๊ฐ ๋ฌธ์ฅ ๋ด์์ ์์นํ๋ ์์๋ฅผ ๊ธฐ๋กํ๊ณ ๊ทธ๊ฒ์ด ์๋ฏธ์๊ฒ ์ฌ์ฉ๋๊ฒ๋ ํ๋ ๊ฒ์ด๋ค.
3. ๋ณ๋ ฌ์ฒ๋ฆฌ
์ฌ๊ธฐ๋ถํฐ๋ ๋จ์ด๋ค์ ์์ฐจ์ ์ผ๋ก ์ฒ๋ฆฌํ๋ ๊ฒ์ด ์๋๋ผ, ๋ณ๋ ฌ์ ์ผ๋ก ์ฒ๋ฆฌํ๋ค.
์ด๊ฒ RNN๊ณผ์ ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ด๋ค. RNN์ I => Rust => You์ฒ๋ผ ์์ฐจ์ ์ผ๋ก ์ฒ๋ฆฌํด์ผ ํ์ง๋ง, ํธ๋์คํฌ๋จธ๋ ๋ชจ๋ ๋จ์ด๋ฅผ ๋์์ ์ฒ๋ฆฌํ ์ ์๋ค. ๊ฐ ๋จ์ด๋ง๋ค์ ๋ฒกํฐ๋ฅผ ์์ฑํ๊ณ ๊ทธ๊ฑธ ์ต์ข
์ ์ผ๋ก ๊ฒฐํฉํ๋ ๊ฒ์ด๋ค.
4. Attention
๊ฐ๋ณ ๋จ์ด์ ๋ํ ์ถ๋ก ์ Self-Attention๊ณผ Multi-head Attention์ ํตํด ์ด๋ฃจ์ด์ง๋ค. ์ฝ๊ฐ ๋ด์ฉ์ด ๊ธธ์ด์ง๋ฏ๋ก, ์์ธํ ๋งค์ปค๋์ฆ์ ํ์ ํ๋ค.
5. Feed-Forward
๊ทธ๋ฆฌ๊ณ Multi-head Attention์ ํตํด ํ๋ฒ ์ถ๋ก ์ ๊ฑฐ์ณค๋ค๋ฉด, ๊ทธ๊ฑธ Feed-Forward Neural Network๋ฅผ ํตํด ๋ค์ ํ๋ฒ ์ ์ ํ๋ ๊ณผ์ ์ ์ํํ๋ค. ์ด๋ฅผ ํตํด์ ๋ฌธ๋งฅ ์ ๋ณด๋ฅผ ์ ์ ํ๋ค.
6. ๋ฐ๋ณต-๋ ์ด์ด
Multi-Head Attention + Feed-Forward๋ ํ๋ฒ๋ง ์ํํ๋ ๊ฒ์ด ์๋๋ผ, ์ ๋ณด๊ฐ ์ด๋ ์ ๋ ์์ ํด์ง๋๊น์ง ๋ฐ๋ณต๋๋ค. ์ด ํ ํ๋ฆ์ ๋ ์ด์ด๋ผ๊ณ ๋ถ๋ฅด๋๋ฐ, ๋ชจ๋ธ ๋ฒ ์ด์ค๋ง๋ค ๋ ์ด์ด์ ๊ณ์ธต์ ์ฐจ์ด๊ฐ ์๋ค.
GPT-3์ ๊ฒฝ์ฐ์๋ ๋ ์ด์ด๊ฐ 96๊ฐ์๋ค.
**7. ์ต์ข
๊ฒฐํฉ **
๋ฃจํ๋ฅผ ์ถฉ๋ถํ ๋์๋ค๋ฉด, ์ข
๊ตญ์๋ ๊ฐ ๋จ์ด๋ณ ๋ฒกํฐ๋ฅผ ์ ๋ฆฌํด์ ์ต์ข
๊ฒฐ๊ณผ๋ก ๊ฐ๊ณตํด์ผ ํ๋ค.
์ฌ๊ธฐ์ ๋ฑ ์ ํด์ง ๋ฐฉ์์ ์๋ค. ๋จ์ด๋ณ ๋ฒกํฐ๋ฅผ ์ง์ง ์ ๋ถ ๋ค ์ธ์๋ ์๊ณ , ๋ฒกํฐ๋ค์ ๊ฒฐํฉํด์ ๋จ์ผ ๋ฒกํฐ๋ก ๋ง๋ค ์๋ ์๋ค.
๋จ์ผ ๋ฒกํฐ๋ก ๊ฒฐํฉํด์ผ ํ๋ค๋ฉด softmax ๊ฐ์ ํ๋ฅ ๋ถํฌ ํจ์๋ฅผ ์ฐ๊ณค ํ๋ค.
Attention Is All You Need
Attention์ ๊ฒฐ๊ตญ ํน์ ๋จ์ด๊ฐ ๋ค๋ฅธ ๋จ์ด์ ์ด๋ค ๊ด๊ณ๋ฅผ ๊ฐ๋์ง์ ๋ํ ์ด์ผ๊ธฐ๋ค.
๊ทธ๋์ ์ค์ ๋ก Attention ๊ธฐ๋ฐ ์ถ๋ก ์ ์ฒ๋ฆฌํ ๋๋, ํน์ ๋จ์ด๊ฐ ๋ค๋ฅธ ๋จ์ด์ ์ผ๋ง๋ ์ง์ค(Attention)ํ๋์ง๋ฅผ ๊ฐ์ค์น๋ก ๊ณ์ฐํ๊ณ ๊ด๋ฆฌํ๋ค.
์๋ฅผ ๋ค์ด "The cat sat on the mat because it was tired"๋ผ๋ ๋ฌธ์ฅ์ด ์๋ค๊ณ ์น๋ฉด, it๊ณผ ์ ์ฌ๋๊ฐ ๊ฐ์ฅ ๋์ ๋จ์ด๋ "cat"์ด ๋ ๊ฒ์ด๋ค. ํ์ง๋ง ๋ค๋ฅธ ๋จ์ด๋ค๋ ๋ฎ์ง๋ง ์ ์ฌ๋ ์ ์๋ฅผ ๊ฐ์ง๊ณ , ์ด๋ฅผ ํตํด ๋จ์ด๋ค ๊ฐ์ ๊ด๊ณ๋ก์ ๋ฌธ์ฅ์ ํด์ํ ์ ์๋ค.
Self-Attention
ํธ๋์คํฌ๋จธ ๋ชจ๋ธ์์ ์ด์ผ๊ธฐํ๋ Self-Attention์ ํ ๋ฌธ์ฅ ๋ด์์, ๋จ์ด๊ฐ ๋ค๋ฅธ ๋จ์ด๋ฅผ ๋ณด๊ณ ๋ฌธ๋งฅ์ ํ์
ํ ์ ์๊ฒ ํ๋ค๋ ๋ป์ด๋ค. ๊ทธ๋์ ์ด๋ฅผ ํตํด ์ ์ฒด์ ์ธ ๋ฌธ๋งฅ์ ๊ณ ๋ คํด์ ๊ฐ์ ์ถ๋ก ํด๋ผ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ ๊ฐ ๋จ์ด๋ณ๋ก ๋
๋ฆฝ์ ์ธ ์ถ๋ก ์ ์ํํ ์ ์๋ค. ๋จ์ด๊ฐ 6๊ฐ๋ผ๋ฉด 6๊ฐ ๋จ์ด์ ๋ํ ์ถ๋ก ์ ๋ณ๋ ฌํํ๋ค.
**Multihead Attention **
์ด๊ฑด Self-Attention์ ์ฌ๋ฌ๊ฐ์ง ๊ด์ ์์ ๋์์ ๋ณ๋ ฌ๋ก ๋๋ฆฌ๋ ๊ฒ์ ๋งํ๋ค.
๊ฐ๊ฐ์ head๊ฐ ํ๊ฐ์ง ๊ด์ ์ ๋ํ ์ถ๋ก ์ด๊ณ , ์ฌ๋ฌ๊ฐ์ง ๊ด์ ์ ๋์์ ๋๋ฆฐ๋ค๊ณ multi-head๋ค.
์ด๋ฅผํ
๋ฉด, ๋ฌธ๋ฒ์ ๊ด๊ณ์ ์ง์คํ๋ ์ถ๋ก head๊ฐ ์๊ณ , ์๋ฏธ์ ๊ด๊ณ์ ์ง์คํ๋ ์ถ๋ก head๊ฐ ์๊ฑฐ๋ ํ๋ ์์ด๋ค.
์ด๋ฐ ๋ค์ํ ์ถ๋ก ๋ค์ ๋ณ๋ ฌ์ ์ผ๋ก ์ฒ๋ฆฌํ ๋ค์, ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ง์ง๋ง์ ๊ฒฐํฉํ๋ค.
์ด๋ฅผ ํตํด ํ์ต/์ถ๋ก ์๋๋ฅผ ์ต์ ํํ๋ค.
ํธ๋์คํฌ๋จธ์ ์ฅ๋จ์
์ฅ์
Self-Attention ๋งค์ปค๋์ฆ์ ํตํด ๊ธด ๋ฌธ์ฅ์ ํฐ ์์ค ์์ด ์ ์ฒ๋ฆฌํ ์ ์๋ค.
์ด๊ฒ ๋-LLM ์๋๋ฅผ ์ด๋๊ณ ์จ ๊ฐ์ฅ ํฐ ํน์ฑ ์ค ํ๋๋ผ๊ณ ํ ์ ์๋ค. ์ด์ ์ ๋ชจ๋ธ ๋ฒ ์ด์ค๋ค์ ๋ฌธ์ฅ์ด ๊ธธ์ด์ง์๋ก ์ ๋ณด๊ฐ ์์ค๋๊ณ ๋ฐ์ดํฐ๊ฐ ๊นจ์ ธ์ ์กฐ์
ํ ํ์ง์ด ๋์ค๊ธฐ ์ฌ์ ๋ค.
Multi-head attention๋ฅผ ํตํด์ ๋ฌธ์ฅ์ ๋ค๊ฐ๋์์ ๋ถ์ํ๊ณ ํ์ตํ ์ ์๋ค.
์ด๊ฒ๋ LLM์ ์์ฐ์ด ์ฒ๋ฆฌ ์์ค์ ๋์ธ ์ฃผ์ ์์ธ ์ค ํ๋๋ค.
๋ณ๋ ฌ์ฒ๋ฆฌ ์์ค์ด ๋งค์ฐ ๋์ ๊ฒ๋ ์ค์ํ ์ฅ์ ์ค ํ๋๋ค.
๋ง์ ์ถ๋ก ๋จ๊ณ๋ฅผ ์์ฐจ๊ฐ ์๋ ๋ณ๋ ฌ๋ก ๋๋ฆด ์ ์์ด์ GPU ํ์ฉ๋๊ฐ ๋งค์ฐ ๋์์ก๊ณ , ์ด๊ฒ ์๋น๋์์ ๋งค์ถ์ ๋๋ ค์ค ๊ฐ์ฅ ํฐ ์์ธ์ด๋ค.
๋จ์
๋ณ๋ ฌํ๊ฐ ์ ๋๋ค๋ ๊ฒ์ด, ์ฐ์ฐ ํจ์จ์ ์ด๋ผ๋ ์๋ฏธ๋ ์๋๋ค.
๋ง์ ์์์ด ์๋ค๋ฉด ๊ทธ ๋ฆฌ์์ค๋ฅผ ํ๋ํด์ ๋ ๋น ๋ฅธ ์๊ฐ ๋ด์ ์ฒ๋ฆฌํ ์ ์์ ๋ฟ์ด๋ค.
๊ทธ๋์ ์ฐ์ฐ ์์์ ๋งค์ฐ ํฌ๊ฒ ์๋ชจํ๋ฉฐ, ์ด๊ฒ GPU๊ฐ ํ์ํ์ผ๋ก ์๋ฆฌ์ก์ ์ด์ ๋ค.
๋ง์ GPU ์ฝ์ด, ๋ง์ ๋ฉ๋ชจ๋ฆฌ, ๋ง์ ์ ๋ ฅ๋ ์๋น๊ฐ ๋ฐ๋ผ์ค๋ ๊ฒ๋ ์ด๊ฒ ๋๋ฌธ์ด๋ค.
๊ทธ๋ฆฌ๊ณ ๊ธฐ์กด ๋ชจ๋ธ ๋ฒ ์ด์ค์ ๋นํด์ ๋ง์ ํ์ต ๋ฐ์ดํฐ๊ฐ ํ์ํ ๊ฒ๋ ๋จ์ ์ด๋ค.
multihead attension, FNN, ๋ ์ด์ด ์ค์ฒฉ ๋ฑ์ผ๋ก ์ธํด์ ํ๋ผ๋ฏธํฐ๊ฐ ๋งค์ฐ ๋ง์ ํธ์ธ๋ฐ, ๊ทธ ๋๋ฌธ์ ๊ณ ํ์ง์ ํ์ต์ ์ํด์๋ ๋ง์ ํ์ต ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ด๋ฃ์ ํ์๊ฐ ์๋ค.
๊ทผํฉ
ํ์ฌ LLM ๋ชจ๋ธ๋ค์ ์ ๋ถ ์ด ๋ชจ๋ธ์ ๊ทผ๊ฐ์ผ๋ก ๋ง๋ค์ด์ ธ์๋ค๊ณ ํด๋ ๊ณผ์ธ์ด ์๋๋ค.
OpenAI์ GPT, Google Gemini, Anthropic์ Claude, DeepSeek ๋ฑ ๋๋ถ๋ถ์ ์ฃผ์ LLM ๊ตฌํ์ฒด๋ค์ด ์ ๋ถ Transformer๋ฅผ ๋ฒ ์ด์ค๋ก ๋ง๋ค์ด์ก๊ณ , ์์ฒญ๋ ํ์ ์ด ์ผ์ด๋์ง ์๋ ์ด์ ์ด๋ฐ ํ๋ฆ์ ํ๋์ ๋ ์ด์ด์ง ๊ฒ ๊ฐ๋ค.
์ฐธ์กฐ
https://blogs.nvidia.co.kr/blog/what-is-a-transformer-model/
https://www.geeksforgeeks.org/machine-learning/introduction-to-recurrent-neural-network/
https://wikidocs.net/22886
https://wikidocs.net/31379