:)

[NLP/Transformer] Attention Is All You Need 본문

Paper Review

[NLP/Transformer] Attention Is All You Need

andre99 2025. 2. 1. 21:56

Abstract

Transformer 모델

기존의 Sequence Transduction 모델RNN이나 CNN기반의 인코더-디코더 구조를 사용 & 최고 성능 모델들은 어텐션메커니즘을 추가하여 인코더와 디코더를 연결함.

  • Transformer는 오직 어텐션 메커니즘만을 사용하며, RNN과 CNN을 완전히 제거.
  • 이를 통해 병렬화가 용이 & 학습 속도가 크게 향상됨.

실험 결과

  • WMT 2014 영어-독일어(En-De) 번역:
    • Transformer는 BLEU 점수 28.4를 기록.
    • 기존 최고 성능 모델 대비 2 BLEU 이상 향상.
  • WMT 2014 영어-프랑스어(En-Fr) 번역:
    • BLEU 41.8을 달성, 단일 모델 기준 새로운 최고 성능 기록.
    • 8개의 GPU에서 3.5일만에 학습, 기존 최고 모델 대비 학습 비용이 훨씬 적음.

일반화 성능

  • Transformer는 번역뿐만 아니라 영어 구문 분석에서도 우수한 성능을 보임.
  • 대규모 및 소규모 데이터셋 모두에서 효과적으로 작동함.

Introduction

기존 시퀀스 모델의 한계

  • RNN,LSTM, GRU 등은언어 모델링기계 번역분야에서 표준적인 접근 방식으로 자리 잡음.
  • RNN 기반 모델입력 및 출력 시퀀스를 순차적으로 처리, 이전 hidden state와 현재 입력을 기반으로 새로운 은닉 상태를 생성.
  • 이러한 순차적 특성으로 인해 병렬화가 어렵고 긴 시퀀스에서는 연산 속도가 느려지는 한계점 존재.
  • 최근 연구에서는 다음과 같은 방법을 통해 연산 효율성을 개선하려는 시도:
    • Factorization Tricks – 연산 최적화
    • Conditional Computation – 성능 개선

하지만 순차적 연산의 본질적인 한계는 여전히 해결되지 않음.

 

어텐션 메커니즘

  • 어텐션 메커니즘입력과 출력 시퀀스 내 거리와 관계없이 의존성을 학습할 수 있음.
  • 하지만 대부분의 경우 RNN과 함께 사용되어 병렬화의 장점을 충분히 활용하지 못함.

Transformer

Transformer는 RNN 없이 오직 어텐션 메커니즘만을 사용하여 입력과 출력 간 Global Dependencies을 학습.

  • 완전한 병렬화 가능 → 연산 속도 향상
  • 8개의 P100 GPU에서 단 12시간 만에 기계 번역 성능 달성.

Background

기존 병렬 처리 모델

  • 순차적 연산을 줄이려는 시도로 여러 모델이 제안됨:
    • Extended Neural GPU
    • ByteNet
    • ConvS2S(Convolutional Sequence to Sequence)

: CNN을 기본 블록으로 사용하여 입력 및 출력의 모든 위치를 병렬적으로 계산함.

 

CNN 기반 모델의 한계

  • 입력과 출력의 두 위치 간 연산량이 시퀀스 길이에 따라 증가
    • ConvS2S: 연산량이 선형 증가
    • ByteNet: 연산량이 로그 증가
  • 멀리 떨어진 단어들 간의 의존성을 학습하는 것이 어려움.
  • Transformer는 이러한 연산량을 상수 수준으로 감소
    • 하지만 어텐션 가중치의 평균화로 해상도가 감소하는 문제 발생
    • 이를 해결하기 위해 Multi-Head Attention 기법 사용

Self-Attention의 중요성

  • Self-Attention시퀀스 내 각 위치의 토큰들이 서로를 참조하여 표현을 학습하는 메커니즘
  • Self-Attention은 읽기 이해, 추상적 요약 등 다양한 작업에서 성공적으로 사용됨.

End-to-End Memory Networks

  • 기존 RNN과 달리 순차적 정렬 없이 어텐션 메커니즘을 반복적으로 사용.
  • 질문-응답 및 언어 모델링에서 우수한 성능을 보임.

Transformer의 차별점

Transformer는 최초로 RNN이나 CNN 없이 오직 Self-Attention만을 사용하여 입력과 출력의 표현을 학습하는 변환 모델.

Model Architecture

Encoder and Decoder Stacks

  • Encoder
    • 총 6개(N=6) 동일한 레이어로 구성.
    • 각 레이어는 두 개의 Sub-Layer 포함:
      1. Multi-Head Self-Attention Mechanism
      2. Position-wise Fully Connected Feed-Forward Network
    • Residual Connection을 적용하여 정보 손실 방지.
    • 각 서브-레이어의 출력에 Layer Normalization 적용.
    • 모든 서브-레이어와 임베딩 레이어의 출력 차원: 512
  • Decoder
    • 총 6개(N=6) 동일한 레이어로 구성.
    • 인코더와 유사하지만 추가적인 Sub-Layer가 있음:
      1. Multi-Head Self-Attention Mechanism
      2. Position-wise Fully Connected Feed-Forward Network
      3. Multi-Head Attention
    • Residual Connection과 Layer Normalization 적용.
    • 디코더의 Self-Attention은 미래 정보(Masked Attention)를 차단하여, 출력 위치 i에서 i 이후의 위치를 참조하지 않도록 함.
      • 이를 위해 출력 임베딩을 한 offset씩 이동.
      • 이러한 마스킹기법을 통해 출력 𝑦𝑖는 𝑦₁, ..., 𝑦𝑖₋₁만을 참조 가능.

