Logo
Published on

Attention Is All You Need (2017) 논문 노트

Authors

Paper Info

한 줄 요약

순환 신경망(RNN/CNN) 없이 Self-Attention만으로 시퀀스 변환 모델을 구성해, 더 높은 품질(BLEU)과 더 빠른 병렬 학습을 동시에 달성한 논문입니다.

처음 읽는 사람을 위한 빠른 해설

이 논문은 어렵게 보이지만 핵심 질문은 단순합니다.

  • "문장을 읽을 때 단어를 순서대로만 봐야 하는가?"
  • "중요한 단어를 한 번에 골라서 보면 더 빠르고 정확하지 않은가?"

Transformer는 두 번째 접근을 선택한 구조입니다.
즉, 문장을 읽을 때 모든 단어를 서로 비교해서 중요한 관계를 바로 찾는 방식입니다.

이 페이지를 읽는 추천 순서

  1. 문제 정의
  2. Scaled Dot-Product Attention
  3. Multi-Head Attention
  4. 실험 결과
  5. 한계와 후속 과제

수식을 완전히 이해하지 못해도 위 순서로 읽으면 "왜 이 논문이 중요한지"는 충분히 잡을 수 있습니다.

용어 미니 사전

  • Token: 문장을 나눈 최소 단위입니다.
  • Embedding: 토큰을 숫자 벡터로 바꾼 표현입니다.
  • Query/Key/Value: 무엇을 찾는지(Q), 무엇으로 비교하는지(K), 실제 내용이 무엇인지(V)를 나타냅니다.
  • Attention score: 토큰끼리의 관련도 점수입니다.
  • Softmax: 점수를 확률처럼 분배하는 함수입니다.

관련 기초 노트:

문제 정의

당시 기계번역의 주류였던 RNN 기반 seq2seq는 다음 한계가 있었습니다.

  • 토큰을 순차 처리해서 학습 병렬화가 어렵습니다.
  • 멀리 떨어진 토큰 간 의존성을 잡기 어렵습니다.
  • 시퀀스 길이가 길수록 경로 길이(path length)가 늘어나 학습이 비효율적입니다.

논문은 이 문제를 "어텐션만으로 충분한가?"라는 질문으로 정면 돌파했습니다.

모델 구조

Input tokens

Positional encoding

Encoder blocks

Self attention

Feed forward

Encoder memory

Shifted target tokens

Positional encoding

Decoder blocks

Masked self attention

Cross attention

Feed forward

Linear and softmax

1) Encoder-Decoder 기본 골격

  • Encoder: 동일한 블록 N개(논문 기본 N=6) 스택입니다.
  • Decoder: 마찬가지로 N개 스택이며 미래 토큰 마스킹(masked self-attention)을 포함합니다.
  • 각 블록은 Residual Connection + LayerNorm을 포함합니다.

2) Scaled Dot-Product Attention

핵심 연산:

Attention(Q, K, V) = softmax(QK^T / sqrt(d_k)) V
  • QK^T로 토큰 간 관련성을 계산합니다.
  • sqrt(d_k)로 스케일링해 softmax 포화를 완화합니다.
  • V를 가중합해 문맥 벡터를 생성합니다.

Query

Score matrix

Key

Scale scores

Softmax

Value

Weighted sum

Context output

3) Multi-Head Attention

단일 attention 대신 여러 head로 쪼개 서로 다른 관계를 병렬로 학습합니다.

  • Base 모델 기준은 d_model=512, h=8입니다.
  • 각 head는 더 작은 차원에서 attention을 수행한 뒤 concat + projection을 적용합니다.
  • 문법/거리/정렬 등 다양한 패턴을 동시에 포착합니다.

Input representation

Head one

Head two

Head three

Head many

Concat

Output projection

Final representation

4) Position-wise Feed-Forward Network

각 토큰 위치별로 동일한 MLP를 적용합니다.

  • 512 -> 2048 -> 512 (ReLU) 구조입니다.
  • attention이 토큰 간 상호작용을 맡고, FFN이 비선형 변환을 맡습니다.

5) Positional Encoding

Attention은 순서 개념이 없기 때문에 위치 정보를 추가합니다.

  • 사인/코사인 기반의 고정 positional encoding을 사용합니다.
  • 학습 가능한 embedding 없이도 순서 정보를 표현할 수 있습니다.

실험 결과(논문 핵심)

  • WMT 2014 En-De: BLEU 28.4 (당시 SOTA)입니다.
  • WMT 2014 En-Fr: BLEU 41.8 (당시 최고 수준)입니다.
  • 학습 시간도 기존 최고 모델 대비 크게 단축되었습니다.

핵심은 "성능이 좋은데 더 빠르게 학습된다"는 점입니다.

왜 지금도 중요한가

  • GPT, BERT, T5 등 현대 LLM의 공통 기반 블록이 Transformer입니다.
  • "병렬 친화적 구조"가 대규모 사전학습 시대와 정확히 맞물렸습니다.
  • 이후 연구(긴 문맥, 효율 attention, 위치 인코딩 개선)의 출발점이 되었습니다.

한계와 후속 과제

  • Self-Attention의 메모리/연산량은 시퀀스 길이에 대해 O(n^2)로 증가합니다.
  • 매우 긴 컨텍스트에서 비용이 급격히 커집니다.
  • 이를 줄이기 위해 Sparse/Linear/FlashAttention 계열이 발전했습니다.

Long context grows

Attention matrix grows

Memory and compute increase

Speed and cost degrade

Follow up work

Sparse attention

Linear attention

FlashAttention

읽고 남길 메모

  • 이 논문은 "더 복잡한 트릭"보다 "핵심 병목 제거"가 얼마나 강력한지 보여줍니다.
  • RNN을 완전히 버린 결정이 이후 7~8년 연구 방향을 크게 바꿨습니다.
  • LLM 논문 읽기의 기준점으로 삼기 좋은 이유는 구조, 수식, 실험 설계가 명확하기 때문입니다.

다음에 읽을 논문

  • BERT (2018)
  • GPT-2 / GPT-3
  • RoPE (Rotary Positional Embedding)
  • FlashAttention