트랜스포머 아키텍처 (Transformer Architecture)
핵심 요약: Transformer는 어텐션(Attention)만으로 작동하는 모델이다. RNN의 순차 처리 한계를 극복하여 완전한 병렬화(Parallelization)가 가능하고, 멀리 떨어진 토큰 간의 관계도 한 번에 파악한다. GPT, BERT, ViT 등 현대 AI의 거의 모든 주요 모델의 기반 아키텍처이다.
Transformer는 Vaswani et al. (2017)이 “Attention Is All You Need”에서 제안한 아키텍처로, 순환(recurrence) 없이 어텐션 메커니즘만으로 시퀀스를 처리한다. RNN의 순차적 처리 한계를 극복하고 완전한 병렬화를 가능하게 하여, 현재 NLP, 컴퓨터 비전, 오디오 등 거의 모든 도메인에서 지배적인 아키텍처가 되었다.
탄생 배경
섹션 제목: “탄생 배경”2017년, Google Brain의 Ashish Vaswani를 비롯한 8명의 연구자가 “Attention Is All You Need”라는 논문을 발표했다. 제목 그대로, 이 논문의 핵심 주장은 충격적이었다: RNN도, CNN도 필요 없이, 어텐션 메커니즘만으로 시퀀스를 처리할 수 있다는 것이었다. 당시 기계번역의 표준이었던 RNN 기반 Seq2Seq + Attention 구조를 완전히 대체하고, 영어-독일어 번역에서 기존 SOTA를 2 BLEU 이상 경신하면서도 학습 시간은 수분의 1로 줄였다.
Transformer가 RNN을 대체할 수 있었던 핵심 통찰은 다음과 같다: RNN은 시퀀스를 한 토큰씩 순차적으로 처리해야 하므로 병렬화가 불가능하고, 멀리 떨어진 토큰 간의 정보 전달에 단계가 필요하다. 반면 Self-Attention은 모든 토큰 쌍을 한 번에 동시 참조하므로 경로 길이가 이고, 완전한 병렬 처리가 가능하다. 이 논문은 현재까지 13만 회 이상 인용되며, BERT, GPT, ViT, Stable Diffusion 등 현대 AI의 거의 모든 주요 모델의 기반이 되었다.
비유: RNN은 한 줄로 서서 한 명씩 정보를 전달하는 전화 게임이다. 앞사람의 말을 듣고 뒷사람에게 전달하므로, 줄이 길어지면 정보가 왜곡되고 시간도 오래 걸린다. 반면 Transformer는 모두가 동시에 대화할 수 있는 원탁회의다. 참석자 전원이 서로의 발언을 직접 듣고 반응할 수 있으며, 회의가 한 번에 진행되므로 줄 길이에 관계없이 빠르다.
핵심 개념
섹션 제목: “핵심 개념”1. 전체 아키텍처
섹션 제목: “1. 전체 아키텍처”
인코더(Encoder): N개의 동일한 층으로 구성. 각 층은 Self-Attention + FFN
디코더(Decoder): N개의 동일한 층으로 구성. 각 층은 Masked Self-Attention + Cross-Attention + FFN
각 Sub-layer: 잔차 연결(Residual Connection) — 입력을 출력에 직접 더해주는 지름길 — + Layer Normalization
숫자로 이해하기
섹션 제목: “숫자로 이해하기”3개 토큰 “나는 고양이를 좋아한다”의 Self-Attention 1단계를 따라가 보자.
각 토큰이 다른 토큰에 “얼마나 주목하는지”를 계산한다.
- 각 토큰의 임베딩(Embedding)에서 Q, K, V를 생성 (학습된 행렬로 변환)
- 어텐션 점수(Attention Score) 계산 (Q와 K의 내적):
| 나는 | 고양이를 | 좋아한다 | |
|---|---|---|---|
| 나는 | 0.8 | 0.1 | 0.1 |
| 고양이를 | 0.2 | 0.5 | 0.3 |
| 좋아한다 | 0.3 | 0.6 | 0.1 |
- “좋아한다”의 출력 =
“좋아한다”가 “고양이를”에 가장 많이 주목(0.6)한다는 것은, 모델이 “무엇을 좋아하는지”의 관계를 학습하고 있다는 뜻이다. 이것이 Self-Attention의 핵심이다.
2. 위치 인코딩 (Positional Encoding)
섹션 제목: “2. 위치 인코딩 (Positional Encoding)”Self-attention은 순서 불변(Permutation Invariant) — 토큰의 순서를 바꿔도 결과가 동일 — 이므로, 위치 정보를 별도로 주입해야 한다.
Sinusoidal Encoding (원래 Transformer)
섹션 제목: “Sinusoidal Encoding (원래 Transformer)”
- 임의 길이로 일반화 가능
- 상대적 위치 관계를 선형 변환으로 표현 가능
기타 위치 인코딩
섹션 제목: “기타 위치 인코딩”| 방법 | 핵심 아이디어 | 사용 모델 |
|---|---|---|
| Learned Positional Embedding | 위치별 학습 가능 벡터 | BERT, GPT |
| Relative Positional Encoding | 절대 위치 대신 상대 거리 | T5, Shaw et al. |
| RoPE (Rotary) | 회전 행렬 기반, 내적이 상대 위치의 함수 | LLaMA, Qwen |
| ALiBi | attention score에 거리 기반 bias 추가 | BLOOM |
RoPE는 현재 대부분의 최신 LLM에서 사용되며, 학습 시 본 적 없는 긴 시퀀스에도 비교적 잘 일반화된다.
3. Feed-Forward Network (FFN)
섹션 제목: “3. Feed-Forward Network (FFN)”각 위치에 독립적으로 적용되는 2층 신경망이다.
기본 구조:
차원:
GLU 변형 (SwiGLU, LLaMA에서 사용):
직관: Attention이 “어디를 볼지” 결정하고, FFN(Feed-Forward Network)이 “무엇을 할지” 결정한다. FFN은 각 토큰 위치에 독립적으로 적용되는 작은 신경망이다.
4. Transformer가 RNN을 대체한 이유
섹션 제목: “4. Transformer가 RNN을 대체한 이유”| 특성 | RNN | Transformer |
|---|---|---|
| 병렬화 | 불가 (순차 처리) | 가능 (전체 동시 처리) |
| 장거리 의존성 | 경로 길이 | 경로 길이 |
| GPU 활용도 | 낮음 | 높음 |
| 학습 속도 | 느림 | 빠름 |
| 메모리 | ||
| 귀납적 편향 | 시간적 근접성 | 거의 없음 (더 많은 데이터 필요) |
5. Transformer 변형
섹션 제목: “5. Transformer 변형”| 변형 | 어텐션 방향 | 주요 과제 | 대표 모델 |
|---|---|---|---|
| Encoder-only | 양방향 | 분류, NER, 질의응답 | BERT, RoBERTa |
| Decoder-only | 단방향 (causal) | 생성, 추론 | GPT, LLaMA, Claude |
| Encoder-Decoder | 양방향 + 단방향 | 번역, 요약 | T5, BART |
| Vision | 이미지 패치 | 이미지 분류, 탐지 | ViT, DeiT, Swin |
상세 내용
섹션 제목: “상세 내용”Pre-LN vs Post-LN
섹션 제목: “Pre-LN vs Post-LN”Post-LN (원래 Transformer):
Pre-LN (현재 표준):
Pre-LN이 학습 안정성이 더 좋아, warmup이 짧아도 되고, 더 깊은 모델을 학습할 수 있다.
KV-Cache
섹션 제목: “KV-Cache”자기회귀 생성 시, 이미 계산한 Key와 Value를 캐시하여 재계산을 방지한다.
- 없이: 토큰 를 생성할 때 의 K, V를 매번 재계산 →
- 있으면: 이전 K, V를 저장하고 새 토큰의 K, V만 추가 →
대규모 배치나 긴 시퀀스에서 KV-Cache는 메모리 병목이 될 수 있다. 이를 위해 GQA(Grouped-Query Attention), MQA(Multi-Query Attention) 등이 제안되었다.
Vision Transformer (ViT)
섹션 제목: “Vision Transformer (ViT)”이미지를 고정 크기 패치로 분할하여 “토큰”으로 취급한다.
- 이미지를 패치로 분할
- 각 패치를 선형 투영으로 임베딩
- 위치 인코딩 추가
- 표준 Transformer 인코더 적용
- [CLS] 토큰 또는 GAP으로 분류
대규모 데이터(JFT-300M 등)에서 학습하면 CNN을 능가하지만, 적은 데이터에서는 CNN의 귀납적 편향(이동 등변성, 지역성)이 유리하다.
언제 사용하는가
섹션 제목: “언제 사용하는가”| 과제 | 추천 변형 | 비고 |
|---|---|---|
| 텍스트 분류, NER | Encoder-only (BERT) | 양방향 문맥이 중요 |
| 텍스트 생성 | Decoder-only (GPT) | 자기회귀 생성 |
| 번역, 요약 | Encoder-Decoder (T5) | 입출력이 다른 시퀀스 |
| 이미지 분류 | ViT 또는 CNN | 데이터 양에 따라 선택 |
| 멀티모달 | Cross-Attention 활용 | 텍스트-이미지 등 |
실전 사례
섹션 제목: “실전 사례”Transformer의 전 분야 확산 여정
섹션 제목: “Transformer의 전 분야 확산 여정”Transformer는 기계번역을 위해 탄생했지만, 그 영향력은 NLP를 넘어 거의 모든 AI 분야로 확산되었다.
NLP (2018-2019): BERT(2018)는 Transformer 인코더를 양방향 사전학습에 활용하여 11개 NLP 벤치마크에서 동시에 SOTA를 달성했다. GPT-2(2019)는 Transformer 디코더만으로 놀라운 텍스트 생성 능력을 보여주었고, “너무 위험해서 공개하지 않겠다”는 OpenAI의 발표가 큰 화제가 되었다.
컴퓨터 비전 (2020-2021): Vision Transformer(ViT, 2020)는 이미지를 패치로 분할하여 토큰처럼 처리하는 간단한 아이디어로, 대규모 데이터에서 CNN을 능가하는 성능을 달성했다. 이후 Swin Transformer, DeiT 등이 등장하며, 컴퓨터 비전에서도 Transformer가 주류 아키텍처로 자리 잡았다.
오디오 및 멀티모달 (2021-2022): Whisper(2022)는 Transformer 기반 음성인식 모델로 다국어 음성을 높은 정확도로 인식한다. DALL-E, Stable Diffusion 등 텍스트-이미지 생성 모델에서도 Transformer의 Cross-Attention이 핵심 역할을 한다.
과학 및 범용 AI (2022-현재): AlphaFold2는 Transformer를 활용하여 단백질 구조 예측 문제를 사실상 해결했다. GPT-4, Claude 등 대규모 언어 모델은 Transformer 디코더 기반으로, 범용 추론 능력을 보여주고 있다. Transformer는 단일 아키텍처가 NLP, Vision, Audio, Science 전 분야를 통합하는 전례 없는 현상을 만들어냈다.
흔한 오해와 함정
섹션 제목: “흔한 오해와 함정”-
“Transformer는 항상 RNN보다 좋다”: Transformer는 데이터가 충분하고 시퀀스가 매우 길지 않을 때 우수하다. 매우 제한된 데이터나 실시간 스트리밍에서는 RNN이 적합할 수 있다.
-
Attention mask 설정 오류: 가장 흔한 버그. Padding mask(패딩 토큰 무시)와 Causal mask(미래 토큰 방지)를 정확히 설정해야 한다. 두 mask를 올바르게 결합하는 것도 중요하다.
-
Warmup 없이 학습: Transformer는 학습 초기에 attention weight가 불안정하므로, learning rate warmup이 사실상 필수적이다. 특히 Post-LN에서는 더욱 중요하다.
-
위치 인코딩 누락: Self-attention은 순서를 모르므로, 위치 인코딩 없이는 “bag of tokens”처럼 동작한다.
-
메모리를 무시: 시퀀스 길이가 늘어나면 attention 행렬의 메모리가 이차적으로 증가한다. Flash Attention이나 sparse attention을 고려해야 한다.