핵심 인사이트 (3줄 요약)

  1. 본질: Transformer는 RNN을 완전히 제거하고 셀프 어텐션(Self-Attention)만으로 시퀀스 내 모든 위치 간의 의존성을 O(1)의 경로 길이로 포착하는, 현대 딥러닝의 핵심 아키텍처다.
  2. 가치: Q(Query)·K(Key)·V(Value) 행렬 연산을 통한 스케일드 닷-프로덕트 어텐션(Scaled Dot-Product Attention)과 멀티헤드(Multi-Head) 병렬 어텐션이 다양한 관계를 동시에 포착한다.
  3. 판단 포인트: 포지셔널 인코딩(Positional Encoding)은 순서 정보가 없는 어텐션에 위치 정보를 삽입하는 핵심 설계 결정이며, 사인·코사인 함수 기반 절대 인코딩과 RoPE 같은 상대적 방법이 있다.

Ⅰ. 개요 및 필요성

2017년 구글의 논문 "Attention Is All You Need"(Vaswani et al.)는 RNN/LSTM의 두 가지 근본적 한계를 어텐션만으로 해결했다.

RNN의 한계Transformer의 해결
순차 처리 → GPU 병렬화 불가모든 토큰 동시 처리 (병렬화)
거리 비례 정보 감쇠임의 거리 토큰도 직접 어텐션
기울기 소실직접 연결로 기울기 안정
O(n) 훈련 시간O(n²) 어텐션이지만 병렬

📢 섹션 요약 비유: Transformer는 독서 토론 방식의 혁신이다. 기존 RNN은 책을 처음부터 끝까지 순서대로 읽어야 했다면, Transformer는 모든 참가자가 책 전체를 동시에 펼쳐 놓고 서로 관련된 부분끼리 바로바로 대화한다.


Ⅱ. 아키텍처 및 핵심 원리

스케일드 닷-프로덕트 어텐션 (Scaled Dot-Product Attention)

입력 시퀀스 X (n × d_model)
      ↓ 선형 변환 (W_Q, W_K, W_V)
Q = X·W_Q  (n × d_k)   ← 쿼리: "나는 무엇과 관련 있는가?"
K = X·W_K  (n × d_k)   ← 키:   "내가 제공하는 정보의 라벨"
V = X·W_V  (n × d_v)   ← 값:   "실제 전달할 정보 내용"

Attention(Q, K, V) = softmax(Q·K^T / √d_k) · V

         ↑ 스케일링: 차원이 클수록 내적 값이 커져 softmax 포화 방지
어텐션 행렬 시각화 (4토큰 예시)

        나   는  학교에  간다
나    [0.8  0.1   0.05   0.05]
는    [0.3  0.5   0.1    0.1 ]
학교에[0.05 0.1   0.7    0.15]
간다  [0.1  0.05  0.2    0.65]

→ 각 토큰이 다른 모든 토큰과의 관련성 가중치

멀티헤드 어텐션 (Multi-Head Attention)

MultiHead(Q, K, V) = Concat(head_1, ..., head_h) · W_O

head_i = Attention(Q·W_Q_i, K·W_K_i, V·W_V_i)

h개 헤드가 병렬로 서로 다른 관계 포착:
  head_1: 문법적 관계 (주어-동사)
  head_2: 지시어 해소 (그것 → 고양이)
  head_3: 의미적 유사성
  ...
  head_h: 위치적 관계
Transformer 인코더 블록 구조
┌─────────────────────────────────────────────┐
│  입력 임베딩 + 포지셔널 인코딩               │
│                  ↓                           │
│  ┌───────────────────────────────────────┐   │
│  │   Multi-Head Self-Attention           │   │
│  │   (쿼리·키·값 모두 같은 입력에서)     │   │
│  └────────────────┬──────────────────────┘   │
│                   │ + 잔차 연결 (Add)         │
│             Layer Normalization              │
│                   ↓                           │
│  ┌───────────────────────────────────────┐   │
│  │   Feed-Forward Network (FFN)          │   │
│  │   FFN(x) = max(0, xW₁+b₁)W₂+b₂      │   │
│  └────────────────┬──────────────────────┘   │
│                   │ + 잔차 연결 (Add)         │
│             Layer Normalization              │
│                   ↓                           │
│            다음 인코더 블록 or 출력           │
└─────────────────────────────────────────────┘

포지셔널 인코딩 (Positional Encoding)

어텐션은 순서를 모른다 → 위치 정보를 임베딩에 더한다.

PE(pos, 2i)   = sin(pos / 10000^{2i/d_model})
PE(pos, 2i+1) = cos(pos / 10000^{2i/d_model})

X_input = Token_Embedding + Positional_Encoding

위치 0   ───→ [특정 sin/cos 패턴]
위치 1   ───→ [다른 sin/cos 패턴]
...
위치 512 ───→ [고유한 sin/cos 패턴]

→ 각 위치는 고유한 벡터를 가짐
→ 상대 위치 계산 가능 (내적 시 상대 거리 반영)
방법특징사용 모델
절대 위치 인코딩 (sin/cos)고정, 훈련 불필요원 Transformer
학습 가능 위치 임베딩훈련 데이터 의존BERT, GPT
RoPE (Rotary Position Embedding)상대적 위치, 긴 컨텍스트LLaMA, GPT-NeoX
ALiBi어텐션 편향으로 위치 표현BLOOM, MPT

📢 섹션 요약 비유: 포지셔널 인코딩은 단체 사진의 번호표다. 모든 사람이 동시에 서 있으면 누가 몇 번째인지 알 수 없으니, 각자에게 고유한 번호표를 달아준다.


