
๐ง Attention, Transformer ์ ๋ฆฌ ๐ง
RNN์ ์ฌ์ฉํ์ง ์์ง๋ง seq2seq Model์ Encoder์ Decoder๋ก ๋๋์ด์ง ๊ตฌ์กฐ๋ฅผ ๋ฐ๋ฅด๋ฉด์ Attention๋ง์ผ๋ก ๊ตฌํํ ๋ชจ๋ธ์ผ๋ก, ์๋ฐฉํฅ ๋ณํ ๋ฐ ์ํ์ค ์์ฑ์ ๋ชฉ์ ์ผ๋ก ํ๋ค.

์
๋ ฅ๋ ์ํ์ค๋ก๋ถํฐ ๋ค๋ฅธ ๋๋ฉ์ธ์ ์ํ์ค๋ฅผ ์ถ๋ ฅํ๋ ๋ถ์ผ์์ ์ฌ์ฉ๋๋ ๋ชจ๋ธ
๋ํ์ ์ผ๋ก ๋ฒ์ญ๊ธฐ, ๋ด์ฉ ์์ฝ, STT(Speech To Text) ๋ฑ์์ ์ฌ์ฉํ๋ค.
Encoder-Decoder ๊ตฌ์กฐ๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, Encoder๋ ์ ๋ ฅ ๋ฌธ์ฅ์ ๋ชจ๋ ๋จ์ด๋ค์ ์์ฐจ์ ์ผ๋ก ์ ๋ ฅ๋ฐ์ ๋ค์ ๋ง์ง๋ง์ ์ด ๋ชจ๋ ๋จ์ด ์ ๋ณด๋ค์ ์์ถํด ํ๋์ ๋ฒกํฐ๋ก ๋ง๋ ๋ค. ์ด๋ฅผ ์ปจํ ์คํธ ๋ฒกํฐ๋ผ๊ณ ํ๋ฉฐ, ์ ๋ ฅ ๋ฌธ์ฅ์ ์ ๋ณด๊ฐ ํ๋์ ์ปจํ ์คํธ ๋ฒกํฐ๋ก ๋ชจ๋ ์์ถ๋๋ฉด ๋์ฝ๋๋ก ์ ์กํ๋ค. Decoder๋ ์ปจํ ์คํธ ๋ฒกํฐ๋ฅผ ๋ฐ์ ๋ฒ์ญ๋ ๋จ์ด๋ฅผ ํ ๊ฐ์ฉ ์์ฐจ์ ์ผ๋ก ์ถ๋ ฅํ๋ค.
ํ์ง๋ง seq2seq Model์ ์ธ์ฝ๋-๋์ฝ๋ ๊ตฌ์กฐ์์๋ ์ธ์ฝ๋๊ฐ ์ ๋ ฅ ์ํ์ค๋ฅผ ํ๋์ ๋ฒกํฐ๋ก ์์ถํ๋ ๊ณผ์ ์์ ์ ๋ ฅ ์ํ์ค์ ์ ๋ณด๊ฐ ์ผ๋ถ ์์ค๋๋ค. ์ด๋ฅผ ๋ณด์ํ๊ธฐ ์ํด Attention์ ์ฌ์ฉํ๋, Attention๋ง์ผ๋ก ์ธ์ฝ๋์ ๋์ฝ๋๋ฅผ ๊ตฌ์ฑํ ๋ชจ๋ธ์ด Transformer Model์ด๋ค.
seq2seq ๊ตฌ์กฐ์์๋ ์ธ์ฝ๋์ ๋์ฝ๋์์ ๊ฐ๊ฐ ํ๋์ RNN์ด t๊ฐ์ ์์ (time step)์ ๊ฐ์ง๋ ๊ตฌ์กฐ์๋ค๋ฉด, Transformer ๊ตฌ์กฐ์์๋ ์ธ์ฝ๋์ ๋์ฝ๋๋ผ๋ ๋จ์๊ฐ N๊ฐ๋ก ๊ตฌ์ฑ๋๋ค. ๋ ผ๋ฌธ์์๋ ์ธ์ฝ๋์ ๋์ฝ๋๊ฐ ๊ฐ๊ฐ 6๊ฐ ์ฌ์ฉ๋์๋ค.

