Part 7 · Transformer Architecture - Bringing Everything Together

Transformer를 하나의 그림으로 이해하기

Tokenizer는 문장을 토큰으로 나누고, Embedding은 토큰을 의미 벡터로 바꾸며, Positional Encoding은 위치 정보를 더합니다. Self-Attention은 문맥을 이해하고, Feed Forward Network는 표현을 발전시키며, Encoder와 Decoder는 입력과 출력을 연결합니다. 각각의 기술은 독립적으로 존재하는 것이 아니라 서로 긴밀하게 연결되어 하나의 Transformer를 이룹니다. 지금까지 배운 모든 과정을 하나의 큰 흐름으로 정리해 보면 Transformer가 어떻게 현대 언어 모델의 기반이 되었는지 자연스럽게 이해할 수 있습니다.

The Big Idea

Transformer는 결국 무엇을 하는 모델일까?

Transformer는 입력 문장을 벡터로 바꾸고 문맥을 이해한 뒤, 다음 토큰을 하나씩 예측하여 새로운 문장을 생성하는 모델입니다.
The Whole Flow

Transformer 전체 흐름

입력 문장 사람이 입력한 텍스트
Tokenizer 문장을 토큰과 Token ID로 변환
Embedding 토큰을 의미 벡터로 변환
Position 벡터에 순서 정보 추가
반복 새 토큰을 다시 Decoder에 입력
Score + Softmax 다음 토큰의 확률 계산
Decoder 입력 문맥을 참고해 다음 토큰 생성
Encoder 입력 토큰의 관계와 문맥 계산
입력은 Encoder에서 문맥으로 정리되고, Decoder는 그 문맥을 참고하며 출력 토큰을 하나씩 생성합니다.
What We Learned

지금까지 배운 핵심 개념 연결하기

1

Tokenizer

문장을 모델이 처리할 수 있는 토큰 단위로 나눕니다.

2

Embedding

Token ID를 계산 가능한 의미 벡터로 바꿉니다.

3

Position

각 토큰이 문장 안에서 몇 번째인지 알려 줍니다.

4

Self-Attention

한 문장 안의 토큰들이 서로 어떤 관계인지 계산합니다.

5

Multi-Head Attention

여러 관점에서 토큰 관계를 동시에 살펴봅니다.

6

Encoder

입력 전체를 읽고 문맥이 반영된 벡터를 만듭니다.

7

Decoder

지금까지 생성한 문맥을 이용해 다음 토큰을 예측합니다.

8

Cross-Attention

Decoder가 Encoder의 입력 문맥을 참고하도록 연결합니다.

Encoder vs Decoder

Encoder와 Decoder를 한눈에 비교하기

Encoder

입력 임베딩 + 위치 정보
Multi-Head Self-Attention
Residual + LayerNorm
Feed Forward
문맥 벡터

Decoder

이전 출력 임베딩 + 위치 정보
Masked Self-Attention
Cross-Attention
Feed Forward
다음 토큰 확률
Encoder는 입력을 이해하고, Decoder는 이해한 입력을 참고해 출력을 생성합니다.
One Sentence Again

한 문장이 Transformer를 통과하는 과정

버튼을 눌러 같은 문장이 어떤 모습으로 바뀌는지 마지막으로 확인해 보세요.

1단계 · 입력 문장

현재 데이터

I love this book

이 단계의 역할

사람이 입력한 원래 문장입니다.
이제 이 문장을 모델이 계산할 수 있는 형태로 바꿉니다.
Why Transformer?

Transformer는 RNN과 무엇이 달랐을까?

RNN

  • 토큰을 순서대로 하나씩 처리합니다.
  • 앞의 정보를 Hidden State에 전달합니다.
  • 문장이 길어질수록 오래된 정보가 약해질 수 있습니다.
  • 시간 단계가 연결되어 병렬 계산이 어렵습니다.
VS

Transformer

  • Attention으로 토큰 관계를 직접 계산합니다.
  • 멀리 떨어진 토큰도 바로 연결할 수 있습니다.
  • 입력 토큰을 병렬로 처리할 수 있습니다.
  • 대규모 데이터와 계산 자원을 활용하기에 유리합니다.
Transformer가 언제나 모든 긴 문장을 완벽하게 이해한다는 뜻은 아닙니다. 다만 RNN보다 먼 거리의 관계를 직접 계산하고 병렬 학습하기 좋은 구조를 제공합니다.
Keywords

이 단어들이 보이면 전체 흐름을 떠올리자

Tokenizer → Embedding → Position → Attention → Encoder → Decoder → Softmax → Next Token
The Original Transformer

논문 속 Transformer 전체 구조

지금까지 따로 배운 구성 요소를 「Attention Is All You Need」 논문의 원본 도식과 거의 같은 배치로 다시 연결했습니다. 논문 도식처럼 입력과 출력은 아래쪽에서 시작하며, 계산 결과는 화살표를 따라 아래에서 위로 이동합니다. 주황색 우회선은 Residual Connection, 분홍색 가로선은 Encoder 출력이 Decoder의 Cross-Attention으로 전달되는 경로를 나타냅니다.

원본 Encoder-Decoder Transformer 전체 구조 왼쪽 Encoder와 오른쪽 Decoder가 아래에서 위로 계산되며, Encoder 출력이 Decoder의 Cross-Attention으로 연결되는 구조 Encoder Decoder N× Add & Norm Feed Forward Position-wise Network Add & Norm Multi-Head Self-Attention Input Embedding + Positional Encoding Inputs Residual Output Probabilities Softmax Linear N× Add & Norm Feed Forward Add & Norm Multi-Head Cross-Attention Add & Norm Masked Multi-Head Self-Attention Output Embedding + Positional Encoding Outputs (Shifted Right) Residual Encoder Output K · V Q K, V

논문 원본처럼 모든 주 계산 화살표는 아래에서 위로 향합니다. Encoder의 최종 표현은 Decoder Cross-Attention의 Key와 Value로 전달됩니다.

Add & Norm
각 하위 층의 입력을 출력에 다시 더한 뒤 Layer Normalization을 적용합니다.
N×
점선 상자 안의 Encoder 층과 Decoder 층을 여러 번 반복해 깊게 쌓습니다.
Outputs (Shifted Right)
학습할 때 정답 토큰을 한 칸 오른쪽으로 이동해 Decoder가 미래 토큰을 미리 보지 못하게 합니다.
원본 Transformer는 왼쪽의 Encoder가 입력 전체를 이해하고, 오른쪽의 Decoder가 Masked Self-Attention과 Cross-Attention을 거쳐 다음 토큰의 확률을 계산하는 구조입니다. 각 Attention과 Feed Forward 하위 층에는 Residual Connection과 Layer Normalization이 빠짐없이 적용됩니다.
Final Summary

Transformer를 한 문장으로 정리하면

Transformer는 문장을 토큰과 벡터로 바꾸고, 위치와 문맥을 계산한 뒤, 입력에 맞는 다음 토큰을 하나씩 예측하여 출력을 완성합니다.