Logo
Published on

LLM 수학 기초 1: 벡터와 내적

Authors

왜 필요한가요

LLM 논문에는 벡터와 내적이 거의 항상 등장합니다.
특히 Transformer의 attention score는 Query와 Key의 내적에서 시작합니다.

이 노트를 읽으면 아래 문장을 만났을 때 덜 막힙니다.

Attention scores are computed by dot products between queries and keys.

원본 개념과 수식

두 벡터 a, b가 있다고 하겠습니다.

a = [a1, a2, a3]
b = [b1, b2, b3]

a · b = a1*b1 + a2*b2 + a3*b3

일반화하면 다음과 같습니다.

a · b = sum_i a_i * b_i

Transformer attention에서는 보통 다음 형태로 등장합니다.

score = Q · K

1차 해설: 수식이 말하는 것

내적은 두 벡터의 같은 위치 숫자끼리 곱한 뒤 모두 더하는 계산입니다.

중요한 직관은 이것입니다.

  • 두 벡터가 비슷한 방향이면 내적이 커집니다.
  • 서로 관계없는 방향이면 내적이 작아집니다.
  • 반대 방향이면 내적이 음수가 될 수 있습니다.

LLM에서는 단어를 벡터로 표현합니다.
따라서 내적은 두 단어 표현이 현재 문맥에서 얼마나 잘 맞는지 보는 점수처럼 쓰입니다.

쉬운 예시

문장에 고양이, 우유, 자동차가 있다고 하겠습니다.
현재 토큰이 고양이이고, 모델이 어떤 단어를 참고할지 고르는 상황입니다.

  • 고양이우유의 벡터 방향이 비슷하면 내적 점수가 큽니다.
  • 고양이자동차의 벡터 방향이 덜 비슷하면 내적 점수가 작습니다.

그러면 attention은 우유 쪽을 더 많이 참고할 수 있습니다.

정확히는 사람이 만든 규칙이 아니라, 학습을 통해 그런 벡터 배치가 생기도록 모델이 조정됩니다.

논문에서 다시 만났을 때 읽는 법

논문에서 QK^T를 보면 이렇게 읽으면 됩니다.

모든 Query와 모든 Key를 서로 내적해서 관련도 표를 만든다.

예를 들어 토큰이 4개라면 Query 4개와 Key 4개를 비교해 4 x 4 점수표가 만들어집니다.
이 표의 각 칸은 "이 토큰이 저 토큰을 얼마나 봐야 하는가"에 가까운 값입니다.

자주 하는 오해

  • 내적이 항상 의미론적 유사도만 뜻하지는 않습니다.
  • 학습된 벡터 공간에서는 문법, 위치, 역할 같은 정보도 섞여 있을 수 있습니다.
  • 내적 점수는 그대로 최종 중요도가 되지 않고, 보통 softmax를 거쳐 가중치가 됩니다.

최소 체크포인트

  • 벡터는 특징을 담은 숫자 묶음입니다.
  • 내적은 두 벡터의 맞물림 정도를 점수로 만듭니다.
  • Attention의 첫 단계는 Q와 K의 내적 점수표를 만드는 일입니다.