[LLM] What is Transformer?

이 글은 [LLM] 시리즈 중 하나로, Transformer의 개념을 정리한 글입니다.

What is Attention?

Attention은 가중치(weight)를 사용하여 어떤 입력이 더 중요한지 계산하고 그 정보를 반영하는 과정입니다.
즉, 주어진 입력 데이터에서 각 요소가 출력에 얼마나 중요한지를 학습하여 가중치를 다르게 부여하는 방식입니다.

What is Transformer?

Transformer는 자연어 처리(NLP) 및 시퀀스 데이터 처리에 사용되는 인공지능(AI) 모델로, Attention 메커니즘을 활용하여 문맥을 이해하고 병렬 연산이 가능하여 높은 성능을 보입니다.
대형 언어 모델(LLM)들의 기반이 되는 가장 강력한 딥러닝 모델 중 하나입니다.

  • PS |
    • 기존 RNN(Recurrent Neural Network)과 LSTM(Long Short-Term Memory)의 한계를 극복
    • 기계 번역, 텍스트 요약, 문장 생성 등에서 SOTA(State-of-the-art) 성능 달성
  • 핵심 개념
    • Self-Attention으로 단어 간 관계 학습
    • 병렬 연산 가능 → 학습 속도 향상
    • Positional Encoding으로 단어 순서 학습
    • Encoder-Decoder 구조 사용 (GPT는 Decoder-only)

Transformer 특징

  • Self-Attention Mechanism: 문장의 각 단어가 다른 단어들과의 관계를 학습
  • 병렬 연산(Parallelization): 전체 문장을 동시에 입력받아 빠른 학습 가능
  • Positional Encoding: 단어 순서 정보 반영
  • 확장성: 대규모 데이터에서 강력한 성능
  • GPT, BERT, T5 같은 LLM들이 모두 Transformer 기반

Transformer 구조

입력 경로 Encoder (N×) Decoder (N×) 출력 경로
Inputs Multi-Head Attention (Self) Masked Multi-Head Attention (Self) Linear → Softmax
Input Embedding Add & Norm Add & Norm Output Probabilities
Positional Encoding Feed Forward (MLP) Multi-Head Attention (Cross w/ Encoder)
Add & Norm Add & Norm + Feed Forward
(반복 N×) (반복 N×)
  • Encoder
    • 입력 문장을 토큰화(Tokenization) 후 임베딩(Embedding)
    • Positional Encoding 추가
    • Self-Attention 수행 → 문맥 학습
    • Feedforward Neural Network (FFN) 적용
    • Layer Normalization, Residual Connection 사용
  • Decoder
    • Encoder 출력 벡터 입력
    • Masked Self-Attention 적용 (이전 단어까지만 참고)
    • Encoder 출력과 결합한 Attention 수행
    • Feedforward NN, Softmax로 다음 단어 예측
  • Self-Attention 메커니즘
    • 입력 단어 벡터 X를 Query(Q), Key(K), Value(V)로 변환합니다.
    • Query: "이 단어가 다른 단어와 얼마나 연관이 있는가?"
    • Key: "이 단어가 어떤 정보를 갖고 있는가?"
    • Value: "그 정보를 모델이 어떻게 활용할 것인가?"

Attention Score 계산

  • Query와 Key 내적(dot product)
  • 차원 수 ( d_k )로 스케일링
  • Softmax로 확률 분포 계산
  • 예시: “sat”은 “cat”과 “on”에 높은 가중치 → 문맥적으로 연관성 큼
    최종 출력은 Value 벡터의 가중합으로 생성됩니다.

Multi-Head Attention

  • 단일 Self-Attention은 다의적 의미 반영에 한계
  • Multi-Head Attention은 여러 Head가 서로 다른 관계를 학습
  • Head별 결과를 Concat 후 가중치 ( W^O ) 적용해 최종 벡터 생성

Feedforward Neural Network (FFN)

  • 단순 Fully Connected Layer
  • ReLU 활성화 함수 적용
  • Self-Attention 결과 벡터를 비선형 변환해 표현력 강화

Layer Normalization

  • 입력 벡터를 평균과 표준편차로 정규화
  • BatchNorm과 달리 배치 크기에 무관
  • Gradient Vanishing/Exploding 방지
  • Transformer, RNN 등에 최적화

정규화 수식

[\hat{x_i} = \frac{x_i - \mu}{\sigma + \epsilon}]

  • (\mu): 입력 평균
  • (\sigma): 입력 표준편차
  • (\gamma, \beta): 학습 가능한 스케일링/이동 파라미터

Residual Connection

[y = f(x) + x]

  • 입력을 변환된 출력과 더하는 Skip Connection
  • 기울기 소실 문제 해결
  • 학습 속도 향상 및 정보 손실 방지

Transformer 최종 출력

  • Decoder 마지막 벡터 → Linear Projection (행렬 ( W_o ))
  • 단어 사전 크기 V에 맞게 Logits 계산
  • Softmax로 확률 분포 변환
  • Ex :
단어 Logits 확률
Paris 2.5 0.7
London 1.8 0.2
Tokyo 0.5 0.08
Berlin -0.2 0.02
가장 확률이 높은 단어가 최종 출력으로 선택되고, 다음 입력으로 추가되어 반복적으로 문장이 완성됩니다.