Vaswani et al. · Google Brain · NeurIPS 2017 · arXiv:1706.03762

Attention Is All You Need Transformer

한 줄 요약: RNN 없이 순수 Attention만으로 seq2seq를 구성해도 번역 품질이 더 높고 훨씬 빠르게 학습된다.

왜 Transformer가 필요했나

2017년 이전까지 seq2seq(번역, 요약 등)은 RNN 계열(LSTM, GRU)로 처리했다. 하지만 RNN에는 두 가지 구조적 한계가 있었다.

RNN의 문제

  • 순차 처리: 토큰을 하나씩 처리해야 하므로 병렬화 불가 → 긴 문장일수록 느려짐
  • 장거리 의존성: 50번째 단어가 1번째 단어를 참조하려면 hidden state가 49번 전달되어야 함 → 정보 희석
  • 그래디언트 소실: 역전파 시 긴 체인에서 그래디언트가 사라지거나 폭발

Transformer의 해법

  • Attention: 모든 토큰 쌍의 관계를 한 번에 직접 계산 → 장거리도 동일한 비용
  • 병렬 처리: 토큰 간 연산에 순서 의존성이 없어 GPU/TPU 활용 극대화
  • 고정 경로: 어떤 두 토큰이든 항상 1-hop으로 정보 교환 → 그래디언트 안정적

전체 구조

Transformer는 Encoder(입력 이해)와 Decoder(출력 생성)로 나뉜다. 번역의 경우 Encoder는 원문 전체를 이해하고, Decoder는 번역문을 한 토큰씩 생성한다. 각 블록은 N번 쌓인다(논문 기본값 N=6).

Encoder ×N Multi-Head Self-Attention Add & LayerNorm Feed-Forward (MLP) Add & LayerNorm Positional Encoding Input Embedding Inputs "The cat sat" Decoder ×N Masked Multi-Head Self-Attention Add & LayerNorm Cross-Attention (K, V ← Encoder) Add & LayerNorm Feed-Forward (MLP) Add & LayerNorm Output (shifted right) "Der Kater saß" K, V
각 블록의 역할 정리:

Attention 직접 체험하기

Self-Attention의 핵심은 "모든 토큰이 다른 모든 토큰을 동시에 참조한다"는 것이다. 아래 히트맵에서 선택된 토큰(Query)이 각 토큰(Key)에 얼마나 주의를 기울이는지 확인할 수 있다. 예를 들어 "sat"은 주어인 "cat"과 장소인 "mat"에 높은 attention을 보인다.

Attention 히트맵 (행 = Query, 열 = Key)

* 실제 모델의 attention 패턴을 시각화한 예시입니다

Scaled Dot-Product Attention

Attention의 핵심 아이디어는 Query, Key, Value의 세 역할로 입력을 분리하는 것이다.

Q·Kᵀ는 "내 질문이 각 토큰의 광고판과 얼마나 맞는가"를 내적으로 측정한다. 이 점수에 softmax를 적용해 가중치로 만들고, 그 가중치로 V들을 가중 평균하면 "필요한 정보를 적절히 혼합한" 새로운 표현이 된다.

$$\text{Attention}(Q,K,V) = \text{softmax}\!\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$
왜 √d_k로 나누나?
Q·Kᵀ의 내적값은 차원 d_k가 클수록 크기가 커진다 (표준편차 ∝ √d_k). 스케일링 없이 softmax에 넣으면 극단적으로 작은 값이 나와서 그래디언트가 거의 0에 가까워진다. √d_k로 나눠 분산을 1로 맞추면 softmax가 적절한 범위에서 동작한다.
Input X W^Q W^K W^V Q K V QKᵀ / √d_k softmax × Output

Multi-Head: 여러 관점 동시에

단일 Attention 헤드는 하나의 "관점"만 학습한다. 하지만 언어를 이해하려면 동시에 여러 관계를 파악해야 한다 — 문법적 의존성, 의미적 유사성, 위치적 근접성 등. Multi-Head Attention은 h개의 독립적인 Attention을 병렬로 수행하고 결과를 이어붙인다.

각 헤드는 별도의 W^Q, W^K, W^V 행렬을 갖고, d_model 차원 대신 d_model/h 차원에서 동작한다. 계산량은 단일 헤드와 동일하지만 훨씬 풍부한 표현이 가능하다. 논문에서는 h=8 사용.

head₁ 문법 head₂ 의미 head₃ 위치 headₕ ... Concat W^O Output

결과 & 성능

WMT 2014 영어→독일어 번역에서 BLEU 28.4점을 달성해 기존 최고 기록을 2점 이상 뛰어넘었다. 특히 훈련 비용은 기존 최고 모델의 약 1/10이었다. Attention의 병렬성 덕분에 8개 P100 GPU로 3.5일 학습으로 당시 SOTA를 달성했다.

Encoder-Only 파생 모델

Encoder만 사용해 텍스트를 표현 벡터로 변환하는 데 특화.

  • BERT — 양방향 사전학습, 분류/NER/QA
  • RoBERTa — BERT 개선, NSP 제거
  • DeBERTa — 위치 정보 개선

Decoder-Only 파생 모델

Decoder만 사용해 다음 토큰을 예측하는 언어 생성에 특화.

  • GPT-1/2/3/4 — 대규모 언어 생성
  • LLaMA, Mistral — 오픈소스 LLM
  • Claude, Gemini — 대화형 AI
Transformer가 비전에도 쓰이는 이유: 이미지를 16×16 패치로 나누면 "토큰 시퀀스"와 동일하다. ViT(Vision Transformer)는 이 방식으로 ImageNet SOTA를 달성했고, 이후 Stable Diffusion의 U-Net 내부 Attention도, Whisper의 음성 인식도 모두 Transformer 기반이다.
GPT, BERT, T5, ViT, Whisper, Stable Diffusion 등 현대 AI 모델의 거의 전부가 이 구조 위에 세워진다. 2017년 이 논문 하나가 AI 연구의 방향 전체를 바꿨다.