Attention Is All You Need๋ 2017๋ ์ ๋ฐํ๋ Transformer ๋ ผ๋ฌธ์ ๋๋ค. ์ ๋ชฉ ๊ทธ๋๋ก, ์ด ๋ ผ๋ฌธ์ ๊ธฐ๊ณ ๋ฒ์ญ ๊ฐ์ sequence transduction ๋ฌธ์ ์์ recurrent layer๋ convolutional layer๋ฅผ ์ฐ์ง ์๊ณ ๋ attention๋ง์ผ๋ก ๊ฐํ ๋ชจ๋ธ์ ๋ง๋ค ์ ์๋ค๊ณ ์ฃผ์ฅํ์ต๋๋ค.
๋ ผ๋ฌธ์ ์๋ฏธ๋ โattention์ด๋ผ๋ ๋ถํ์ ํ๋ ๋ ๋ถ์๋คโ๊ฐ ์๋๋๋ค. ์ด์ ์๋ encoder-decoder ๊ตฌ์กฐ์ attention์ ์ด๋ฏธ ์ฐ์ด๊ณ ์์์ต๋๋ค. ์ด ๋ ผ๋ฌธ์ ํต์ฌ์ ์์ฐจ์ ์ผ๋ก ์ ๋ณด๋ฅผ ๋๊ธฐ๋ RNN/CNN ์ค์ฌ ๊ตฌ์กฐ๋ฅผ ๋นผ๊ณ , self-attention๊ณผ feed-forward network๋ฅผ ์์ ๊ตฌ์กฐ๋ง์ผ๋ก encoder-decoder ๋ชจ๋ธ์ ๊ตฌ์ฑํ๋ค๋ ์ ์ ๋๋ค. ์ด ์ ํ์ด ๋ณ๋ ฌ ํ์ต, ๊ธด ์์กด์ฑ ์ฒ๋ฆฌ, ๋ชจ๋ธ ํ์ฅ์ฑ ์ธก๋ฉด์์ ํฐ ๋ณํ๋ฅผ ๋ง๋ค์์ต๋๋ค.
๋ฐฐ๊ฒฝ: ์ RNN์ ๋นผ๋ ค๊ณ ํ๋
๋ ผ๋ฌธ์ด ๋ฌธ์ ์ผ์ ๊ฒ์ ๋น์ sequence model์ ์์ฐจ์ฑ์ ๋๋ค. RNN, LSTM, GRU ๊ณ์ด ๋ชจ๋ธ์ ์ ๋ ฅ token์ ์์๋๋ก ์ฒ๋ฆฌํ๋ฉด์ hidden state๋ฅผ ๊ฐฑ์ ํฉ๋๋ค. ์ด ๋ฐฉ์์ ๋ฌธ์ฅ์ ์์๋ฅผ ์์ฐ์ค๋ฝ๊ฒ ๋ค๋ฃจ์ง๋ง, ํ๋ จํ ๋ ํ ๋ฌธ์ฅ ์์ ์์น๋ค์ ์์ ํ ๋ณ๋ ฌ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ด๋ ต์ต๋๋ค.
๊ธด ๋ฌธ์ฅ์์ ์๋ถ๋ถ์ ์ ๋ณด๊ฐ ๋ค์ชฝ token๊น์ง ์ ๋ฌ๋๋ ค๋ฉด ์ฌ๋ฌ ๊ณ์ฐ ๋จ๊ณ๋ฅผ ์ง๋์ผ ํฉ๋๋ค. ๋ ผ๋ฌธ์ ์ด๊ฒ์ long-range dependency๋ฅผ ํ์ตํ๊ธฐ ์ด๋ ต๊ฒ ๋ง๋๋ ์์ธ ์ค ํ๋๋ก ๋ด ๋๋ค. ๊ณ์ฐ์ด ์์ฐจ์ ์ด๋ฉด GPU๋ฅผ ์จ๋ ํ training example ๋ด๋ถ์ ๋ณ๋ ฌํ๊ฐ ์ ํ๋๊ณ , ๊ธธ์ด๊ฐ ๊ธธ์ด์ง์๋ก ํ์ต ํจ์จ๋ ๋จ์ด์ง๋๋ค.
Transformer๋ ์ด ๋ณ๋ชฉ์ ์ค์ด๊ธฐ ์ํด ๊ฐ ์์น๊ฐ ๋ค๋ฅธ ๋ชจ๋ ์์น๋ฅผ ์ง์ ์ฐธ๊ณ ํ ์ ์๋ self-attention์ ์ค์ฌ ์ฐ์ฐ์ผ๋ก ๋ก๋๋ค. ๋๋ถ์ ํ layer ์์์ ๋ token ์ฌ์ด์ ๊ฒฝ๋ก ๊ธธ์ด๊ฐ ์งง์์ง๊ณ , sequence์ ์ฌ๋ฌ ์์น๋ฅผ ๋์์ ๊ณ์ฐํ๊ธฐ ์ฌ์์ง๋๋ค.
๋ชจ๋ธ ๊ตฌ์กฐ
๋ ผ๋ฌธ์ ์ผ๋ฐ์ ์ธ encoder-decoder ๊ตฌ์กฐ๋ฅผ ์ ์งํฉ๋๋ค. Encoder๋ ์ ๋ ฅ sequence๋ฅผ ์ฐ์ ํํ์ผ๋ก ๋ฐ๊พธ๊ณ , decoder๋ ๊ทธ ํํ์ ์ฐธ๊ณ ํด ์ถ๋ ฅ sequence๋ฅผ ํ๋์ฉ ์์ฑํฉ๋๋ค. ๋ค๋ฅธ ์ ์ encoder์ decoder ๋ด๋ถ๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐฉ์์ ๋๋ค.
Encoder
Encoder๋ 6๊ฐ์ ๋์ผํ layer๋ฅผ ์์ ๋ง๋ญ๋๋ค. ๊ฐ layer์๋ ๋ ๊ฐ์ sub-layer๊ฐ ์์ต๋๋ค.
- multi-head self-attention
- position-wise feed-forward network
๊ฐ sub-layer ์ฃผ๋ณ์๋ residual connection์ด ์๊ณ , ๊ทธ ๋ค์ layer normalization์ด ๋ถ์ต๋๋ค. ์ฆ ์ ๋ณด๊ฐ sub-layer๋ฅผ ํต๊ณผํ ๊ฒฐ๊ณผ์ ์๋ ์ ๋ ฅ์ ๋ํ ๋ค ์ ๊ทํํฉ๋๋ค. ์ด ๊ตฌ์กฐ๋ ๊น์ ๋คํธ์ํฌ๋ฅผ ์์ ์ ์ผ๋ก ํ์ต์ํค๊ธฐ ์ํ ์ฅ์น์ ๋๋ค.
Decoder
Decoder๋ 6๊ฐ์ layer๋ฅผ ์์ง๋ง, encoder๋ณด๋ค sub-layer๊ฐ ํ๋ ๋ ๋ง์ต๋๋ค.
- masked multi-head self-attention
- encoder ์ถ๋ ฅ์ attention์ ๊ฑฐ๋ multi-head attention
- position-wise feed-forward network
์ฒซ ๋ฒ์งธ attention์ mask๋ฅผ ์ฐ๋ ์ด์ ๋ ๋ฒ์ญ ๊ฒฐ๊ณผ๋ฅผ ์์ฑํ ๋ ์์ง ์์ฑํ์ง ์์ ๋ฏธ๋ token์ ๋ณด๋ฉด ์ ๋๊ธฐ ๋๋ฌธ์ ๋๋ค. Decoder๋ ์ด์ ์ ์์ฑํ token๋ง ๋ณด๊ณ ๋ค์ token์ ์์ธกํด์ผ ํ๋ฏ๋ก, ์ค๋ฅธ์ชฝ ๋ฐฉํฅ์ ์ ๋ณด๋ฅผ ๊ฐ๋ฆฝ๋๋ค.
๋ ผ๋ฌธ ๊ทธ๋ฆผ์ผ๋ก ๋ณด๋ ๊ตฌ์กฐ

