| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 기록으로 실력을 쌓자
- Spring
- 티스토리챌린지
- PETERICA
- kotlin
- go
- aws
- kotlin coroutine
- 오블완
- CKA 기출문제
- Kubernetes
- 바이브코딩
- LLM
- Pinpoint
- minikube
- 공부
- SRE
- CloudWatch
- Java
- MySQL
- APM
- 컨텍스트 엔지니어링
- golang
- AWS EKS
- 정보처리기사 실기 기출문제
- CKA
- tucker의 go 언어 프로그래밍
- AI
- 코틀린 코루틴의 정석
- Linux
- Today
- Total
피터의 개발이야기
[AI] Transformer: Attention Is All You Need 논문 요약 본문
ㅁ 들어가며
ㅇ 논문 “Attention Is All You Need”(Vaswani et al., 2017)의 핵심 구조와 혁신 포인트를 이해하기 위해 정리하였다.
ㅇ 2017년 Google Brain 연구진이 발표한 논문 〈Attention Is All You Need〉는
자연어 처리(NLP)의 패러다임을 완전히 바꾼 Transformer 모델을 소개했다.
ㅇ 이 논문은 RNN·CNN 없이 오직 Attention 메커니즘만으로 시퀀스를 처리하는 새로운 구조를 제안한다.
ㅇ 결과적으로 번역 품질을 높이면서 학습 속도를 획기적으로 개선했다.
ㅁ TL;DR
- 기존의 순환·합성곱 구조 제거
- Self-Attention만으로 문맥 관계를 학습
- 완전 병렬 연산이 가능해 학습 속도 급상승
- WMT 2014 번역 데이터에서 새로운 SOTA 달성
- 이후 BERT·GPT 등 모든 대형 언어모델의 기반이 됨
ㅁ 기존 구조의 한계
이전까지의 NLP 모델은 주로 RNN(LSTM, GRU) 계열이었다.
하지만 RNN은 다음과 같은 단점이 있었다.
- 순차적 연산으로 인해 병렬 처리가 불가능
- 장기 의존성(long-range dependency) 학습이 어려움
CNN 기반 모델(ConvS2S, ByteNet 등)은 병렬화는 가능했지만,
멀리 떨어진 단어 간의 관계를 표현하기 위해 계층 깊이가 깊어지는 문제가 있었다.
Transformer는 이 두 한계를 모두 해결했다 —
모든 단어 쌍의 관계를 한 번의 Self-Attention 연산으로 처리한다.
ㅁ 핵심 아이디어 — Self-Attention
Transformer의 핵심은 Self-Attention이다.
각 단어는 세 벡터로 변환된다:
- Query(Q)
- Key(K)
- Value(V)
Attention 가중치는 아래 수식으로 계산된다.

즉, 한 단어가 다른 단어와 얼마나 관련 있는지를 계산하고,
그 중요도(Softmax 확률)에 따라 정보를 가중 평균한다.
이 과정이 “문맥을 전역적으로 바라보는 능력”을 만들어낸다.
ㅁ Multi-Head Attention
하나의 Attention만 사용하면 정보가 평균되어 세부 관계를 놓치기 쉽다.
그래서 Transformer는 여러 개의 Attention Head (h=8) 를 병렬로 사용한다.
각 Head는 서로 다른 의미 공간(subspace)에서 문맥을 학습한다.
예를 들어,
- 어떤 Head는 문법적 관계(주어-동사)를,
- 다른 Head는 의미적 연결(형용사-명사)을 포착한다.
이러한 구조 덕분에 모델은 한 문장을 다양한 관점에서 이해할 수 있다.
ㅁ 구조 개요 — Encoder와 Decoder
Transformer는 Encoder–Decoder 구조를 유지한다.
| 구성 요소 | 역할 | 주요 구성 |
| Encoder (6개 층) | 입력 문장을 벡터로 변환 | Multi-Head Self-Attention + Feed-Forward + Residual + LayerNorm |
| Decoder (6개 층) | 출력 문장을 생성 | Self-Attention + Encoder–Decoder Attention + Feed-Forward |
ㅇ Decoder의 Self-Attention은 미래 단어를 참조하지 않도록 Masking이 적용된다.
ㅇ 또한 Encoder 출력 전체를 참조하는 Encoder–Decoder Attention이 포함되어 있다.
ㅁ Positional Encoding
Transformer에는 RNN이 없어 “단어 순서”를 알 수 없다.
이를 보완하기 위해 사인·코사인 기반 위치 인코딩을 입력 임베딩에 더한다.

이 덕분에 모델은 문장 내 상대적 위치를 인식하고,
훈련 중 보지 못한 길이의 문장에도 일반화할 수 있다.
ㅁ Self-Attention의 장점
논문에서는 Self-Attention이 RNN·CNN보다 뛰어난 이유를 수학적으로 비교했다.
| 항목 | Self-Attention | RNN | CNN |
| 연산 병렬화 | ✅ 완전 병렬 | ❌ 순차 처리 | ✅ 가능 |
| 경로 길이 | O(1) | O(n) | O(log n) |
| 복잡도 | O(n² d) | O(n d²) | O(k n d²) |
ㅇ 즉, 멀리 떨어진 단어 간 관계를 단 한 번의 연산으로 연결할 수 있고, GPU 병렬화에도 매우 적합하다.
ㅁ 학습 및 결과
- 데이터셋: WMT14 영–독 (4.5M 문장), 영–불 (36M 문장)
- 학습 장비: 8 × NVIDIA P100 GPU
- Optimizer: Adam (β₁=0.9, β₂=0.98, warmup = 4000 steps)
- 정규화: Dropout 0.1, Label Smoothing 0.1
결과 (BLEU score):
| 모델 | EN→DE | EN→FR | 훈련 비용 |
| 기존 최고 (GNMT, ConvS2S 등) | 26.3 | 41.2 | 약 10²⁰ FLOPs |
| Transformer (big) | 28.4 | 41.0 | 1/10 비용 |
ㅇ Transformer는 훈련 시간은 줄이고, 번역 품질은 향상시켰다.
ㅇ 이는 Attention만으로도 RNN/CNN을 대체할 수 있음을 증명했다.
ㅁ 마무리
- Transformer는 Self-Attention 기반의 완전 병렬화 모델로,
순환 구조 없이도 긴 문맥을 학습할 수 있음을 입증했다. - 학습 효율과 성능 모두에서 기존 모델을 능가했으며,
이후 BERT, GPT, T5, PaLM 등 모든 LLM의 토대가 되었다.
즉, “Attention Is All You Need”라는 제목은 단순한 선언이 아니라 현대 AI의 출발점을 상징하는 문장이 되었다.
ㅁ 참고
- Vaswani et al. (2017). Attention Is All You Need. NIPS.
- 공식 코드: tensorflow/tensor2tensor
'AI > AI이론 | 공부' 카테고리의 다른 글
| [AI] QAT(Quantization-Aware Training) — 양자화를 가장 똑똑하게 하는 방법 (0) | 2025.12.12 |
|---|---|
| [AI] LLM 양자화와 벡터 양자화(VQ)의 차이 (0) | 2025.12.10 |
| [AI] Transformer, BERT, GPT 한 번에 정리하기 (0) | 2025.12.07 |
| [AI] Peterica의 AI공부와 비젼 정리 (36) | 2025.09.11 |
| [AI][Prompt] 바이브 코딩(Hackathon Vibe Coding Prompt)으로 1시간 앱만들기 (0) | 2025.09.03 |
