본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 18. 00:47

Attention이 실제로 작동하는 방식 — Next-Token Prediction에서 QKV 직관까지

요약

언어 모델의 핵심 메커니즘인 Attention이 Next-Token Prediction 과정에서 어떻게 작동하는지 설명합니다. QKV(Query, Key, Value) 구조를 통해 모델이 문맥 내에서 중요한 정보를 동적으로 선택하고 가중치를 부여하는 원리를 다룹니다.

핵심 포인트

  • 언어 모델은 다음 토큰의 확률을 추정하는 방식으로 작동함
  • Attention은 문맥 내에서 중요한 토큰을 동적으로 재가중치함
  • QKV 구조는 검색 메커니즘과 유사하게 정보를 선택함
  • Attention은 기존 Seq2Seq 모델의 정보 손실 병목 현상을 해결함

언어 모델은 "문장을 쓰는" 것이 아닙니다.

그것은 다음 토큰 (next token)을 예측합니다. 한 번에 한 단계씩 말이죠.

따라서 진짜 질문은 이것입니다:

지금 이 순간 무엇이 중요한지 어떻게 결정할까요?

그것이 바로 Attention이 존재하는 이유입니다.

핵심 아이디어 (Core Idea)

언어 모델 (Language Model) = 다음 토큰 확률 추정기 (next-token probability estimator).

이전 토큰들이 주어졌을 때, 모델은 다음 토큰을 예측합니다.

Attention = 어떤 과거 토큰이 더 중요한지 결정하는 메커니즘.

이것은 매우 중요합니다.

모든 문맥 (context)이 똑같이 유용한 것은 아니기 때문입니다.

핵심 구조 (The Key Structure)

언어 모델링 (Language Modeling)은 다음과 같이 축약될 수 있습니다:

P(x₁, x₂, ..., xₜ) = Π P(xₜ | x₁...xₜ₋₁)

그리고 Attention은 다음을 추가합니다:

가중치가 적용된 문맥 선택 (weighted context selection)

더 구체적으로 말하면:

언어 모델 (Language Model) = 문맥 (context) + 가중치 부여 (weighting) + 예측 (prediction)

Attention이 없다면:

모든 문맥이 압축됩니다.

Attention이 있다면:

매 단계마다 문맥이 동적으로 재가중치 (re-weighted) 됩니다.

의사 코드 관점 (Pseudo-code View)

자기회귀 생성 (Autoregressive generation):

context = ["I", "love"]

while not finished:
...

모델 내부의 Attention:

for each token t:
    score = compare(query_t, keys)

...

이것이 핵심 루프입니다.

예측 (Predict) → 추가 (append) → 반복 (repeat).

구체적인 예시 (Concrete Example)

입력:

"I love"

가능한 다음 토큰들:

you, it, this, pizza

모델은 다음과 같이 확률을 할당합니다:

you → 0.6

it → 0.2

this → 0.1

pizza → 0.1

왜 "you"가 선택될까요?

Attention이 문맥 내의 관계에 집중하기 때문입니다.

"I" + "love" → 강력한 패턴 → "you"

이제 확장해 봅시다:

"I love you because"

이제 모델은 결정해야 합니다:

"because"는 무엇과 연관되어 있는가?

Attention은 모델이 마지막 토큰뿐만 아니라 전체 문맥을 재평가할 수 있게 해줍니다.

Attention이 필요한 이유 (Why Attention Is Needed)

기존의 Seq2Seq 모델들:

  • 전체 입력을 하나의 벡터로 압축함
  • 시퀀스가 길어질수록 정보를 손실함

Attention은 이를 해결합니다:

  • 모든 토큰의 표현 (representations)을 유지함
  • 관련 있는 토큰을 동적으로 선택함

이것이 중요한 이유는 다음과 같습니다:

긴 문장은 고정된 표현 (fixed representations)을 깨뜨립니다.

Attention은 그 병목 현상 (bottleneck)을 제거합니다.

