3장. Attention 과 Transformer, GPT 직접 구현
순서를 읽는 모델과 한계
전화 게임을 떠올려 보세요. 첫 사람이 들은 말을 다음 사람에게 귓속말로 전하고, 그 사람이 또 다음 사람에게 전합니다. 줄이 길어지면 처음 말은 흐려지기 마련입니다. Transformer 이전에 글을 읽던 RNN 이 이렇게 일했습니다.
왼쪽 RNN 은 글자를 하나씩 읽으며 기억을 다음 차례로 넘깁니다. 오른쪽 Attention 은 문장 전체를 펼쳐 놓고, 지금 글자가 필요한 글자를 거리와 상관없이 바로 찾아봅니다. 여기서 귓속말 전달이 RNN, 회의록을 펼쳐 놓고 찾아보는 것이 Attention 입니다.
두 방식 견주기
| 견줄 것 | RNN | Attention(Transformer) |
|---|---|---|
| 읽는 순서 | 한 글자씩 차례로 | 모든 글자를 한꺼번에 |
| 먼 글자와의 관계 | 넘기는 사이 흐려진다 | 거리와 상관없이 바로 본다 |
| GPU 로 나눠 계산 | 차례를 기다려야 해서 어렵다 | 한꺼번에 계산해서 쉽다 |
| 글이 길어지면 | 느리고 잊는다 | 계산량이 글 길이의 제곱으로 는다 |
| 지금 쓰임 | 작은 시계열 모델 등 | LLM 대부분 |
2017년 "Attention Is All You Need" 라는 논문이 RNN 없이 Attention 만으로 번역 모델을 만들어 보였고, 이 짜임을 Transformer 라고 불렀습니다. 그 뒤의 GPT, BERT, 그리고 지금의 LLM 이 모두 이 짜임에서 나왔습니다.
주의할 점
- Attention 도 만능은 아닙니다. 글이 두 배 길어지면 글자 쌍이 네 배가 되어 계산과 메모리가 빠르게 늡니다. LLM 에 입력 길이 제한이 있는 까닭입니다.
- 전화 게임 비유와 다른 점이 있습니다. RNN 은 사람처럼 말을 바꿔 전하는 것이 아니라, 숫자 기억을 조금씩 덮어쓰며 넘깁니다.