Transformer

Self-Attention 기반 병렬 처리 아키텍처

Transformer는 2017년 Google의 "Attention Is All You Need" 논문에서 제안된 아키텍처입니다. 기존 RNN/LSTM은 시퀀스를 순서대로 처리해야 해서 병렬화가 어렵고 긴 문장에서 정보가 손실되었습니다. Transformer는 Self-Attention으로 시퀀스의 모든 위치를 동시에 참조하여 이 문제를 해결했습니다. Query, Key, Value 벡터로 각 토큰이 다른 토큰과의 관련성(attention score)을 계산하고, 위치 정보는 Positional Encoding으로 보완합니다. GPT(디코더만), BERT(인코더만), T5(인코더+디코더) 등 현대 LLM의 기반이 됩니다.

핵심 개념

1

입력 텍스트를 토큰으로 분할 → 각 토큰을 임베딩 벡터로 변환

2

Positional Encoding 추가 — 토큰의 위치 정보를 벡터에 더함

3

각 토큰에서 Query(Q), Key(K), Value(V) 벡터 생성

4

Attention Score 계산: softmax(QK^T / √d) × V — 각 토큰이 다른 토큰에 얼마나 주목할지 결정

5

Multi-Head Attention: 여러 개의 attention을 병렬 수행 → 다양한 관계 패턴 포착

6

Feed-Forward Network + Layer Normalization + Residual Connection으로 최종 출력 생성

장점

  • 완전 병렬 처리 가능 → GPU 활용 극대화
  • 긴 시퀀스에서도 정보 손실 없음 (Self-Attention)
  • 다양한 태스크에 범용 적용
  • 스케일링 법칙 (모델이 클수록 성능 향상)

단점

  • O(n²) 메모리 — 시퀀스 길이의 제곱에 비례하는 메모리 사용
  • 대규모 학습에 막대한 GPU/TPU 필요
  • 위치 정보를 별도로 인코딩해야 함
  • 학습 데이터의 편향을 그대로 반영

사용 사례

GPT 시리즈 (GPT-4, GPT-4o) Claude (Anthropic) BERT / RoBERTa (문장 이해) T5 / BART (번역, 요약) Vision Transformer (ViT)