Figure 1. Transformer ์ ์ฒด ๊ตฌ์กฐ. ์ถ์ฒ: Vaswani et al., Attention Is All You Need.
PDF์์ ์ถ์ถํ Figure 1์ Transformer ์ ์ฒด ๊ตฌ์กฐ๋ฅผ ํ ์ฅ์ผ๋ก ๋ณด์ฌ์ค๋๋ค. ์ผ์ชฝ์ encoder, ์ค๋ฅธ์ชฝ์ decoder์ ๋๋ค. ์ ๋ ฅ token์ embedding์ผ๋ก ๋ฐ๋ ๋ค positional encoding์ด ๋ํด์ง๊ณ , encoder stack์ ํต๊ณผํฉ๋๋ค. Encoder layer ์์๋ multi-head attention๊ณผ feed-forward network๊ฐ ์์ผ๋ฉฐ, ๊ฐ sub-layer ๋ค์๋ Add & Norm์ด ๋ถ์ด ์์ต๋๋ค.
์ค๋ฅธ์ชฝ decoder๋ output embedding์ positional encoding์ ๋ํ ๋ค ์์ํฉ๋๋ค. Decoder์ ์ฒซ attention์ masked multi-head attention์ ๋๋ค. ์ด๋ ์์ง ์์ฑํ์ง ์์ ๋ฏธ๋ token์ ๋ณด์ง ๋ชปํ๊ฒ ๋ง์ต๋๋ค. ๊ทธ ๋ค์ decoder๋ encoder ์ถ๋ ฅ์ ๋ค์ attention์ ๊ฑธ๊ณ , feed-forward network๋ฅผ ๊ฑฐ์น ๋ค linear layer์ softmax๋ฅผ ํตํด ๋ค์ token์ ํ๋ฅ ์ ๋ง๋ญ๋๋ค.