์์ ์ฌ๋ณผ <sos>๋ฅผ ์
๋ ฅ ๋ฐ์ ์ข
๋ฃ ์ฌ๋ณผ <eos>๊ฐ ๋์ฌ ๋๊น์ง ์ฐ์ฐ์ ์งํํ๋ค. RNN์ ์ฌ์ฉ๋์ง ์์ง๋ง ์ธ์ฝ๋-๋์ฝ๋ ๊ตฌ์กฐ๋ฅผ ์ ์ง๋๊ณ ์์์ ๋ณด์ฌ์ค๋ค.
RNN์ด ์์ฐ์ด ์ฒ๋ฆฌ์์ ์ ์ฉํ๋ ์ด์ ๋ ๋จ์ด์ ์์น์ ๋ฐ๋ผ ๋จ์ด๋ฅผ ์์ฐจ์ ์ผ๋ก ์ ๋ ฅ๋ฐ์ ์ฒ๋ฆฌํ๋ ํน์ฑ์ผ๋ก ์ธํด ๊ฐ ๋จ์ด์ ์์น ์ ๋ณด๋ฅผ ๊ฐ์ง ์ ์์๋ค๋ ์ ์ด์๋ค.
Transformer๋ ๋จ์ด ์ ๋ ฅ์ ์์ฐจ์ ์ผ๋ก ๋ฐ๋ ๋ฐฉ์์ด ์๋๋ค. ๋ฐ๋ผ์ RNN์ ์ฌ์ฉํ์ง ์์ผ๋ฉฐ, ๋จ์ด์ ์์น ์ ๋ณด๋ฅผ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์๋ ค์ค์ผ ํ๋ค. ์ด๋ ์ฌ์ฉํ๋ ๋ฐฉ์์ด Positional Encoding์ด๋ค.
๋จ์ด์ ์์น ์ ๋ณด๋ฅผ ์ป๊ธฐ ์ํด ๊ฐ ๋จ์ด์ ์๋ฒ ๋ฉ ๋ฒกํฐ์ ์์น ์ ๋ณด๋ค์ ๋ํด์ ๋ชจ๋ธ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉ


์๋ฒ ๋ฉ ๋ฒกํฐ๊ฐ ์ธ์ฝ๋์ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉ๋๊ธฐ ์ ํฌ์ง์ ๋ ์ธ์ฝ๋ฉ ๊ฐ์ด ๋ํด์ง๋ค.
ex) '์์์ ์๋' > ์ + 1๋ฒ ๋จ์ด ์ธ์ฝ๋ฉ, '์๋์์ ์' > ์ + 3๋ฒ ๋จ์ด ์ธ์ฝ๋ฉ
-> '์์์ ์๋'์ '์๋์์ ์' ๊ตฌ๋ถ ๊ฐ๋ฅ
๋ชจ๋ธ ์ฑ๋ฅ ํฅ์์ ์ํด ๋ฌธ๋งฅ์ ๋ฐ๋ผ ์ง์คํ ๋จ์ด๋ฅผ ๊ฒฐ์ ํ๋ ๋ฐฉ์
๋์ฝ๋์์ ์ถ๋ ฅ ๋จ์ด๋ฅผ ์์ธกํ๋ ๋งค ์์ ๋ง๋ค ์ธ์ฝ๋์์์ ์ ์ฒด ์
๋ ฅ ๋ฌธ์ฅ์ ๋ค์ ํ ๋ฒ ์ฐธ๊ณ ํ๋ค. ๋จ, ์ ์ฒด ์
๋ ฅ ๋ฌธ์ฅ์ ์ ๋ถ ๋ค ๋์ผํ ๋น์จ๋ก ์ฐธ๊ณ ํ๋ ๊ฒ์ด ์๋๋ผ, ํด๋น ์์ ์์ ์์ธกํด์ผํ ๋จ์ด์ ์ฐ๊ด์ด ์๋ ์
๋ ฅ ๋จ์ด ๋ถ๋ถ์ ๋ ์ง์คํด์ ๋ณด๊ฒ ๋๋ค.
์ฃผ์ด์ง Query์ ๋ํด ๋ชจ๋ Key์์ ์ ์ฌ๋๋ฅผ ๊ฐ๊ฐ ๊ตฌํ ๋ค, ์ด ์ ์ฌ๋๋ฅผ ๊ฐ์ค์น๋ก ํ์ฌ Key์ ๋งตํ๋์ด ์๋ ๊ฐ๊ฐ์ Value์ ๋ฐ์ํด์ค๋ค. ์ด Value๋ฅผ ๋ชจ๋ ๊ฐ์คํฉํ์ฌ ๋ฆฌํดํ๋ค.
Attention(Q, K, V) = Attention Value
ํด๋น ๋จ์ด๊ฐ ๋ค๋ฅธ ๋จ์ด๋ค๊ณผ ์ผ๋ง๋ ์ฐ๊ด์ด ์๋์ง ๋ํ๋ด๋ ๊ฐ
๊ฐ ๋จ์ด๊ฐ ์ด๋ค ์๋ฏธ๋ฅผ ๊ฐ์ง๊ณ ์๋์ง ๋ํ๋ด๋ ๊ฐ
ํด๋น ๋จ์ด์ ์ค์ ์๋ฏธ๋ฅผ ๋ํ๋ด๋ ๊ฐ(์ ์ฌ๋)

