논문 "Attention Is All You Need"는 현대 생성형 AI와 대규모 언어 모델(LLM)의 근간이 되는 Transformer(트랜스포머) 아키텍처를 처음으로 제안한 기념비적인 연구입니다. 이 논문은 기존의 복잡한 순환 신경망(RNN)이나 컨볼루션 신경망(CNN)을 완전히 배제하고, 오로지 Attention(주의 집중) 메커니즘만으로 모델을 구축할 수 있음을 증명했습니다.
시작하기 전
https://pak1010pak.tistory.com/102
[용어 정리] Transformer 논문 분석 전 기본 용어 정리
안녕하세요! 실무자분들 강사님, 주변 지인들이 논문이 좋다. 읽어보아라 해서 무작정 해보려고 했지만...나는 용어들조차도 아직 헷갈리는게 많아서 자주 쓰이는 용어들을 정리해보는 블로그(
pak1010pak.tistory.com
논문 원본 링크
https://arxiv.org/abs/1706.03762
Attention Is All You Need
The dominant sequence transduction models are based on complex recurrent or convolutional neural networks in an encoder-decoder configuration. The best performing models also connect the encoder and decoder through an attention mechanism. We propose a new
arxiv.org
1. 서론: 왜 RNN에서 벗어나야 했는가?
트랜스포머 이전의 시퀀스 모델링(번역, 요약 등) 분야에서는 RNN(LSTM, GRU 포함)이 표준이었습니다. 하지만 RNN에는 두 가지 치명적인 한계가 있었습니다.
- 순차적 계산의 한계: RNN은 문장의 단어를 하나씩 순서대로 처리해야 합니다. 즉, $t$번째 단어를 처리하려면 반드시 $t-1$번째의 상태가 계산되어야 합니다4. 이는 병렬 처리를 불가능하게 만들어, 데이터가 많아질수록 학습 시간이 기하급수적으로 늘어나는 원인이 되었습니다.
- 장기 의존성(Long-range Dependencies) 문제: 문장이 길어질수록 앞부분의 정보가 뒤로 전달되지 않는 문제가 발생했습니다.
트랜스포머는 이러한 순차적 계산을 제거하고, Self-Attention을 통해 문장 내 모든 단어 간의 관계를 한 번에 계산함으로써 학습 속도와 성능을 동시에 잡았습니다.

2. Encoder와 Decoder
트랜스포머는 크게 정보를 입력받는 Encoder(인코더)와 결과를 생성하는 Decoder(디코더)로 구성됩니다.
인코더 (Encoder)
- 구성: 총 $N=6$개의 동일한 레이어가 쌓여 있습니다.
- 세부 구조: 각 레이어는 두 개의 서브 레이어로 나뉩니다.
- Multi-Head Self-Attention: 문장 안의 단어들이 서로 어떤 연관이 있는지 계산합니다.
- Position-wise Feed-Forward Network: 각 단어의 표현을 개별적으로 가공합니다.
- 특징: 모든 서브 레이어에는 Residual Connection(잔차 연결)과 Layer Normalization(레이어 정규화)이 적용되어 학습의 안정성을 높입니다.
디코더 (Decoder)
- 구성: 인코더와 마찬가지로 $N=6$개의 레이어로 구성됩니다.
- 세부 구조: 인코더의 구조에 한 가지가 더 추가됩니다.
- Masked Multi-Head Self-Attention: 현재 단어를 생성할 때 미래에 나올 단어를 보지 못하도록 가리는(Masking) 장치가 포함됩니다.
- Encoder-Decoder Attention: 인코더가 만들어낸 정보를 디코더가 참고하여 적절한 단어를 생성하게 합니다.
- Position-wise Feed-Forward Network.
3. Attention 메커니즘: Scaled Dot-Product Attention
논문에서 정의하는 Attention은 Query(Q), Key(K), Value(V)라는 세 가지 벡터 간의 관계를 계산하는 과정입니다.
- 개념: Query: 정보를 찾고자 하는 주체 (예: 현재 단어)
- Key: 비교 대상이 되는 정보들의 인덱스 (예: 문장 내 다른 모든 단어들)
- Value: 실제 그 정보가 담고 있는 값
- 계산 방식: Query와 Key의 유사도(Dot-product)를 구하고, 이를 키의 차원 수($d_{k}$)의 제곱근으로 나눕니다(Scaling). 그 다음 Softmax 함수를 통과시켜 가중치를 얻고, 이 가중치를 Value에 곱해 최종 출력값을 만듭니다.
- 수식:
$$Attention(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$
4. Multi-Head Attention: 여러 개의 시선으로 보기
트랜스포머는 Attention을 한 번만 수행하지 않고, 여러 개의 "Head"로 나누어 병렬로 수행합니다.
- 이유: 하나의 Attention만 사용하면 평균화 과정에서 다양한 정보를 놓칠 수 있습니다.
- 효과: Multi-Head Attention을 통해 모델은 문장의 문법적 관계와 의미적 관계 등 다양한 관점(subspaces)에서 정보를 동시에 파악할 수 있게 됩니다. 본 논문에서는 총 8개의 헤드를 사용했습니다.
5. Positional Encoding: 위치 정보 주입
트랜스포머는 RNN과 달리 단어를 순차적으로 넣지 않기 때문에, 문장 내에서 단어의 위치 순서를 알 방법이 없습니다. 이를 해결하기 위해 입력 데이터에 위치 정보를 더해주는 Positional Encoding을 사용합니다.
- 방법: 사인(Sine)과 코사인(Cosine) 함수를 사용하여 각 위치마다 고유한 패턴을 가진 값을 생성하고, 이를 입력 임베딩에 더해줍니다. 이를 통해 모델은 단어 간의 상대적인 거리를 이해할 수 있게 됩니다.
6. 왜 이 논문이 혁신적인가? (장점 비교)
논문에서는 Self-Attention 레이어와 기존의 RNN, CNN 레이어를 세 가지 측면에서 비교합니다.
| 비교 항목 | Self-Attention | Recurrent (RNN) | Convolutional (CNN) |
| 레이어당 계산 복잡도 | $O(n^2 \cdot d)$ (대체로 빠름) | $O(n \cdot d^2)$ | $O(k \cdot n \cdot d^2)$ |
| 최소 순차적 연산 | $O(1)$ (병렬 가능) | $O(n)$ (순차적) | $O(1)$ |
| 최대 경로 길이 | $O(1)$ (모든 단어 연결) | $O(n)$ | $O(\log_k(n))$ |
결론적으로, 트랜스포머는 병렬 처리에 최적화되어 있어 학습 속도가 매우 빠르며, 문장이 아무리 길어도 모든 단어를 직접 연결하기 때문에 장기 의존성 문제를 완벽하게 해결합니다.
7. 실험 결과 및 결론
-
번역 성능: WMT 2014 영어-독일어 번역에서 28.4 BLEU, 영어-프랑스어 번역에서 41.8 BLEU를 기록하며 당시 최고 성능(SOTA)을 경신했습니다.

-
학습 효율: 기존 모델들보다 훨씬 적은 비용(GPU 8개로 3.5일 학습)으로 더 좋은 결과를 냈습니다.
- 일반화 능력: 번역뿐만 아니라 영어 구문 분석(Parsing) 작업에서도 매우 뛰어난 성능을 보여, 다양한 자연어 처리 작업에 범용적으로 쓰일 수 있음을 증명했습니다.
이 논문 이후로 GPT, BERT 등 현재 우리가 사용하는 모든 혁신적인 AI 모델들이 탄생하게 되었습니다.