Ⅲ. 비교 및 연결

인코더-디코더 전체 아키텍처

인코더 (6 블록)                  디코더 (6 블록)
┌────────────────┐              ┌─────────────────────────┐
│  Nx 인코더 블록│              │  Nx 디코더 블록          │
│                │              │                          │
│  Self-Attention│              │  Masked Self-Attention   │
│  → FFN         │→ 메모리 K,V →│  → Cross-Attention (K,V) │
│                │              │  → FFN                   │
└────────────────┘              └─────────────────────────┘
     ↑ 입력 시퀀스                     ↑↓ 출력 시퀀스 (자동회귀)

Cross-Attention: 인코더 K,V + 디코더 Q → 번역 시 원문 참조
Masked Attention: 미래 토큰 차단 (자동회귀 생성 보장)

RNN vs Transformer 비교

특성RNN / LSTMTransformer
병렬화❌ 순차 처리✅ 완전 병렬
최대 경로 길이O(n)O(1)
메모리 복잡도O(n)O(n²)
장거리 의존성약함강함
훈련 속도느림빠름 (병렬)
추론 속도빠름느림 (n² 어텐션)

📢 섹션 요약 비유: RNN이 전화 릴레이라면, Transformer는 화상 회의다. 릴레이는 순서대로 전달해 오래 걸리고 처음 정보가 왜곡되지만, 화상 회의는 모두가 동시에 직접 소통한다.


Ⅳ. 실무 적용 및 기술사 판단

어텐션 계산 복잡도와 긴 시퀀스 문제

표준 어텐션: O(n² · d)  ← n = 시퀀스 길이, d = 차원

n=512:   262K 연산    (일반 텍스트)
n=4096:  16.7M 연산   (장문 문서)
n=32768: 1G 연산      (책 한 권 → 메모리 부족!)

해결 방법:
  Flash Attention (2022): IO 최적화 → 메모리 O(n)
  Sparse Attention:       핵심 위치만 어텐션
  Sliding Window:         지역 어텐션 + 전역 일부
  Linear Attention:       커널 근사 → O(n)

모델 크기와 하이퍼파라미터

모델 변형레이어 (N)헤드 (h)d_model파라미터
Transformer (Base)6851265M
Transformer (Large)6161024213M
BERT-Base1212768110M
GPT-3969612288175B
GPT-4 (추정)---~1.8T

📢 섹션 요약 비유: Transformer 크기를 늘리는 것은 회의실에 사람을 더 넣는 것과 같다. 사람이 많을수록(파라미터 증가) 더 많은 관계를 파악하지만, 비용(메모리·연산)도 기하급수적으로 늘어난다.


Ⅴ. 기대효과 및 결론

Transformer가 가능하게 한 것들

Transformer (2017)
      ├── NLP: BERT (2018), GPT (2018~), T5 (2019)
      ├── Vision: ViT (2020), DINO, MAE
      ├── Multi-modal: CLIP, DALL-E, Flamingo
      ├── Biology: AlphaFold2 (단백질 구조)
      └── Code: Codex, GitHub Copilot

→ 딥러닝 모든 분야의 기반 아키텍처

기술사 시험 핵심 포인트

  1. Q·K·V 어텐션 수식: softmax(QK^T / √d_k) · V
  2. 스케일링(√d_k) 이유: 내적 값 증가로 softmax 포화 방지
  3. 멀티헤드 어텐션: 다양한 관계 동시 포착
  4. 포지셔널 인코딩: 사인·코사인 함수로 위치 정보 삽입
  5. 인코더 vs 디코더: 셀프 어텐션 vs 마스크드+크로스 어텐션

📢 섹션 요약 비유: Transformer는 AI 세계의 인터넷과 같다. 인터넷이 모든 정보를 연결하듯, Transformer는 시퀀스 내 모든 위치를 직접 연결한다. 이 연결성이 언어, 이미지, 단백질, 코드 등 모든 분야를 혁신하는 기반이 되었다.


📌 관련 개념 맵

관계개념설명
핵심 연산셀프 어텐션 (Self-Attention)시퀀스 내 모든 위치 간 관계 포착
어텐션 구성Q·K·V 행렬쿼리·키·값으로 어텐션 계산
병렬화 방법멀티헤드 어텐션다양한 관계 동시 학습
위치 정보포지셔널 인코딩순서 없는 어텐션에 위치 삽입
안정화 기법잔차 연결 + LayerNorm심층 훈련 안정화
전진 레이어피드포워드 (FFN)비선형 변환 추가
파생 모델BERT, GPT, T5Transformer 기반 사전 학습
최적화Flash Attention메모리 효율적 어텐션 구현

👶 어린이를 위한 3줄 비유 설명

  1. 셀프 어텐션은 문장 속 단어들이 "나는 너와 얼마나 관련 있어?"라고 서로에게 물어보고, 중요한 친구에게 더 집중하는 것이야.

📈 관련 키워드 및 발전 흐름도

RNN (순차 처리, 병렬화 불가)
    │
    ▼
Transformer: Self-Attention + Positional Encoding
    ├─► Multi-Head Attention: 여러 관점에서 동시 분석
    └─► Feed-Forward + Layer Norm + Residual
    │
    ▼
Encoder (BERT) / Decoder (GPT) / Enc-Dec (T5)
  1. 멀티헤드 어텐션은 같은 문장을 여러 명의 전문가(문법 선생님, 의미 분석가, 번역가)가 동시에 읽고 각자의 관점을 합치는 것이야.
  2. 포지셔널 인코딩은 순서를 모르는 어텐션에게 "이 단어는 세 번째야"라고 번호를 붙여주는 이름표야.