QKV 직관 (QKV Intuition)

Attention은 세 가지 벡터를 사용합니다:

Query, Key, Value

검색(search)과 같이 생각해보세요:

Query = 내가 원하는 것

Key = 각 토큰이 제공하는 것

Value = 실제 정보

흐름(Flow):

  1. Query와 Key들을 비교
  2. 유사도 점수(similarity scores) 계산
  3. Softmax로 정규화
  4. 가중치를 사용하여 Value들을 결합

이것이 문맥(context)이 선택되는 방식입니다.

핵심 공식 (The Core Formula)

Attention은 다음과 같습니다:

Attention(Q, K, V) = softmax(QKᵀ / √d) V

의미:

  • Query와 Key를 매칭
  • 매칭 결과를 확률(probabilities)로 변환
  • 해당 확률을 사용하여 Value들을 혼합

결과:

각 토큰은 문맥을 인식(context-aware)하게 됩니다.

교차 주의 집중(Cross Attention)과 문맥 벡터(Context Vector)

인코더-디코더(encoder-decoder) 모델에서:

디코더(Decoder)는 자신의 토큰에만 의존하지 않습니다.

인코더(Encoder)의 출력값을 살펴봅니다.

문맥 벡터(Context vector):

c = Σ (attention_weight × encoder_hidden_state)

이것은 동적(dynamic)입니다.

매 단계마다 모델은 무엇이 중요한지를 다시 계산합니다.

고정된 요약이 아닙니다.

움직이는 초점(moving focus)입니다.

단순한 관점 vs 실제 관점 (Naive vs Real View)

단순한 관점:

언어 모델 = 다음 단어 생성기

실제 관점:

언어 모델 = 동적 문맥 가중치 시스템 (dynamic context weighting system)

단순한 관점:

다음 토큰 예측

실제 관점:

Attention 계산
문맥 가중치 재설정
그 다음 토큰 예측

그 차이가 전부입니다.

이것이 Transformer가 이전 모델들보다 뛰어난 성능을 보이는 이유를 설명해 줍니다.

중요한 제약 사항 (Important Constraints)

Attention은 강력하지만, 공짜는 아닙니다.

  • 비용이 시퀀스 길이(sequence length)에 따라 증가함
  • 모든 토큰을 위한 메모리가 필요함
  • 좋은 토큰화(tokenization)에 의존함
  • 추론(inference) 시에는 여전히 순차적으로 생성됨

또한:

Attention은 그 자체로 의미를 이해하지 못합니다.

단지 데이터로부터 패턴을 학습할 뿐입니다.

따라서 품질은 학습(training)에 달려 있습니다.

이것이 왜 중요한가 (다시 한 번)

초기:

Attention이 없을 때 → 정보 병목 현상 (information bottleneck)

현재:

Attention이 있을 때 → 전체 문맥 + 선택적 초점

이것이 현대의 LLM이 작동하는 이유입니다.

그들이 "언어를 알아서"가 아닙니다.

문맥을 효율적으로 관리하기 때문입니다.

핵심 요약 (Takeaway)

언어 모델(Language Model) = 다음 토큰 예측 (next-token prediction).

Attention = 문맥 선택 (context selection).

QKV = 정보를 선택하기 위한 메커니즘.

한 가지만 기억해야 한다면:

Attention은 모델이 무엇을 말할지 예측하기 전에, 무엇을 볼지 결정할 수 있게 해줍니다.

그것이 현대 LLM의 핵심입니다.

Discussion

LLM의 동작을 생각할 때, 여러분은 이를 어떻게 보시나요:

확률 엔진 (probability engine)인가요, 아니면 문맥 선택 시스템 (context selection system)인가요?

zeromathai.com에서 최초 게시됨
원문 기사: https://zeromathai.com/en/attention-language-modeling-basics-en/

GitHub 리소스
AI 다이어그램, 학습 노트 및 시각적 가이드:
https://github.com/zeromathai/zeromathai-ai

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0