Attention Is All You Need와 Transformer
2017년에 나온 이 논문은 기계 번역 모델의 중심 계산을 RNN과 CNN에서 attention으로 옮겼다. 기존 encoder-decoder 구조가 attention을 보조 장치로 얹는 데 머물렀다면, Transformer는 순환 계산과 합성곱을 빼고 attention만으로 문장 전체의 관계를 읽는다. 그 결과 문장 안 모든 위치를 한 번에 처리하기 쉬워졌고, 멀리 떨어진 단어 사이 의존성도 더 짧은 경로에서 다룰 수 있게 됐다.
순차 계산 대신 self-attention
RNN은 앞 단계 결과가 있어야 다음 계산으로 넘어간다. 문장이 길어질수록 병렬화가 어렵고, 앞뒤로 멀리 떨어진 단어 관계도 긴 경로를 거친다. CNN은 병렬 처리에는 유리하지만, 멀리 떨어진 위치를 잇기 위해 여러 층이 필요하다.
Self-attention은 한 위치가 같은 문장 안의 다른 모든 위치를 직접 참고해 새 표현을 만드는 방식이다. 문맥 전체를 한 번에 읽는 구조라 계산을 행렬 연산으로 묶기 쉽고, 장거리 관계도 여러 단계를 돌지 않고 반영할 수 있다.
Transformer의 전체 구조
Transformer는 encoder와 decoder라는 큰 틀을 유지한다. 인코더는 self-attention과 feed-forward network로 이뤄진 층을 여섯 번 쌓고, 디코더는 masked self-attention과 encoder-decoder attention을 더한 층을 같은 방식으로 반복한다. 각 단계 바깥에는 residual connection과 layer normalization이 붙는다.
아래 구조도에는 인코더와 디코더의 반복 방식, 각 층 안에 들어가는 블록, 마지막 softmax 단계까지 한 번에 담겨 있다.

순서 정보는 positional encoding으로 보완한다. 토큰 임베딩에 위치 벡터를 더해 단어 의미와 위치를 함께 전달하고, 위치 표현은 사인과 코사인 함수를 써서 고정형으로 넣었다.
Attention 계산 방식
Attention은 query, key, value 세 벡터로 계산한다. Query와 key의 유사도를 점수로 만든 뒤 softmax로 정규화해 value를 가중합한다. 점수가 지나치게 커지는 문제는 key 차원의 제곱근으로 나눠 줄인다.
Transformer는 이 계산을 한 번으로 끝내지 않는다. Query, key, value를 여러 표현 공간으로 나눈 뒤 각각 attention을 따로 수행한다. 이 방식이 multi-head attention이며, 어떤 head는 단어 정렬을 읽고 어떤 head는 문법 관계를 읽는 식으로 서로 다른 관계를 나눠 담는다.
아래 그림은 scaled dot-product attention의 계산 순서와 multi-head attention의 병렬 구조를 같이 담고 있다.

디코더의 self-attention에는 마스크가 들어간다. 현재 위치 뒤쪽 토큰은 보지 못하게 막아 학습 때도 미래 정답이 새어 들어가지 않게 한다.
학습 방식과 실험 결과
모델은 byte-pair encoding으로 만든 서브워드 단위를 사용했고, 최적화에는 Adam을 썼다. 학습 초반에는 learning rate를 천천히 올린 뒤 줄이는 스케줄을 적용했고, dropout과 label smoothing도 함께 넣었다. Base 모델은 8개의 P100 GPU에서 약 12시간, big 모델은 약 3.5일 학습했다.
번역 실험은 영어-독일어와 영어-프랑스어 과제에서 진행됐다. Base 모델은 영어-독일어에서 BLEU 27.3을 기록했다. Big 모델은 영어-독일어 28.4, 영어-프랑스어 41.8을 기록했다. 당시 강한 단일 모델과 앙상블 모델보다 높은 점수였고, 학습 비용도 더 낮았다.
아래 표는 번역 점수와 학습 비용을 함께 비교한다.

구조를 바꿔 본 실험에서는 head 수, 모델 폭, feed-forward 차원, dropout, label smoothing이 성능에 직접 영향을 줬다. Head 수가 너무 적으면 다양한 관계를 나눠 읽기 어렵고, 각 head 차원이 지나치게 작아져도 점수가 내려갔다. 고정형 positional encoding과 학습형 positional embedding의 차이는 크지 않았다.
영어 constituency parsing에서도 같은 계열 구조를 거의 그대로 썼다. 4-layer Transformer는 WSJ only 설정에서 F1 91.3, semi-supervised 설정에서 F1 92.7을 기록했다. 번역에 맞춘 구조가 다른 시퀀스 생성 과제에도 적용됐다.
'AI논문' 카테고리의 다른 글
| Hybrid Flow (0) | 2026.04.14 |
|---|---|
| nemotron cascade 2 (0) | 2026.04.14 |
| RLVR (0) | 2026.04.14 |
| Llama2 (0) | 2026.04.14 |
| AI 논문을 읽을 때 많이 나오는 용어 정리 (1) | 2026.04.05 |