

확률부터 LLM까지, 원리부터 제대로 배우는 자기주도 학습 플랫폼
원하는 개념·랩·가이드를 검색해보세요
Ctrl K정답을 몰라도 괜찮습니다 — 먼저 예측을 정해야 시뮬레이션 결과가 기억에 남습니다. 예측을 고른 뒤 아래 시뮬레이션으로 직접 확인하고, 그다음 결과를 열어 보세요.
"민수는 사과를 사서 그것을 먹었다"
쿼리 단어를 클릭하면 그 단어가 다른 단어들을 얼마나 참조하는지 보여줍니다.
어텐션 히트맵 — 행(쿼리)이 열(키)을 얼마나 참조하나
색이 진할수록 그 단어를 많이 참조합니다. 각 행의 합은 1입니다.
"먹었다"의 어텐션 계산 — 4단계
민수
점수 0.00 → ÷√d_k 0.00
8%
사과
점수 0.00 → ÷√d_k 0.00
8%
그것
점수 0.00 → ÷√d_k 0.00
8%
먹었다
점수 4.00 → ÷√d_k 2.31
77%
→ "먹었다"은(는) "먹었다"을(를) 가장 강하게 참조합니다 (77%). 점수(QKᵀ) → ÷√d_k → softmax → 비중의 순서입니다.
멀티헤드 어텐션 — 머리마다 다른 관점
실제 MHA는 head마다 다른 W_Q·W_K를 학습해 서로 다른 관계를 잡습니다. 아래는 "학습이 끝난 뒤의 세 관점"을 손으로 만든 것 — 수식은 전부 동일한 softmax(QKᵀ/√d)입니다.
의미 head
"그것"이 의미가 닮은 "사과"를 찾는다 (대명사 해소)
헤드를 늘리면 "그것" 행이 의미(사과)·위치(이웃)·문법(동사) 관점을 동시에 갖게 됩니다 — 한 개의 head로는 하나의 관계밖에 못 잡습니다.
실험으로 확인해 볼 것
※ 임베딩 숫자는 개념 이해를 위한 예시이며, 적용된 계산은 실제 Scaled Dot-Product Attention 수식과 동일합니다.
"민수는 사과를 사서 그것을 먹었다"의 네 토큰(민수·사과·그것·먹었다)에 3차원 토이 임베딩을 주고, 실제 Scaled Dot-Product Attention 수식 softmax(QKᵀ/√d_k)V를 그대로 적용해 4×4 어텐션 히트맵과 쿼리별 4단계 계산(점수 → ÷√d_k → softmax → 비중)을 확인하는 실험입니다. √d_k 스케일링 스위치를 꺼서 가중치 분포가 한쪽으로 포화되는 것도 관찰합니다.
바로잡는 오개념: "모델은 문법 분석기나 '그것 = 바로 앞 명사' 같은 고정 규칙으로 대명사를 해석한다"는 착각 — 어텐션은 모든 단어 쌍의 관련도(내적)를 가중치로 계산해 참조를 표현하며, 규칙을 코딩하지 않고 데이터에서 참조 관계를 배운다.
— 정답 대신 힌트로 유도합니다. 지금 화면의 실험 상태를 알고 답해요.
예: “방금 결과가 이론과 다른데 왜죠?”, “이 값을 올렸는데 왜 반대로 변하죠?”