Attention

  • 어텐션 함수
    • Query(Q), Key(K), Value(V) 세 가지 요소를 사용하여 출력을 생성.
    • Query와 Key의 유사도를 측정하여 Value의 가중치 합을 계산.
    • 중요한 정보에 더 높은 가중치를 부여하여 모델이 집중할 수 있도록 함.
  • Scaled Dot-Product Attention
    • 입력:
      • Query (Q): 질의
      • Key (K): 키
      • Value (V): 값
    • 계산 과정:
      1. Query와 Key의 내적(Dot Product) 계산.
      2. Key 차원 수로 스케일링.
      3. Softmax 함수 적용 → 어텐션 가중치 생성.
      4. Value(V)에 가중치를 곱하여 최종 출력 계산.
  • Multi-Head Attention : 여러 개의 Head에서 병렬적으로 수행
    • 구성 과정
      1. Query(Q), Key(K), Value(V)를 각각 h개의 다른 학습된 가중치 행렬을 이용해 변환.
      2. 각 Head에서 개별적으로 Scaled Dot-Product Attention 수행.
      3. 여러 Head의 결과를 연결.
      4. 선형 변환적용.
  • Transformer에서의 Attention 사용 사례
    • Encoder-Decoder Attention
    • Encoder 내에서의 Self-Attention
    • Decoder 내에서의 Masked Self-Attention

Position-wise Feed-Forward Networks

각 Transformer 레이어에는 Attention 후에 "Feed-Forward Network"이 추가됨.

각 Position에 독립적으로 적용, 동일한 연산 수행.

 

Embeddings and Softmax

  • 단어를 벡터 표현으로 변환하는 임베딩 사용.
  • 입력과 출력 시퀀스의 토큰을 동일한 임베딩 공간에서 변환.
  • 디코더 출력은 Softmax를 통해 다음 토큰의 확률 분포로 변환.
  • 가중치 공유기법 적용:

Positional Encoding

Transformer는 RNN이 없기 때문에 순서 정보를 추가해야 함.

  • 토큰의 순서를 반영하기 위해 Positional Encoding을 사용.
  • 입력 임베딩에 Positional Encoding를 더함.
  • 사인 및 코사인 함수 기반의 주기적인코딩 사용

Why Self-Attention

  • Self-Attention 장점
    • 완전한 병렬화 가능 → RNN보다 학습 속도 대폭 향상.
    • 경로 길이 → CNN보다 장기 의존성 학습에 유리.
    • 해석 가능성 → 각 Attention Head가 문법적, 의미적 관계 학습.

Training

Training Data and Batching

  • WMT 2014 English-German:
    • 450만 문장 쌍 사용.
    • Byte-Pair Encoding (BPE) 사용 → 공유된 37,000개 토큰의 어휘집 구축.
  • WMT 2014 English-French:
    • 3,600만 문장 사용.
    • 32,000개 Word-Piece Vocabulary 사용.
  • Batching 방식: 문장 길이를 기준으로 그룹화.
    • Batch 크기: 약 25,000개 Source/Target 토큰 포함.

Hardware and Schedule

  • 훈련 환경:
    • NVIDIA P100 GPU 8개 사용.
  • 훈련 속도:
    • Base Model: 한 스텝당 0.4초, 총 100,000 스텝 (12시간 훈련).
    • Big Model: 한 스텝당 1.0초, 총 300,000 스텝 (3.5일 훈련).

Optimizer

  • Adam Optimizer 사용:
    • β₁ = 0.9, β₂ = 0.98, ϵ = 10⁻⁹.
    • Learning Rate 조정 공식 사용:
      • 초기에는 선형 증가, 이후 역제곱근 감소.
      • Warm-up Steps = 4000.

Regularization

  • Residual Dropout:
    • 모든 서브-레이어 출력에 Dropout (0.1) 적용.
  • Label Smoothing:
    • 값 = 0.1, 모델의 확신을 낮춰 BLEU 점수 향상.

Results

Machine Translation

  • Transformer (Big)은 기존 최고 모델보다 2.0 BLEU 이상 향상.
  • 학습 비용(FLOPs) 대비 성능이 가장 뛰어남.
  • Transformer (Base) 조차 모든 이전 단일 모델 및 앙상블을 능가.

Model Variations

  • Attention Head 수 증가 → 너무 많으면 성능 저하.
  • Key Dimension 감소 → 성능 하락 → Dot Product보다 더 정교한 유사도 함수가 필요할 가능성.
  • 모델 크기 증가 → 성능 향상.
  • Dropout 사용 → 과적합 방지 효과적.
  • Sinusoidal Positional Encoding vs. Learned Embedding성능 차이 없음.

English Constituency Parsing

  • Transformer는 구문 분석(Parsing)에서도 경쟁력 있음.
  • RNN 기반 모델보다 성능 우수.
  • Semi-Supervised 학습 시 최고 성능(92.7 F1) 달성.

Conclusion

  • Transformer는 최초의 완전한 Attention 기반 모델.
  • RNN 없이 더 빠르고 효과적으로 학습 가능.
  • WMT 2014 EN-DE 및 EN-FR에서 새로운 State-of-the-Art 달성.
  • 기계 번역 외 다양한 NLP 작업에도 확장 가능.
  • 향후 연구 방향:
    • 다른 입력/출력 모달리티(이미지, 오디오, 비디오) 적용.
    • 더 큰 입력 데이터 처리를 위한 Local Attention 연구.
    • Non-sequential 생성 모델 개발.