The Transformer Attention Mechanism
Machine Learning Mastery | Stefania Cristina | 2022-09-14
핵심 Takeaways
개념적 이해
- Attention의 목적: 입력 시퀀스의 다양한 부분에 가중치를 적용하여 context 정보 통합
- Self-attention: 시퀀스 내 단어들 간의 관계를 동일 시퀀스 내에서 학습
- Query-Key-Value 프레임워크: 검색(Q), 대상(K), 데이터(V) 분리로 구조화된 정보 처리
기술적 핵심
| 단계 | 연산 | 목적 |
|---|---|---|
| 1 | Q, K, V 생성 | 입력의 서로 다른 표현 추출 |
| 2 | Dot product (Q·K^T) | 관련성 점수 계산 |
| 3 | 스케일링 (÷√d_k) | 수치 안정성 |
| 4 | Softmax | 확률 분포 생성 |
| 5 | Value 가중합 | 최종 context 벡터 |
Multi-Head의 이점
- 병렬 표현학습: 각 헤드가 다른 특징 추출
- 계산 효율성: 배치 처리로 병렬화 가능
- 표현 다양성: 문법, 의미, 구조 등 다층 분석
상세 설명
문제 정의
기계 번역에서 source 시퀀스의 특정 단어를 target 시퀀스의 특정 단어로 변환할 때, 현재 처리 중인 단어와 관련된 source 단어들에 집중해야 합니다.
예시:
Source: "The cat sat on the mat"
Target 생성 중: "The" → 고민: 어느 부분에 집중?
→ Attention: "The"(첫 번째)에 높은 가중치
Attention 메커니즘의 단계별 해석
Query 벡터
- 현재 위치에서 “무엇을 찾을 것인가”를 표현
- W^Q 행렬로 임베딩 변환
- 예: “내가 업데이트되어야 할 정보는 무엇인가?”
Key 벡터
- 각 입력 위치에서 “나는 무엇인가”를 표현
- W^K 행렬로 임베딩 변환
- Query와 비교 가능한 형태로 변환
Similarity Score
- Query와 Key의 dot product: Q_i · K_j
- 높은 점수 = 높은 관련성
- 수치 안정성을 위해 √d_k (√64 ≈ 8)로 정규화
Softmax 정규화
weight_ij = exp(score_ij) / Σ_k exp(score_ik)
- 모든 가중치의 합 = 1.0 (확률 분포)
- 미분 가능 (backprop 가능)
Value 가중합
output_i = Σ_j (weight_ij · V_j)
- 높은 가중치의 정보는 강화
- 낮은 가중치의 정보는 억제
Multi-Head Self-Attention의 구조
Input (512D)
├─→ Head 1: Q₁,K₁,V₁ → Output₁ (64D)
├─→ Head 2: Q₂,K₂,V₂ → Output₂ (64D)
├─→ ... (8개)
└─→ Head 8: Q₈,K₈,V₈ → Output₈ (64D)
↓
Concat (512D)
↓
Linear (W^O)
↓
Output (512D)
각 헤드는 독립적으로 학습되어, 시퀀스의 다양한 의존성 관계를 캡처합니다.
계산 복잡도
- Time: O(n² · d_k) - 모든 쌍 비교
- Space: O(n²) - attention 행렬 저장
- Context window가 길어질수록 제곱 비용 증가
ABCD 학습 목표
Understand (이해)
- A: 학습자 (DAP 운영 경험자, LLM 교육 준비 중)
- B: Attention의 동작 원리를 시각적으로 설명할 수 있다
- C: Query-Key-Value 프레임워크 제시 시
- D: 3가지 이상의 구체적 예시 제시
Apply (적용)
- A: LLM 개발자, 모델 선택 담당자
- B: 특정 시퀀스 길이/차원에서 attention 헤드 수 결정할 수 있다
- C: 256차원 임베딩, 4000 토큰 context 제약 조건
- D: 8개 헤드 선택 근거 서술
Analyze (분석)
- A: Transformer 모델 운영자, 성능 최적화 담당자
- B: Attention의 bottleneck을 식별하고 개선 전략을 제안할 수 있다
- C: Profiling 결과에서 attention 시간 비중 70%로 나타난 상황
- D: 스파스 attention / 근사 방법 3가지 이상 검토
관련 개념
- transformer-architecture: 전체 아키텍처 이해
- self-attention: 개념적 심화
- multi-head-attention: 구현 세부 사항
- positional-encoding: 순서 정보 인코딩
- attention-variants: Linear attention, Sparse attention 등
교육 설계 연결
Lecture Module 2: “LLM 모델 이해 및 활용” (16시간)
- 이론: Transformer, Attention, Self-Attention (3시간)
- 실습: Hugging Face로 attention weight 시각화 (2시간)
선수과목 연결: ← Lecture 1: “생성형 AI 기초 및 Prompt Engineering” (개념 이해) → Lecture 3: “Vector DB & Embedding” (임베딩 차원 최적화)
Lecture Design Note: 기계번역 예시보다 한국어 문장의 주어-술어 관계 예시가 학습자에게 더 효과적일 수 있음. 예: “그 영화는 여름에 개봉했는데 주인공이 정말 훌륭했다” → “주인공”이 어떤 “영화”를 수식하는가?