Learning
토픽 46 / 172·Transformer와 언어모델

Transformer

Transformer

Self-Attention과 위치 인코딩을 기반으로 순환 구조 없이 병렬 처리로 시퀀스를 학습하는 아키텍처로, 2017년 "Attention is All You Need" 논문에서 제안되어 NLP 혁명을 일으킨 기반 모델

특징: RNN제거(순환구조 없음), Self-Attention(입력 간 관계 학습), 병렬처리(시퀀스 동시 처리), 위치인코딩(순서 정보 보존), 빠른학습(GPU 활용 극대화)

구조

  • Encoder: Multi-Head Self-Attention + Add&Norm + Feed-Forward + Add&Norm (N층 반복)
  • Decoder: Masked Self-Attention + Add&Norm + Encoder-Decoder Cross-Attention + Add&Norm + Feed-Forward + Add&Norm (N층)
  • 입력: Input Embedding + Positional Encoding → Encoder/Decoder

핵심구성요소 상세

  • Self-Attention: 입력 시퀀스의 각 토큰이 모든 다른 토큰과의 관계(유사도)를 계산. 입력 X에서 Q(Query), K(Key), V(Value) 행렬 생성(Q=XWq, K=XWk, V=XWv). Attention(Q,K,V) = softmax(QK^T/√d_k)·V. √d_k로 나누는 이유: 내적값이 커지면 softmax 기울기가 매우 작아지는 것을 방지(Scaled). 시간복잡도 O(n²·d), 모든 위치 간 직접 연결로 장거리 의존성 해결
  • Multi-Head Attention: Self-Attention을 h개 헤드로 병렬 수행하여 다양한 관점의 관계 패턴 학습. 각 헤드: head_i = Attention(QW_i^Q, KW_i^K, VW_i^V). 결합: MultiHead = Concat(head_1,...,head_h)·W^O. 예: d_model=512, h=8이면 각 헤드 d_k=64. 한 헤드는 구문적 관계, 다른 헤드는 의미적 관계를 학습할 수 있음
  • Positional Encoding: Self-Attention은 토큰 순서를 인식하지 못하므로 위치 정보를 명시적으로 주입. 원본 Transformer: 사인/코사인 함수 사용. PE(pos,2i) = sin(pos/10000^(2i/d_model)), PE(pos,2i+1) = cos(pos/10000^(2i/d_model)). 장점: 학습 불필요, 임의 길이 대응 가능, 상대적 위치 관계 인코딩. 최신: 학습 가능 PE(BERT), RoPE(LLaMA, 회전 위치 인코딩), ALiBi(BLOOM, 어텐션 바이어스)
  • Feed-Forward Network: 각 위치에 독립 적용되는 2층 MLP. FFN(x) = max(0, xW₁+b₁)W₂+b₂ (ReLU) 또는 GELU 활성화. d_ff는 보통 d_model의 4배(512→2048). 비선형 변환으로 표현력 증가
  • Residual Connection + Layer Normalization: 각 서브레이어 출력에 잔차연결(x + SubLayer(x))로 기울기 소실 방지. Layer Norm: 층 단위 정규화(배치 크기 무관), Pre-LN(LN→SubLayer, GPT-2 이후 표준) vs Post-LN(SubLayer→LN, 원본)
  • Masked Self-Attention (Decoder): Decoder에서 미래 토큰 참조 방지. 상삼각 마스크(-∞) 적용하여 현재 위치 이후 토큰의 어텐션 가중치를 0으로 만듦. 자기회귀(Autoregressive) 생성에 필수

하이퍼파라미터: 층수(N=6~12~96), 헤드수(h=8~16~96), d_model(512~1024~12288), d_ff(2048~4096~49152)

장점: 병렬처리(빠름), 장거리의존성(O(1) 경로), 확장가능(스케일링 법칙), 전이학습(사전학습+파인튜닝)

단점: 메모리많이사용(O(n²) 어텐션), 계산복잡도높음, 위치인코딩한계, 긴 시퀀스 처리 비용

효율화 기법: Sparse Attention(Longformer, BigBird), Linear Attention(Performer), Flash Attention(IO-aware), KV Cache(추론 최적화)

파생모델: BERT(Encoder만), GPT(Decoder만), T5(Encoder-Decoder), Vision Transformer(ViT)

적용사례: 기계번역(원조), BERT(양방향인코딩), GPT(텍스트생성), ViT(이미지분류)

비교: RNN(순차·느림·O(n)) vs Transformer(병렬·빠름·O(n²)메모리)

연관: Attention, Self-Attention, BERT, GPT, Positional Encoding