ex) ํธํ
์์ ์ฒดํฌ์ธ์ ํ๊ณ ํค๋ฅผ ๋ฐ์ ๋ฐฉ์ ๋ค์ด๊ฐ ์ ์ ๋ง์ ๋ค.
1. ํ๋ก ํธ์์ "123ํธ ์์ฝ์์ธ๋ฐ ์ฒดํฌ์ธํด๋ ๋ ๊น์?" => ์ง๋ฌธ = Query
2. ์ง์์ด 123ํธ์ ์ด์ ๋ฅผ ์ค๋ค. => 123ํธ์ ์ด์ = Key
3. 123ํธ์ ๋ค์ด๊ฐ ์์ ์๋ ์ ์ ๋ง์ ๋ค. => ์ = Value

์ธ์ฝ๋์ ์
ํ ์ดํ
์
: Query = Key = Value
๋์ฝ๋์ ๋ง์คํฌ๋ ์
ํ ์ดํ
์
: Query = Key = Value
๋์ฝ๋์ ์ธ์ฝ๋-๋์ฝ๋ ์ดํ
์
: Query : ๋์ฝ๋ ๋ฒกํฐ / Key = Value : ์ธ์ฝ๋ ๋ฒกํฐ
Attention ์ค ์๊ธฐ ์์ ์๊ฒ Attention ๋ฉ์ปค๋์ฆ์ ํํ๋ ๋ฐฉ์
๋ฌธ์ฅ์์์ ๋จ์ด๋ค์ ์ฐ๊ด์ฑ์ ์๊ธฐ ์ํด ๋ค๋ฅธ ๋จ์ด์์ ๊ด๊ณ๋ก ์์ ์ ํํํ๋ ๊ฒ์ด๋ฉฐ, ๊ฐ ๋จ์ด๊ฐ ๋ค๋ฅธ ๋ชจ๋ ๋จ์ด์์ ๊ด๊ณ๋ฅผ ํ์ตํ๋ค.

์ฌ๊ธฐ์ Multi Head๋ Transformer๋ Attention์ ๋ณ๋ ฌ์ ์ผ๋ก ์ํํ๋ ๋ฐฉ๋ฒ์ ์๋ฏธํ๋ค.

ex) The animal didn't cross the street because it was too tired.
์ฌ๊ธฐ์ it์ด ๊ฐ๋ฆฌํค๋ ๋จ์ด๊ฐ animal์์ ์ปดํจํฐ๊ฐ ์ ์ ์๋๋ก ํ๊ธฐ ์ํด self-attention์ ํ๋ค.
Q : ์
๋ ฅ ๋ฌธ์ฅ์ ๋ชจ๋ ๋จ์ด ๋ฒกํฐ๋ค
K : ์
๋ ฅ ๋ฌธ์ฅ์ ๋ชจ๋ ๋จ์ด ๋ฒกํฐ๋ค
V : ์
๋ ฅ ๋ฌธ์ฅ์ ๋ชจ๋ ๋จ์ด ๋ฒกํฐ๋ค

Self-Attention์ Query, Key, Value์ ์์ ๊ฐ(๋ฒกํฐ์ ์ถ์ฒ)์ด ๋์ผํ๋ค. ์ค๊ฐ์ ํ์ต ๊ฐ์ค์น w๊ฐ์ ์ํด ์ต์ข ์ ์ธ Query, key, Value๊ฐ ์๋ก ๋ค๋ฅด๊ฒ ๋๋ค. ์ฆ, ์ด๊ธฐ ๊ฐ์ ๊ฐ์ผ๋ ํ์ต์ ํตํด ๊ฐ์ด ๋ฌ๋ผ์ง๋ค.
Attention์ ๋ณ๋ ฌ์ ์ผ๋ก ์ฌ์ฉํ์๋ค๋ ์๋ฏธ