Figure 2 ์ผ์ชฝ. Scaled dot-product attention. Q์ K์ ๊ด๊ณ๋ฅผ ์ ์ํํ๊ณ , mask์ softmax๋ฅผ ๊ฑฐ์ณ V๋ฅผ ๊ฐ์คํฉํฉ๋๋ค.

Figure 2 ์ค๋ฅธ์ชฝ. Multi-head attention. ์ฌ๋ฌ attention head๋ฅผ ๋ณ๋ ฌ๋ก ๊ณ์ฐํ ๋ค concatํ๊ณ linear layer๋ก ๋ค์ ํฉ์นฉ๋๋ค.
Figure 2๋ attention ๋ด๋ถ๋ฅผ ๋ ์๊ฒ ๋๋์ด ๋ณด์ฌ์ค๋๋ค. Scaled dot-product attention์ Q์ K๋ฅผ ๊ณฑํ๊ณ , scale์ ์ ์ฉํ ๋ค, ํ์ํ๋ฉด mask๋ฅผ ์์ฐ๊ณ , softmax๋ฅผ ๊ฑฐ์ณ V๋ฅผ ๊ฐ์คํฉํฉ๋๋ค. Multi-head attention์ ์ด ๊ณผ์ ์ ์ฌ๋ฌ head์์ ๋ณ๋ ฌ๋ก ์ํํ ๋ค concatํ๊ณ linear layer๋ฅผ ํต๊ณผ์ํต๋๋ค. ์ด ๊ทธ๋ฆผ ๋๋ถ์ โattentionโ์ด ํ๋์ ์ถ์์ ์์ด๋์ด๊ฐ ์๋๋ผ, ์ค์ ๋ก๋ ํ๋ ฌ ๊ณฑ, scaling, masking, softmax, value ์กฐํฉ์ผ๋ก ์ด๋ฃจ์ด์ง ๊ณ์ฐ์ด๋ผ๋ ์ ์ด ๋ถ๋ช ํด์ง๋๋ค.
Attention ๊ณ์ฐ
๋ ผ๋ฌธ์ attention์ query, key, value์ ๊ด๊ณ๋ก ์ค๋ช ํฉ๋๋ค. Query๋ โ๋ฌด์์ ์ฐพ๊ณ ์ถ์๊ฐโ, key๋ โ๊ฐ ํญ๋ชฉ์ด ์ด๋ค ํน์ง์ ๊ฐ๋๊ฐโ, value๋ โ์ค์ ๋ก ๊ฐ์ ธ์ฌ ์ ๋ณดโ์ ๊ฐ๊น์ต๋๋ค.
Scaled dot-product attention์ query์ key์ ๋ด์ ์ ๊ณ์ฐํด ๊ด๋ จ๋๋ฅผ ๊ตฌํ๊ณ , ์ด๋ฅผ key ์ฐจ์์ ์ ๊ณฑ๊ทผ์ผ๋ก ๋๋์ด scale์ ๋ง์ถ ๋ค softmax๋ฅผ ์ ์ฉํฉ๋๋ค. ๋ง์ง๋ง์ผ๋ก ์ด ๊ฐ์ค์น๋ฅผ value์ ๊ณฑํด ํฉ์นฉ๋๋ค.
๊ฐ๋จํ ๋งํ๋ฉด, ๊ฐ token์ด ๋ฌธ์ฅ ์์ ๋ค๋ฅธ token๋ค์ ์ผ๋ง๋ ์ฐธ๊ณ ํ ์ง ์ ์ํํ๊ณ , ๊ทธ ์ ์์ ๋ฐ๋ผ ์ ๋ณด๋ฅผ ์๋ ๊ณผ์ ์ ๋๋ค.
Multi-head attention
ํ๋์ attention๋ง ์ฐ๋ฉด token ์ฌ์ด์ ๊ด๊ณ๋ฅผ ํ ๊ฐ์ง ๊ด์ ์ผ๋ก๋ง ๋ณด๊ฒ ๋ฉ๋๋ค. ๋ ผ๋ฌธ์ query, key, value๋ฅผ ์ฌ๋ฌ ๊ฐ์ ๋ฎ์ ์ฐจ์ ๊ณต๊ฐ์ผ๋ก ์ ํ ๋ณํํ ๋ค, ๊ฐ ๊ณต๊ฐ์์ attention์ ๋ณ๋ ฌ๋ก ๊ณ์ฐํฉ๋๋ค. ์ด๊ฒ์ด multi-head attention์ ๋๋ค.
์ฌ๋ฌ head๋ ์๋ก ๋ค๋ฅธ ์ข ๋ฅ์ ๊ด๊ณ๋ฅผ ๋ณผ ์ ์์ต๋๋ค. ์ด๋ค head๋ ๋ฌธ๋ฒ์ ์ฐ๊ฒฐ์, ์ด๋ค head๋ ๋จผ ๊ฑฐ๋ฆฌ์ ์์กด์ฑ์, ์ด๋ค head๋ ํน์ ๋จ์ด ์ฃผ๋ณ์ ์ง์ญ์ ํจํด์ ๋ ์ ๋ณผ ์ ์์ต๋๋ค. ๋ ผ๋ฌธ ํ๋ฐ์ attention visualization์ ์ค์ ๋ก ์ผ๋ถ head๊ฐ ๊ธด ๊ฑฐ๋ฆฌ์ ๋์ฌ๊ตฌ ๊ด๊ณ๋ ๋๋ช ์ฌ ์ฐธ์กฐ์ ๋ฐ์ํ๋ ๋ชจ์ต์ ๋ณด์ฌ์ค๋๋ค.
์์น ์ ๋ณด๋ ์ด๋ป๊ฒ ๋ฃ๋
Self-attention ์์ฒด๋ ์ ๋ ฅ์ ์์๋ฅผ ์์ง ๋ชปํฉ๋๋ค. token๋ค์ด ํ๊บผ๋ฒ์ ๋ค์ด์ค๋ฉด, attention์ ์ด๋ token์ด ์์ ์์๊ณ ๋ค์ ์์๋์ง ์๋์ผ๋ก ์ ์ ์์ต๋๋ค.
๊ทธ๋์ Transformer๋ embedding์ positional encoding์ ๋ํฉ๋๋ค. ๋ ผ๋ฌธ์ sine๊ณผ cosine ํจ์๋ฅผ ์ด์ฉํ ๊ณ ์ positional encoding์ ์ฌ์ฉํฉ๋๋ค. ์๋ก ๋ค๋ฅธ ์ฃผ๊ธฐ์ sin/cos ๊ฐ์ ๊ฐ ์์น์ ๋ถ์ฌํ๋ฉด, ๋ชจ๋ธ์ token์ ์ ๋ ์์น๋ฟ ์๋๋ผ ์๋์ ์์น ๊ด๊ณ๋ ํ์ตํ ์ ์์ต๋๋ค. ๋ ผ๋ฌธ์ ํ์ต ๊ฐ๋ฅํ positional embedding๋ ์คํํ๊ณ , ์ฑ๋ฅ์ ๋น์ทํ๋ค๊ณ ๋ณด๊ณ ํฉ๋๋ค.
์ self-attention์ธ๊ฐ
๋ ผ๋ฌธ์ self-attention์ recurrent layer, convolutional layer์ ๋น๊ตํ ๋ ์ธ ๊ฐ์ง ๊ธฐ์ค์ ๋ด ๋๋ค.
- layer๋น ๊ณ์ฐ ๋ณต์ก๋
- ๋ณ๋ ฌํ ๊ฐ๋ฅํ ์ ๋
- ๋จผ ์์น ์ฌ์ด์ path length
Self-attention์ sequence ๊ธธ์ด๊ฐ representation ์ฐจ์๋ณด๋ค ์งง์ ๊ฒฝ์ฐ ๊ณ์ฐ๋ ์ธก๋ฉด์์ ์ ๋ฆฌํ๊ณ , ๋ชจ๋ ์์น๋ฅผ ๋์์ ๊ณ์ฐํ ์ ์์ด ๋ณ๋ ฌํ์ ๊ฐํฉ๋๋ค. ๋ํ ํ layer ์์์ ์์์ ๋ ์์น๊ฐ ์ง์ ์ฐ๊ฒฐ๋ ์ ์์ผ๋ฏ๋ก long-range dependency์ ๊ฒฝ๋ก๊ฐ ์งง์ต๋๋ค.
๋ฌผ๋ก self-attention์ ๋ชจ๋ token ์์ ๋น๊ตํ๋ฏ๋ก sequence ๊ธธ์ด๊ฐ ๋งค์ฐ ๊ธธ์ด์ง๋ฉด ๋น์ฉ์ด ์ปค์ง๋๋ค. ๋ ผ๋ฌธ๋ ๊ฒฐ๋ก ์์ ์ด๋ฏธ์ง, ์ค๋์ค, ๋น๋์ค์ฒ๋ผ ํฐ ์ ๋ ฅ์ ๋ค๋ฃจ๊ธฐ ์ํด local/restricted attention์ ํ๊ตฌํ๊ฒ ๋ค๊ณ ๋งํฉ๋๋ค.
ํ์ต๊ณผ ์คํ ๊ฒฐ๊ณผ
๋ ผ๋ฌธ์ WMT 2014 English-to-German, English-to-French ๋ฒ์ญ ํ์คํฌ์์ ๋ชจ๋ธ์ ํ๊ฐํ์ต๋๋ค. Base ๋ชจ๋ธ์ 8๊ฐ์ NVIDIA P100 GPU๋ฅผ ์ฌ์ฉํด ์ฝ 12์๊ฐ ๋์ 100,000 step ํ์ตํ๊ณ , Big ๋ชจ๋ธ์ ์ฝ 3.5์ผ ๋์ 300,000 step ํ์ตํ์ต๋๋ค.
๊ฒฐ๊ณผ๋ ๋น์ ๊ธฐ์ค์ผ๋ก ๊ฐํ์ต๋๋ค.
- English-to-German: Transformer big์ด BLEU 28.4๋ฅผ ๊ธฐ๋กํด ๊ธฐ์กด ์ต๊ณ ๊ฒฐ๊ณผ๋ฅผ 2 BLEU ์ด์ ๋์์ต๋๋ค.
- English-to-French: Transformer big์ด BLEU 41.8์ ๊ธฐ๋กํ์ต๋๋ค.
- ํนํ English-to-German์์๋ ๊ธฐ์กด ensemble ๋ชจ๋ธ๋ค๋ณด๋ค๋ ๋์ ์ฑ๋ฅ์ ๋ณด์์ต๋๋ค.
์ค์ํ ์ ์ ์ฑ๋ฅ๋ง์ด ์๋๋ผ ํ๋ จ ๋น์ฉ์ ๋๋ค. ๋ ผ๋ฌธ์ Transformer๊ฐ ์ด์ ์ ๊ฐํ ๋ชจ๋ธ๋ค๋ณด๋ค ํจ์ฌ ์ ์ training cost๋ก ๊ฒฝ์๋ ฅ ์๋ ๊ฒฐ๊ณผ๋ฅผ ๋๋ค๊ณ ๊ฐ์กฐํฉ๋๋ค.
๋ ผ๋ฌธ์ด ๋ฐ๊พผ ๊ด์
์ด ๋ ผ๋ฌธ ์ดํ sequence model์ ์๊ฐํ๋ ๊ธฐ๋ณธ ๊ด์ ์ด ๋ฌ๋ผ์ก์ต๋๋ค. ์ด์ ์๋ ์์๋ฅผ ๋ค๋ฃจ๋ ค๋ฉด ์์ฐจ์ ์ธ recurrence๊ฐ ์์ฐ์ค๋ฝ๋ค๊ณ ์ฌ๊ฒจ์ก์ต๋๋ค. Transformer๋ ์์๋ฅผ ๋ณ๋ positional information์ผ๋ก ์ฃผ๊ณ , token ์ฌ์ด์ ๊ด๊ณ๋ attention์ผ๋ก ์ง์ ๊ณ์ฐํ๋ ๋ฐฉ์๋ ์ถฉ๋ถํ ๊ฐํ๋ค๋ ๊ฒ์ ๋ณด์ฌ์ฃผ์์ต๋๋ค.
์ด ์์ด๋์ด๋ ์ดํ BERT, GPT ๊ณ์ด ๋ชจ๋ธ์ ๊ธฐ๋ฐ์ด ๋์์ต๋๋ค. ๋ฌผ๋ก ํ๋ LLM์ ์ด ๋ ผ๋ฌธ์ ์ํ Transformer์ ์์ ํ ๊ฐ์ง๋ ์์ต๋๋ค. decoder-only ๊ตฌ์กฐ, pretraining objective, scaling law, instruction tuning ๋ฑ ๋ง์ ๋ณํ๊ฐ ๋ํด์ก์ต๋๋ค. ๊ทธ๋๋ โattention ์ค์ฌ์ ๋ณ๋ ฌํ ๊ฐ๋ฅํ sequence modelโ์ด๋ผ๋ ๊ธฐ๋ณธ ์ ํ์ ์ ์ด ๋ ผ๋ฌธ์์ ์์๋๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค.
ํท๊ฐ๋ฆฌ์ง ๋ง์์ผ ํ ์
Transformer๋ ๋จ์ํ attention ํ๋๋ฅผ ์ด ๋ชจ๋ธ์ด ์๋๋๋ค. Multi-head attention, feed-forward network, residual connection, layer normalization, positional encoding, masking, encoder-decoder attention์ด ํจ๊ป ์ค๊ณ๋ ๊ตฌ์กฐ์ ๋๋ค.
๋ํ ์ด ๋ ผ๋ฌธ์ ์ฒ์๋ถํฐ ๋ฒ์ฉ ๋ํ ์ธ์ด ๋ชจ๋ธ์ ์ ์ํ ๋ ผ๋ฌธ์ด๋ผ๊ธฐ๋ณด๋ค๋, ๊ธฐ๊ณ ๋ฒ์ญ์ ์ค์ฌ์ผ๋ก sequence transduction ๋ชจ๋ธ์ ์๋กญ๊ฒ ๊ตฌ์ฑํ ๋ ผ๋ฌธ์ ๋๋ค. ์ดํ ์ด ๊ตฌ์กฐ๊ฐ ์ธ์ด ๋ชจ๋ธ๋ง๊ณผ ๋๊ท๋ชจ ์ฌ์ ํ์ต์ ํ์ฅ๋๋ฉด์ ์ค๋๋ ์ LLM ํ๋ฆ์ผ๋ก ์ด์ด์ก์ต๋๋ค.
์ถ์ฒ
- arXiv: 1706.03762
- PDF: https://arxiv.org/pdf/1706.03762