
『Attention Is All You Need』를 요약한다 ── 설계의 필연성으로 이해하기
요약
Transformer 모델의 근간인 'Attention Is All You Need' 논문을 설계의 필연성 관점에서 분석합니다. Q, K, V 분리의 이유와 Scaled Dot-Product Attention의 수학적 근거, Multi-Head Attention의 필요성을 설명합니다.
핵심 포인트
- Q와 K를 분리하여 언어의 비대칭적 관계를 학습함
- Scaled Dot-Product를 통해 경사 소실 문제를 방지함
- Multi-Head Attention으로 다각적인 관계성을 동시에 포착함
- Positional Encoding을 통해 병렬 처리 중 순서 정보를 유지함
AI 에이전트를 직접 만들거나, LLM을 이용한 애플리케이션 개발을 하다 보면 어느 순간 한계에 부딪히는 것을 느낍니다.
API를 호출하고 프롬프트를 다듬으면 어느 정도는 작동합니다. 하지만, **"왜 긴 문맥(Long Context)은 무거운가", "왜 MoE(Mixture of Experts)가 주류인가", "정확도가 떨어지는 원인을 구조로부터 특정할 수 없다", "새로운 모델이 나올 때마다 전해 들은 벤치마크에 휘둘린다"**와 같은 블랙박스 특유의 답답함을 느끼고 있지는 않으신가요?
모델의 강점도 약점도, 모든 것은 구조로부터 인과적으로 설명할 수 있습니다. 그리고 그것을 이해하는 최단 경로야말로, 현대의 모든 LLM(GPT, Claude, Gemini)의 원류인 2017년의 전설적인 논문 『Attention Is All You Need』를 진지하게 읽는 것이었습니다.
10페이지 정도의 논문에 담긴 "왜 그렇지 않으면 안 되는가"라는 설계의 필연성을 정리했습니다.
입력 $X$를 그대로 사용하는 $X X^T$는 내적(Inner Product)의 성질 때문에 "토큰 간의 유사도"가 반드시 대칭( $i
ightarrow j$ 와 $j
ightarrow i$ 가 동일)이 되어 버립니다. 하지만 언어의 본질은 "비대칭(한정사 the가 명사 cat을 수식하지만, 역은 성립하지 않음)"입니다.
Q와 K를 나누는 필연성: $Q = XW_Q, K = XW_K$로 나눔으로써, 화살표의 방향(어느 쪽에서 어느 쪽으로 주목하는가)을 학습하는 비대칭적인 자유도를 획득하기 위해.
V를 나누는 필연성: "어디를 볼 것인가라는 판단(Q, K)"과 "그곳에서 무엇을 추출할 것인가라는 내용(V)"의 공간을 독립시켜 개별 최적화하기 위해.
Q의 각 행 $q$와 K의 각 행 $k$의 각 성분이 독립적이며 평균 0, 분산 1인 확률 변수라고 가정했을 때, 내적 $q imes k$는 $d_k$개의 독립적인 곱의 합이 되므로, 분산은 $d_k$에 비례하여 크게 벌어진다는 수학적 근거가 있습니다.
이를 그대로 softmax에 넣으면, 출력이 어느 한 요소만 1이 되고 나머지는 0에 달라붙는 "승자 독식(Winner-take-all)" 상태가 됩니다. softmax의 미분 계수에는 $\text{softmax}(x)(1 - \text{softmax}(x))$가 포함되어 있기 때문에, 출력이 극단적이면 **경사 소실 (Gradient Vanishing, 학습 중단)**을 일으킵니다. 상수 $c$로 나누면 분산은 $c^2$배가 되므로, $\sqrt{d_k}$로 나눔으로써 분산을 깔끔하게 1로 정규화(Normalization)하고 있습니다.
softmax는 "합계가 1이 되는 단일 확률 분포"밖에 만들 수 없는 구조적 한계가 있습니다. 단일 Attention으로는 예를 들어 cat이라는 단어가 문법적 관계인 the나, 동사인 sat, 공간인 mat에 "동시에, 각각 독립적으로 강하게 주목하는 것"이 불가능합니다 (어느 하나에 가중치가 집중되거나, 균등하게 희석될 뿐입니다).
계산 비용을 유지하기 위해 전체 차원을 $h$로 분할(512를 64차원 $\times$ 8 head로)하고, 독립된 여러 개의 softmax를 병렬로 실행함으로써 다각적인 관계성을 동시에 포착할 수 있는 설계로 만들었습니다.
Transformer는 한 번에 병렬 처리를 하기 때문에, 그대로 두면 단어의 순서를 구별할 수 없습니다 (치환 불변성, Permutation Invariance).
왜 더하기인가: $d_{model}=512$라는 초고차원 공간에서는 랜덤한 벡터끼리 거의 직교(간섭하지 않음)하기 때문에, 의미를 해치지 않고 위치 정보를 얹을 수 있습니다 (칵테일 파티 효과).
왜 sin/cos인가: 삼각함수의 가법 정리에 의해, 위치 $pos+k$의 인코딩을 위치 $pos$에 "$pos$에 의존하지 않는 고정된 시프트 행렬 $M_k$"를 곱한 선형 변환으로 표현할 수 있기 때문입니다. 이를 통해 절대 위치가 아니라 "$k$ 단어 떨어진 상대를 본다"라는 상대적 위치 패턴을 모델이 일반화하여 학습할 수 있게 됩니다.
Attention이 하고 있는 것은 토큰 간의 "선형적인 혼합(가로 방향의 통신)"뿐입니다. 하지만 혼합된 정보로부터 새로운 추상 개념(예: "고양이" + "매트" $
ightarrow$ "동물이 물체 위에 있는 상태")을 생성하려면 벡터 내부의 비선형적인 변형이 필요합니다.
Transformer는 **Attention(가로 방향의 통신)**과 **FFN(세로 방향의 비선형 가공)**의 역할을 완전히 분담하고 있습니다. 또한, 차원을 한 번에 4배(512 $
ightarrow$ 2048)로 확장하는 이유는 고차원 공간일수록 독립적인 비선형 경계(ReLU)를 더 많이 확보할 수 있어 표현력이 비약적으로 상승하기 때문입니다.
그전까지 주류였던 RNN은 이전 시점의 계산이 끝날 때까지 다음 계산을 할 수 없는 구조($O(N)$)이기 때문에 병렬화(Parallelization)가 불가능했습니다. 또한, 멀리 떨어진 단어 간의 정보 전달(최대 경로 길이)에 $O(N)$ 스텝이 소요되므로, 바통 터치 과정에서 기울기 소실(Gradient Vanishing)이 발생하는 치명적인 약점을 안고 있었습니다.
Self-Attention은 모든 토큰 쌍(Token pair)의 관계를 단 한 번의 행렬 연산으로 동시에 계산(병렬화 스텝 $O(1)$)하고, 임의의 두 지점을 직통 경로(최대 경로 길이 $O(1)$)로 연결함으로써, 「병렬화 가능성」과 「장거리 의존성(Long-range dependency) 문제 해결」을 동시에 달성했습니다. 이것이야말로 GPU의 성능을 한계까지 동원하여 모델을 거대화하는 「스케일링 법칙 (Scaling Law)」의 출발점입니다.
이 논문의 「설계 의도」와 「구조적 트레이드오프 (Structural Trade-off)」를 이해하면, 최신 기술들이 모두 이 논문의 **「어느 부분을 개조하거나 제약을 회피한 것인지」**라는 관점에서 연속적으로 보이게 됩니다.
『Attention Is All You Need』의 진정한 의미는, "LSTM의 복잡한 게이트(Gate)도 CNN의 계층 구조도 필요 없다. 심플한 Attention만으로 병렬화와 장거리 의존성 문제를 구조적으로 모두 해결할 수 있다"라는 강력한 패러다임 전환(Paradigm Shift)의 선언이었습니다.
병렬화와 장거리 의존성을 얻는 대신 치른 대가는 「계산량이 시퀀스 길이의 제곱($O(N^2)$)으로 폭발한다」는 저주였으며, 현대의 긴 문맥 모델(Gemini 1M 등)은 이 저주와의 싸움의 역사 그 자체일지도 모릅니다.
최신 모델이 나올 때마다 "이것은 원 논문의 어떤 제약을 회피하기 위한 개조인가"라는 관점을 가질 수 있게 되면, 기술 선정이나 에이전트(Agent) 설계의 해상도가 차원이 다르게 높아집니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기