ํ ๋ฒ์ Attention๋ณด๋ค ์ฌ๋ฌ ๋ฒ์ Attention์ ๋ณ๋ ฌ๋ก ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ํจ๊ณผ์ ์ด๋ผ ํ๋จํด ๋ชจ๋ธ์ ์ฐจ์์ num_heads๊ฐ๋ก ๋๋์ด ๋ชจ๋ธ ์ฐจ์/num_heads๊ฐ์ ์ฐจ์์ ๊ฐ์ง๋ Q, K, V์ ๋ํด num_heads๊ฐ์ ๋ณ๋ ฌ Attention์ ์ํํ๋ค.
์ด๋ฅผ ํตํด ๊ฐ Attention์ ์ํํ ๊ฒฐ๊ณผ๋ก๋ถํฐ ๊ฐ๊ธฐ ๋ค๋ฅธ ๊ด์ ์ ์ ๋ณด๋ฅผ ์์งํ๋ค. Attention์ ์ํํ ์ถ๋ ฅ์ Attention Head๋ผ๊ณ ํ๋ฉฐ, Multi Attention์ ๋ชจ๋ ์ํํ ํ Head๋ฅผ ์ฐ๊ฒฐํ๋ค.
๋์ฝ๋์ ์ฒซ๋ฒ์งธ ์๋ธ ์ธต์ ์์นํ ์ธต
Transformer์์ ๋ฌธ์ฅ ํ๋ ฌ์ ํ๋ฒ์ ๋ฐ๊ธฐ ๋๋ฌธ์ ํ์ฌ ์์ ์ ๋จ์ด๋ฅผ ์์ธกํ ๋ ๋ฏธ๋ ์์ ์ ๋จ์ด๋ค๋ attend ํ ์ ์๊ฒ ๋๋ฉด์ ์๋ชป๋ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ํ ์ ์๋ค.
๋ฐ๋ผ์ ๋ฏธ๋ ์์ ์ ๋จ์ด๋ฅผ Maskingํด ๋จ์ด์ ์ง์ ์ถ๋ ฅ๋ค์ ๋ํด์๋ง Attention์ ๊ณ์ฐํ๋ค.
Attention Value๋ฅผ Sacled Dot-Product Attention ๋ฐฉ์์ผ๋ก ๊ณ์ฐํ๋, ๊ธฐ์กด Dot-Product Attention์ Query์ Key์ ๊ธธ์ด๋ฅผ ์ด์ฉํด Scalingํ๋ค.

Query์ Key์ ๊ธธ์ด๊ฐ ์ปค์ง์๋ก ๋ด์ ๊ฐ ๋ํ ์ปค์ง ๊ฐ๋ฅ์ฑ์ด ๋๊ธฐ ๋๋ฌธ์ Softmax์ ๊ธฐ์ธ๊ธฐ๊ฐ 0์ธ ์์ญ์ ๋๋ฌํ ๊ฐ๋ฅ์ฑ์ด ๋์์ง๋ค. Softmax์ ๊ธฐ์ธ๊ธฐ๊ฐ 0์ด๋๋ฉด ๊ธฐ์ธ๊ธฐ ์์ค ๋ฌธ์ ๊ฐ ๋ฐ์ํด ํ์ต์ด ๋ฉ์ถ ์ ์๋ค. ์ด๋ฌํ ํ์์ ํด๊ฒฐํ๊ธฐ ์ํด ๋ด์ ์ ๊ฐ์ด Softmax์ ๊ธฐ์ธ๊ธฐ๊ฐ 0์ธ ์์ญ๊น์ง ๋๋ฌํ์ง ๋ชปํ๋๋ก Scalingํ๋ค.
์ด๋ฅผ ํตํด ์ ๋ ฅ ๋ฌธ์ฅ์ ์๋ฏธ๊ฐ ์๋ ๊ฐ์ ์ฐ์ฐ์์ ์ ์ธํ๋ค.
์ฐธ๊ณ -Scaled Dot-Product Attention
Fully-connected Feed-forward Neural Network์ด๋ฉฐ, ์๋ฐฉํฅ ์ ๊ฒฝ๋ง
์ธ์ฝ๋์ ๋์ฝ๋์์ ๊ณตํต์ ์ผ๋ก ๊ฐ์ง๊ณ ์๋ ์๋ธ์ธต
Multi-Head Attention์ ์ํํ์ฌ ์ป์ ๊ฐ Head๋ ์์ ์ ๊ด์ ์ ๋ฐ๋ผ ์ ๋ณด๊ฐ ์น์ฐ์ณ์ ์๋ค. ์ด๋ Position-wise FFNN์ ๊ฐ Head๊ฐ ๋ง๋ค์ด๋ธ Attention์ ์น์ฐ์น์ง ์๊ฒ ๊ท ๋ฑํ๊ฒ ์๋ ์ญํ ์ ํ๋ค.
๊ฐ ์๋ธ ์ธต์ ๊ฑฐ์น ํ์ ์ ์ฉ๋๋ฉฐ, ์์ฐจ ์ฐ๊ฒฐ, ์ธต ์ ๊ทํ๋ฅผ ์๋ฏธ
์๋ธ ์ธต์ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ ๋ํ๋ ๊ฒ
ํ๋ ฌ์ ์ฐ์ฐ์ผ๋ก Multi-head Attention, FFNN ๋ฑ์ ๊ตฌํ๊ณ , ๋ง์ง๋ง์ ๊ฐ์ค์น์ธ W๋ฅผ ๊ตฌํด์ ์ ๋ ฅ๊ฐ๊ณผ ์ถ๋ ฅ๊ฐ์ ๋์ผํ ์ฐจ์์ ๊ฐ์ง๊ฒ ํ๋ค.
์์ฐจ ์ฐ๊ฒฐ์ ๊ฑฐ์น ํ ๊ฑฐ์น๊ฒ ๋๋ ๊ณผ์
Tensor์ ๋ง์ง๋ง ์ฐจ์์ ๋ํด ํ๊ท ๊ณผ ๋ถ์ฐ์ ๊ตฌํด ์ด๋ฅผ ์์์ ํตํด ๊ฐ์ ์ ๊ทํํด ํ์ต์ ๋์์ ์ค๋ค.
์ฐธ๊ณ -Transformer
์ฐธ๊ณ -์์ฐจ ์ฐ๊ฒฐ๊ณผ ์ธต ์ ๊ทํ

