트랜스포머의 핵심 통찰은 너무 간단해서 약간 민망할 정도야: 모든 토큰이 다른 모든 토큰에, 거리 상관없이, 직접 attend하게 두자. 순환 없이, convolution window 없이, 순차 상태 없이. 그냥 모든 위치 쌍에 대해 학습된 similarity 함수 하나.
이 한 수가 나머지 전부를 풀어. 위치 간 병렬화가 되는 이유, 긴 의존성에서 gradient가 안 죽는 이유, 같은 아키텍처가 텍스트에서 이미지로 오디오로 단백질 시퀀스로 그대로 옮겨가는 이유 — 다 이거 때문이야.
3줄짜리 핵심
이 공식은 앞으로 트랙 내내 본다. 모양을 외워:
scores = Q @ K.T / sqrt(d_k)— 모든 쌍 (i, j)이 similarity score 하나씩 받아.weights = softmax(scores)— 각 행이 위치들에 대한 확률 분포가 돼.output = weights @ V— 각 위치의 출력 = 모든 value의 가중합.
matmul 셋 + softmax. 메커니즘 전체가 이거야. multi-head, positional encoding, KV-cache, GQA, RoPE, Flash Attention 같은 건 전부 이 위에 얹은 엔지니어링 광택이고.
비용은 어디 있나
"모든 토큰이 모든 토큰을 본다"의 가격은 (n × n) score 행렬이야. 시퀀스 길이에 대해 O(n²) 연산량 + 메모리. 토큰 수천 개까진 싸. 1M 토큰 가면 안 싸지지. 그래서 attention을 효율적으로 만드는 sub-industry가 있는 거고(Track 4에서 다뤄).