Self-attention์ ํ๋์ sequence ์์ ์๋ token๋ค์ด ์๋ก๋ฅผ ์ง์ ์ฐธ๊ณ ํ๋ฉด์ ๊ฐ token์ ๋ฌธ๋งฅ ํํ์ ๋ง๋๋ attention ๋ฐฉ์์ ๋๋ค. Attention Is All You Need์์ Transformer์ ํต์ฌ ์ฐ์ฐ์ผ๋ก ์ฐ์๊ณ , Transformer ์ํคํ ์ฒ๊ฐ RNN์ด๋ CNN ์์ด๋ sequence๋ฅผ ์ฒ๋ฆฌํ ์ ์๊ฒ ๋ง๋ ์ค์ฌ ์์ด๋์ด์ ๋๋ค.
์ฝ๊ฒ ๋งํ๋ฉด self-attention์ ๋ฌธ์ฅ ์์ ๊ฐ ๋จ์ด๊ฐ โ์ง๊ธ ๋๋ฅผ ์ดํดํ๋ ค๋ฉด ๊ฐ์ ๋ฌธ์ฅ ์์ ์ด๋ค ๋จ์ด๋ฅผ ์ผ๋ง๋ ๋ด์ผ ํ๋๊ฐโ๋ฅผ ๊ณ์ฐํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
ํ ์ค๋ก ๋งํ๋ฉด
Self-attention์ ๊ฐ์ ์ ๋ ฅ ์์ token๋ผ๋ฆฌ ์๋ก์ ์ค์๋๋ฅผ ๊ณ์ฐํด ์ ๋ณด๋ฅผ ์๋ ์ฐ์ฐ์ ๋๋ค.
์ ํ์ํ๊ฐ
๋ฌธ์ฅ์ ์์์ ๊ด๊ณ๋ฅผ ํจ๊ป ๊ฐ์ง๋๋ค. ์๋ฅผ ๋ค์ด ๋๋ช ์ฌ๊ฐ ๋ฌด์์ ๊ฐ๋ฆฌํค๋์ง, ๋์ฌ์ ๋ชฉ์ ์ด๊ฐ ์ด๋ป๊ฒ ์ฐ๊ฒฐ๋๋์ง, ๋ฌธ์ฅ์ ์๋ถ๋ถ์ด ๋ท๋ถ๋ถ์ ์ด๋ป๊ฒ ๋ฐ๊พธ๋์ง๋ ๋จ์ด ํ๋๋ง ๋ณด๊ณ ์๊ธฐ ์ด๋ ต์ต๋๋ค.
๊ณผ๊ฑฐ์ RNN ๊ณ์ด ๋ชจ๋ธ์ ์์์ ๋ค๋ก hidden state๋ฅผ ๋๊ธฐ๋ฉฐ ์ด๋ฐ ๊ด๊ณ๋ฅผ ๋ค๋ค์ต๋๋ค. ํ์ง๋ง ์ด ๋ฐฉ์์ ๊ณ์ฐ์ด ์์ฐจ์ ์ด์ด์ ๋ณ๋ ฌํ๊ฐ ์ด๋ ต๊ณ , ๋ฉ๋ฆฌ ๋จ์ด์ง token ์ฌ์ด์ ์ ๋ณด๊ฐ ์ฌ๋ฌ ๋จ๊ณ๋ฅผ ์ง๋์ผ ํฉ๋๋ค.
Self-attention์ ๊ฐ์ layer ์์์ ๋ชจ๋ token ์์ ์ง์ ๋น๊ตํฉ๋๋ค. ๊ทธ๋์ ๋ฉ๋ฆฌ ๋จ์ด์ง ๋ token๋ ํ ๋ฒ์ attention layer ์์์ ์ฐ๊ฒฐ๋ ์ ์๊ณ , ์ฌ๋ฌ ์์น๋ฅผ ๋์์ ๊ณ์ฐํ๊ธฐ ์ฌ์์ง๋๋ค.
์ด๋ป๊ฒ ๊ณ์ฐํ๋
Transformer์ attention์ ๋ณดํต query, key, value๋ผ๋ ์ธ ์ข ๋ฅ์ ๋ฒกํฐ๋ก ์ค๋ช ํฉ๋๋ค.
- Query: ์ง๊ธ token์ด ์ฐพ๊ณ ์ถ์ ์ ๋ณด
- Key: ๋ค๋ฅธ token๋ค์ด ๊ฐ์ง ์๋ณ ์ ๋ณด
- Value: ์ค์ ๋ก ๊ฐ์ ธ์ ์์ ๋ด์ฉ
๊ฐ token์ query๋ ๋ค๋ฅธ token๋ค์ key์ ๋น๊ต๋ฉ๋๋ค. ์ด ๋น๊ต ์ ์๊ฐ โ์ผ๋ง๋ ์ฐธ๊ณ ํ ๊ฒ์ธ๊ฐโ๋ฅผ ๋ํ๋ด๊ณ , softmax๋ฅผ ๊ฑฐ์ณ ๊ฐ์ค์น๊ฐ ๋ฉ๋๋ค. ๋ง์ง๋ง์ผ๋ก ์ด ๊ฐ์ค์น๋งํผ value๋ฅผ ์์ผ๋ฉด attention ๊ฒฐ๊ณผ๊ฐ ๋์ต๋๋ค.
Transformer ๋ ผ๋ฌธ์ด ์ฌ์ฉํ scaled dot-product attention์ query์ key์ ๋ด์ ์ ๊ณ์ฐํ๊ณ , key ์ฐจ์์ ์ ๊ณฑ๊ทผ์ผ๋ก ๋๋์ด ๊ฐ์ ํฌ๊ธฐ๋ฅผ ์์ ํํ ๋ค, softmax๋ฅผ ์ ์ฉํฉ๋๋ค. ์ฐจ์์ด ์ปค์ง์๋ก ๋ด์ ๊ฐ์ด ์ปค์ ธ softmax๊ฐ ํ์ชฝ์ผ๋ก ์ง๋์น๊ฒ ์ ๋ฆด ์ ์๊ธฐ ๋๋ฌธ์ scaling์ด ํ์ํฉ๋๋ค.
Multi-head attention๊ณผ์ ๊ด๊ณ
Self-attention์ โ๊ฐ์ sequence ์์์ ์๋ก๋ฅผ ์ฐธ๊ณ ํ๋คโ๋ ๊ด๊ณ๋ฅผ ๋งํฉ๋๋ค. Multi-head attention์ ์ด attention์ ์ฌ๋ฌ head์์ ๋ณ๋ ฌ๋ก ์ํํ๋ ๊ตฌํ ๋ฐฉ์์ ๋๋ค.
ํ head๋ง ์์ผ๋ฉด token ๊ด๊ณ๋ฅผ ํ ๊ด์ ์ผ๋ก๋ง ๋ณผ ์ ์์ต๋๋ค. Multi-head attention์ ์ฌ๋ฌ ์์ ํํ ๊ณต๊ฐ์์ attention์ ๋๋์ด ๊ณ์ฐํ ๋ค ๋ค์ ํฉ์นฉ๋๋ค. ๊ทธ๋์ ์ด๋ค head๋ ๊ฐ๊น์ด ๋จ์ด ๊ด๊ณ๋ฅผ, ์ด๋ค head๋ ๋จผ ์์กด์ฑ์, ์ด๋ค head๋ ๋๋ช ์ฌ ์ฐธ์กฐ๋ ๋ฌธ๋ฒ์ ์ญํ ์ ๋ ์ ๋ณผ ์ ์์ต๋๋ค.
์ฆ self-attention์ ์ด๋๋ฅผ ์ฐธ๊ณ ํ๋๊ฐ์ ๋ํ ๊ฐ๋ ์ด๊ณ , multi-head attention์ ์ฌ๋ฌ ๊ด์ ์ attention์ ๋์์ ๊ณ์ฐํ๋ ๋ฐฉ์์ ๊ฐ๊น์ต๋๋ค.
Transformer์์์ ์ญํ
Transformer encoder์์๋ ๊ฐ token์ด ์ ๋ ฅ sequence ์์ ๋ชจ๋ token์ ๋ณผ ์ ์์ต๋๋ค. ๋ฒ์ญ ์๋ฌธ์ ์ฝ๋ encoder ์ ์ฅ์์๋ ๋ฌธ์ฅ ์ ์ฒด์ ๊ด๊ณ๋ฅผ ํ๊บผ๋ฒ์ ๊ณ์ฐํ๋ ๊ฒ์ด ์ ๋ฆฌํฉ๋๋ค.
Decoder์์๋ ์ํฉ์ด ์กฐ๊ธ ๋ค๋ฆ ๋๋ค. ์ถ๋ ฅ ๋ฌธ์ฅ์ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ์์ฑํ ๋ ์์ง ์์ฑํ์ง ์์ ๋ฏธ๋ token์ ๋ณด๋ฉด ์ ๋ฉ๋๋ค. ๊ทธ๋์ decoder์ self-attention์๋ mask๊ฐ ๋ค์ด๊ฐ๋๋ค. ์ด masked self-attention์ ํ์ฌ ์์น๊ฐ ์ด์ token๋ค๋ง ์ฐธ๊ณ ํ๋๋ก ๋ง๋ญ๋๋ค.
์ด ๊ตฌ๋ถ ๋๋ถ์ Transformer๋ ์ ๋ ฅ์ ๋๊ฒ ์ดํดํ๋ฉด์๋, ์ถ๋ ฅ ์์ฑ์์๋ autoregressiveํ ์์๋ฅผ ์งํฌ ์ ์์ต๋๋ค.
์ ํ์ฅ์ ์ ๋ฆฌํ๋
Self-attention์ sequence ๊ธธ์ด๊ฐ ์งง๊ฑฐ๋ ์ค๊ฐ ์ ๋์ผ ๋ ๋ณ๋ ฌํ์ ๊ฐํฉ๋๋ค. RNN์ฒ๋ผ token์ ํ๋์ฉ ์์๋๋ก ์ฒ๋ฆฌํ์ง ์์๋ ๋๋ฏ๋ก GPU/TPU ๊ฐ์ ๋ณ๋ ฌ ํ๋์จ์ด์ ์ ๋ง์ต๋๋ค.
๋ํ ๊ธด ์์กด์ฑ์ ๋ฐฐ์ฐ๊ธฐ ์ํ path length๊ฐ ์งง์ต๋๋ค. RNN์์๋ ์์ชฝ token์ ์ ๋ณด๊ฐ ๋ค์ชฝ token์ ๋๋ฌํ๋ ค๋ฉด ์ฌ๋ฌ recurrent step์ ์ง๋์ผ ํ์ง๋ง, self-attention์์๋ ํ layer ์์์ ์ง์ ์ฐ๊ฒฐ๋ ์ ์์ต๋๋ค. ์ด ์ ์ด Transformer๊ฐ ๋๊ท๋ชจ ์ธ์ด ๋ชจ๋ธ์ ๊ธฐ๋ณธ ๊ตฌ์กฐ๊ฐ ๋๋ ๋ฐ ์ค์ํ ์ญํ ์ ํ์ต๋๋ค.
ํ๊ณ
Self-attention์ ๋ํ์ ํ๊ณ๋ ๊ณ์ฐ ๋น์ฉ์
๋๋ค. ๋ชจ๋ token ์์ ๋น๊ตํ๋ฏ๋ก sequence ๊ธธ์ด๊ฐ n์ผ ๋ ๋น์ฉ์ด ๋๋ต nยฒ์ ๋น๋กํฉ๋๋ค. ๋ฌธ์ฅ์ด ๊ธธ์ด์ง๊ฑฐ๋ ๊ธด ๋ฌธ์, ๊ณ ํด์๋ ์ด๋ฏธ์ง, ๊ธด ์ค๋์ค์ฒ๋ผ ์
๋ ฅ์ด ์ปค์ง๋ฉด ์ด ๋น์ฉ์ด ๋ถ๋ด์ด ๋ฉ๋๋ค.
๊ทธ๋์ ์ดํ ์ฐ๊ตฌ์์๋ sparse attention, local attention, linear attention, chunking, retrieval, long-context architecture์ฒ๋ผ attention ๋น์ฉ์ ์ค์ด๊ฑฐ๋ ๊ธด ์ ๋ ฅ์ ๋๋์ด ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ์ด ๊ณ์ ๋ฑ์ฅํ์ต๋๋ค.
ํท๊ฐ๋ฆฌ์ง ๋ง์์ผ ํ ์
Self-attention์ โ๋ชจ๋ธ์ด ์ฅ๊ธฐ ๊ธฐ์ต์ ๊ฐ๋๋คโ๋ ๋ป์ด ์๋๋๋ค. Self-attention์ ํ์ฌ ์ ๋ ฅ ์์ token ๊ด๊ณ๋ฅผ ๊ณ์ฐํฉ๋๋ค. ๊ณผ๊ฑฐ ๋ํ๋ ์์ ๊ธฐ๋ก์ ์ฅ๊ธฐ์ ์ผ๋ก ์ ์ฅํ๊ณ ๋ค์ ๋ถ๋ฌ์ค๋ ๋ฌธ์ ๋ Agent memory consolidation ๊ฐ์ ๋ณ๋ memory system์ ์์ญ์ ๋๋ค.
๋ํ self-attention์ด ์์๋ฅผ ์์ ํ ๋ฒ๋ฆฐ๋ค๋ ๋ป๋ ์๋๋๋ค. Self-attention ์์ฒด์๋ ์์ ์ ๋ณด๊ฐ ์๊ธฐ ๋๋ฌธ์ Transformer๋ positional encoding์ด๋ position embedding์ผ๋ก ์์น ์ ๋ณด๋ฅผ ์ฃผ์ ํฉ๋๋ค.