์ ๋ ฅ ๋ฌธ์ฅ์ ์๋ฏธ๋ฅผ ์ดํดํ๊ณ ๋ฒกํฐ๋ก ์ถ์ถํ๋ ๊ฒ์ ๋ชฉ์
num_layers ๊ฐ์์ ์ธ์ฝ๋ ์ธต์ ์๋๋ค. ์ด 6๊ฐ์ ์ธ์ฝ๋ ์ธต์ ์ฌ์ฉํ์ผ๋ฉฐ, ์ธ์ฝ๋๋ Position-wise FFNN(ํฌ์ง์ ์์ด์ฆ ํผ๋ ํฌ์๋ ์ ๊ฒฝ๋ง), Multi-head Attention์ผ๋ก ๊ตฌ์ฑ๋๋ค.
๋ํ์ ์ผ๋ก BERT๊ฐ Transformer์ Encoder ๊ตฌ์กฐ๋ฅผ ์ค์ฌ์ผ๋ก ๋ฐ์ ํ๋ค.
Encoder์ ๊ฒฐ๊ณผ๋ฅผ ํด์ํด ๋ชฉํ ๋ฌธ์ฅ์ ์์ฑํ๋ ๊ฒ์ ๋ชฉ์
์ด๋ ๋ชฉํ ๋ฌธ์ฅ์ Encoder์ ๋ฌธ๋งฅ์ ๋ฐํ์ผ๋ก ๋ค์์ ์ฌ ๋จ์ด๋ฅผ ์์ธกํ ๊ฒ์ด๋ค.
๋์ฝ๋๋ 3๊ฐ์ ์๋ธ ์ธต์ผ๋ก ์ด๋ฃจ์ด์ง๋๋ฐ, Masked Multi-Head Attention์ธต๊ณผ ์ธ์ฝ๋์ ๋์ผํ ์ธต 2๊ฐ(Position-wise FFNN, Multi-head Attention)๋ฅผ ๊ฐ์ง๋ค.
๋ํ์ ์ผ๋ก GPT, LLM์ด Decoder ๊ตฌ์กฐ๋ฅผ ์ค์ฌ์ผ๋ก ๋ฐ์ ํ๋ค. ์ด๋ ์์ฑ์ ๋ชฉ์ ์ผ๋ก ํ๊ธฐ ๋๋ฌธ์ ํ์ตํ ๋ฐ์ดํฐ์์ ๊ฒฐ๊ณผ๋ฅผ ๋์ถํ ์ ์์ ๊ฒฝ์ฐ ์ํฐ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋์ถํ๊ธฐ๋ ํ๋ค. ์ด๋ฅผ ํ ๋ฃจ์๋ค์ด์ ์ด๋ผ๊ณ ํ๋ฉฐ, ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด Vector DB(RAG), Tool Calling์ ์ฌ์ฉํ๋ค.
์ด์ด์ Transformer๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ ํ Model๋ค์ ๋ํด ์ดํด๋ณผ ๊ฒ์ด๋ค. ๐