

확률부터 LLM까지 — 데이터 사이언스 자기주도 학습 플랫폼
Scaled Dot-Product 어텐션은 쿼리와 키의 내적 점수를 Loading...로 나눠 스케일한 뒤 softmax로 가중치를 만들어 밸류를 가중 평균하는 연산으로, Transformer의 핵심 계산 단위다.
이 내용은 넘스탯의 어텐션 시뮬레이터에서 직접 실험으로 확인할 수 있습니다.
각 단계를 클릭하면 해당 학습 내용을 볼 수 있습니다
학습 진도 (완료한 단계)
0%
Scaled Dot-Product 어텐션은 "어느 토큰을 얼마나 참고할지"를 숫자로 계산하는 방법입니다. 쿼리(Q)와 키(K)를 내적해 유사도 점수를 매기고, 점수를 Loading...로 나눠 크기를 조절한 뒤, softmax로 합이 1인 가중치로 바꾸고, 그 가중치로 밸류(V)를 섞어(가중 평균) 출력을 만듭니다. 이 네 단계가 Transformer 안에서 수없이 반복됩니다.
토큰 2개, 점수가 각각 2와 0이라고 합시다. softmax([2, 0]) 계산: e^2 = 7.389, e^0 = 1 합 = 7.389 + 1 = 8.389 가중치 = [7.389/8.389, 1/8.389] = [0.881, 0.119] (합 = 1) 밸류가 v1 = 10, v2 = 0이면: 출력 = 0.881 × 10 + 0.119 × 0 = 8.81 점수가 높은 토큰(v1)의 정보가 88.1% 반영됩니다. 어텐션 출력은 언제나 이런 "가중 평균"입니다.
정답: (1) 쿼리와 키의 내적으로 유사도 점수 계산(QK^T), (2) √d_k로 나눠 스케일, (3) softmax로 합이 1인 가중치 변환, (4) 가중치로 밸류(V)를 가중 평균해 출력 생성입니다.
정답: 항상 1입니다. softmax는 각 점수를 지수함수에 넣고 전체 합으로 나누기 때문에, 결과는 합이 1인 확률 분포가 됩니다. 그래서 출력이 밸류들의 가중 평균이 됩니다.
정답: 키 벡터의 차원 d_k가 크면 내적 점수의 크기가 커져서, softmax가 한 토큰에 거의 1을 몰아주는 극단적 분포가 됩니다. 이 영역에서는 기울기가 거의 0이 되어 학습이 잘 진행되지 않습니다.