The Transformer Attention Mechanism

Machine Learning Mastery | Stefania Cristina | 2022-09-14

핵심 Takeaways

개념적 이해

  • Attention의 목적: 입력 시퀀스의 다양한 부분에 가중치를 적용하여 context 정보 통합
  • Self-attention: 시퀀스 내 단어들 간의 관계를 동일 시퀀스 내에서 학습
  • Query-Key-Value 프레임워크: 검색(Q), 대상(K), 데이터(V) 분리로 구조화된 정보 처리

기술적 핵심

단계연산목적
1Q, K, V 생성입력의 서로 다른 표현 추출
2Dot product (Q·K^T)관련성 점수 계산
3스케일링 (÷√d_k)수치 안정성
4Softmax확률 분포 생성
5Value 가중합최종 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가지 이상 검토

관련 개념

교육 설계 연결

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: 기계번역 예시보다 한국어 문장의 주어-술어 관계 예시가 학습자에게 더 효과적일 수 있음. 예: “그 영화는 여름에 개봉했는데 주인공이 정말 훌륭했다” → “주인공”이 어떤 “영화”를 수식하는가?