Part 7 · Transformer Architecture - The Big Picture of Transformer

Transformer 전체 구조를 먼저 살펴보자

Transformer는 하나의 거대한 계산이 아닙니다. 여러 개의 작은 계산이 일정한 순서로 연결되어 하나의 모델을 이루고 있습니다. 입력 문장은 임베딩과 위치 정보를 거친 뒤 여러 Transformer Layer를 통과합니다. 각 층에서는 Self-Attention과 Feed Forward Network가 반복되며 단어의 표현을 점점 더 풍부하게 만들어 갑니다.

Start with the Big Picture

먼저 가장 큰 흐름만 보자

복잡한 블록 그림보다 먼저, 입력이 들어와 출력으로 바뀌는 전체 흐름부터 이해해 보겠습니다.

입력 문장 Tom lives in New York.
단어를 벡터로 변환 Embedding + 위치 정보
Transformer 층 통과 문맥을 여러 번 가공
출력 표현 문맥이 반영된 벡터
Transformer는 입력을 한 번 계산하고 끝내는 모델이 아니라, 같은 구조의 층을 여러 번 통과시키며 표현을 계속 바꾸는 모델입니다.
A Stack of Layers

Transformer는 같은 구조를 여러 층 쌓는다

하나의 Transformer 층은 문장 관계를 한 번 해석합니다. 하지만 한 번만으로 모든 의미를 충분히 이해하기 어렵기 때문에 같은 구조를 여러 층 쌓습니다.

Transformer Layer 4 · 더 깊은 문맥 이해
Transformer Layer 3 · 관계 확장
Transformer Layer 2 · 문맥 다시 해석
Transformer Layer 1 · 기본 관계 파악
층이 올라갈수록 각 단어는 더 넓은 문맥과 더 복잡한 관계를 반영한 표현으로 바뀝니다.
Inside One Transformer Layer

한 층 안에는 어떤 계산이 들어 있을까?

Transformer 한 층의 핵심은 크게 두 가지입니다. 먼저 단어 사이의 관계를 찾고, 그 결과를 다시 가공합니다.

Self-Attention

문장 속 단어들이 서로를 참고합니다.

Residual + LayerNorm

원래 정보를 유지하고 계산값을 안정적으로 정리합니다.

Feed Forward Network

각 단어의 표현을 더 깊게 가공합니다.

Layer Output

다음 층으로 보낼 새로운 토큰 표현이 만들어집니다.

지금은 각 부품의 세부 계산보다 관계를 찾고 → 정보를 안정적으로 유지하고 → 표현을 더 깊게 가공한다는 흐름을 이해하면 충분합니다.
Why Multiple Layers?

왜 같은 층을 여러 번 통과할까?

Tom lives in New York. He loves the city.
초기 층

He와 Tom이 연결될 가능성을 찾습니다.

단어 사이의 비교적 가까운 관계를 파악합니다.

중간 층

Tom이 New York에 산다는 관계를 연결합니다.

문장 안의 여러 정보가 하나의 문맥으로 묶입니다.

상위 층

He가 Tom이고, the city가 New York이라는 더 넓은 관계를 함께 반영합니다.

문장 전체의 의미가 더 풍부해집니다.

층마다 반드시 이런 역할이 고정되는 것은 아니지만, 일반적으로 깊은 층으로 갈수록 더 복합적인 문맥과 관계를 표현할 수 있습니다.
From Input to Output

입력 문장은 Transformer를 지나며 어떻게 바뀔까?

입력 단계

Tokenization
Embedding
Positional Encoding

단어를 숫자 벡터로 바꾸고 위치 정보를 더합니다.

→

Transformer 통과 후

Self-Attention으로 관계 파악
Feed Forward로 표현 가공
여러 층에서 반복

각 단어는 문맥이 풍부한 새로운 벡터로 바뀝니다.

Transformer의 출력은 문장이 아니라 각 토큰마다 만들어진 새로운 벡터 표현입니다. 이 벡터가 다음 작업의 입력으로 사용됩니다.
Encoder and Decoder

Transformer는 크게 Encoder와 Decoder로 나눌 수 있다

원래 Transformer는 번역을 위해 만들어졌습니다. 그래서 입력 문장을 이해하는 부분과 출력 문장을 만드는 부분이 나뉘어 있습니다.

Encoder

입력 문장을 읽음
단어 관계를 분석
문맥 표현 생성
→

Decoder

Encoder 정보 참고
이전 출력 토큰 참고
다음 토큰 생성
이후 등장한 BERT는 Encoder 중심, GPT는 Decoder 중심 구조를 사용합니다. 이 차이는 뒤에서 별도 페이지로 다룹니다.
Interactive Overview

Transformer의 흐름을 단계별로 확인해 보자

아래 버튼을 눌러 각 단계가 무엇을 하는지 확인해 보세요.

현재 단계

입력 준비

토큰을 Embedding 벡터로 바꾸고, 각 토큰의 위치 정보를 더합니다.

Tom → Embedding 벡터 + 첫 번째 위치 정보
Transformer에 들어가기 전에 토큰은 숫자 벡터와 위치 정보를 가져야 합니다.
The Whole Architecture in One View

Transformer 전체 구조를 한 번에 정리

Tokenization 문장을 토큰으로 나눔
Embedding + Position 숫자 벡터와 순서 정보
Transformer Layers Attention + Feed Forward 반복
Output Representation 문맥이 반영된 토큰 벡터
이 구조를 Encoder로 사용할 수도 있고, Decoder로 사용할 수도 있으며, 둘을 함께 연결할 수도 있습니다.
What Comes Next?

이제 한 층의 부품을 하나씩 살펴볼 차례다

전체 구조는 이해했습니다. 다음부터는 Transformer 한 층 안의 부품을 하나씩 자세히 살펴봅니다.

다음 페이지에서는 여러 층을 쌓아도 원래 정보가 사라지지 않도록 돕는 Residual Connection부터 알아봅니다.
Summary

핵심 정리

  • Transformer는 입력 문장을 여러 층에서 반복적으로 가공하는 모델입니다.
  • 입력은 Tokenization, Embedding, Positional Encoding을 거쳐 준비됩니다.
  • 한 Transformer 층은 Self-Attention과 Feed Forward Network를 중심으로 구성됩니다.
  • Residual Connection과 Layer Normalization이 층을 안정적으로 연결합니다.
  • 층이 깊어질수록 토큰 표현은 더 넓고 복잡한 문맥을 반영할 수 있습니다.
  • Transformer의 출력은 각 토큰의 문맥이 반영된 새로운 벡터입니다.
  • 원래 Transformer는 Encoder와 Decoder를 함께 사용했습니다.
  • BERT는 Encoder 중심, GPT는 Decoder 중심 구조로 발전했습니다.