⚡
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)