일러스트로 이해하는 트랜스포머

1 month ago 11

  • 트랜스포머 모델의 구조와 작동 원리를 시각적으로 설명하며, 어텐션 메커니즘이 어떻게 병렬 학습과 번역 성능을 향상시키는지 보여줌
  • 모델은 인코더와 디코더 스택으로 구성되며, 각 인코더는 셀프 어텐션피드포워드 신경망 두 층으로 이루어짐
  • 셀프 어텐션 계산 과정을 벡터와 행렬 수준에서 단계별로 설명하고, 멀티헤드 어텐션이 다양한 표현 공간을 학습하도록 확장함
  • 포지셔널 인코딩, 잔차 연결, 레이어 정규화, 디코더의 마스킹 어텐션 등 핵심 구성 요소를 구체적으로 시각화함
  • 이 글은 트랜스포머의 기본 개념을 쉽게 이해하도록 돕는 대표적 자료로, MIT·Stanford 등 주요 대학 강의와 교재에서도 활용됨

트랜스포머 개요

  • 트랜스포머는 어텐션 기반 신경 기계 번역 모델로, 기존 Google Neural Machine Translation보다 특정 작업에서 더 높은 성능을 보임
    • 주요 장점은 병렬화가 용이하다는 점이며, Google Cloud TPU의 참조 모델로 권장됨
  • 모델은 인코더와 디코더 스택으로 구성되며, 각 인코더는 동일한 구조를 가지되 가중치를 공유하지 않음
  • 인코더 입력은 셀프 어텐션 층을 거쳐 문맥 정보를 통합하고, 이후 피드포워드 신경망을 통과함
  • 디코더는 인코더 구조에 더해 인코더-디코더 어텐션 층을 포함하여 입력 문장의 관련 부분에 집중함

텐서 흐름과 임베딩

  • 입력 문장은 워드 임베딩 알고리듬을 통해 각 단어를 512차원 벡터로 변환
  • 인코더의 각 층은 동일한 크기의 벡터 리스트를 입력받아 처리하며, 문장 길이는 하이퍼파라미터로 설정
  • 피드포워드 층은 각 위치의 벡터를 독립적으로 처리하므로 병렬 연산이 가능

셀프 어텐션의 개념

  • 셀프 어텐션은 각 단어가 문장 내 다른 단어를 참조해 더 나은 표현을 학습하도록 함
    • 예: “The animal didn’t cross the street because it was too tired”에서 “it”은 “animal”과 연관됨
  • RNN의 은닉 상태 유지와 달리, 트랜스포머는 셀프 어텐션으로 문맥 정보를 통합

셀프 어텐션 계산 단계

  • 각 단어 임베딩으로부터 Query, Key, Value 벡터를 생성 (차원 64)
  • Query와 Key의 내적(dot product) 으로 각 단어 간의 관련 점수를 계산
  • 점수를 √64로 나눈 뒤 소프트맥스를 적용해 확률 분포로 정규화
  • 각 Value 벡터에 소프트맥스 점수를 곱하고 합산해 최종 어텐션 출력을 생성
  • 실제 구현에서는 이 과정을 행렬 연산으로 수행해 효율성을 높임

멀티헤드 어텐션

  • 여러 개의 어텐션 헤드(기본 8개) 를 사용해 다양한 표현 공간을 학습
    • 각 헤드는 독립적인 Q/K/V 가중치 행렬을 가짐
  • 여러 헤드의 출력을 연결(concat) 후 추가 가중치 행렬 WO로 결합
  • 이를 통해 모델은 문맥의 다양한 측면을 동시에 포착

포지셔널 인코딩

  • 트랜스포머는 순서를 직접 처리하지 않으므로, 각 단어 임베딩에 위치 벡터를 더함
  • 위치 벡터는 사인(sin)코사인(cos) 함수를 이용해 생성되며, 단어 간 상대적 거리 정보를 제공
  • 이 방식은 훈련 데이터보다 긴 문장에도 확장 가능
  • 2020년 업데이트에서는 두 신호를 교차(interleave) 하는 방식도 소개됨

잔차 연결과 정규화

  • 각 서브층(셀프 어텐션, 피드포워드)에는 잔차 연결(residual connection)레이어 정규화(layer normalization) 가 적용
  • 이러한 구조는 기울기 소실 방지학습 안정성 향상에 기여

디코더 구조

  • 디코더는 인코더 출력으로부터 Key/Value 벡터를 받아 인코더-디코더 어텐션을 수행
  • 마스킹(masking) 을 통해 미래 단어를 참조하지 않도록 제한
  • 마지막에는 Linear 층Softmax 층을 통해 단어 확률 분포를 생성
    • 예: 어휘 크기가 10,000일 경우, 각 출력 벡터는 10,000차원 확률 분포로 변환

학습과 손실 함수

  • 학습 시 모델 출력 확률 분포를 정답 분포(원-핫 인코딩) 와 비교
  • 크로스 엔트로피(cross-entropy) 또는 KL 발산을 사용해 오차를 계산하고 역전파로 가중치를 조정
  • 빔 서치(beam search) 를 통해 여러 후보 번역을 유지하며 정확도를 높임

후속 연구 및 참고 자료

  • 관련 논문: Attention Is All You Need, Training Tips for the Transformer Model, Self-Attention with Relative Position Representations
  • 구현 자료: Tensor2Tensor 패키지, Harvard NLP PyTorch 가이드, Colab Notebook
  • 트랜스포머는 이후 LLM-book.com의 확장판(Chapter 3)으로 발전했으며, Multi-Query AttentionRoPE 위치 임베딩 등 최신 모델을 다룸

결론

  • 트랜스포머는 병렬화 가능한 어텐션 기반 구조로, 현대 딥러닝의 핵심 모델로 자리잡음
  • 본 글은 트랜스포머의 구조·수학·직관을 시각적으로 설명한 대표 자료로, Stanford·MIT·Harvard 등 주요 대학 강의에서 참고 자료로 사용됨

Read Entire Article