Transformer 이해하기: 현대 LLM의 수학을 깊이 파헤치기

Large Language Models(LLM)의 내부 작동은 종종 높은 수준의 추상화와 복잡한 행렬 연산에 가려진 "블랙 박스"처럼 느껴집니다. 개발자와 연구자에게는 토큰 ID에서 확률 분포까지의 정확한 데이터 흐름을 이해하는 것이 성능 최적화와 Multi-Head Latent Attention(MLA)이나 Mixture of Experts(MoE)와 같은 아키텍처 혁신이 실제로 어떻게 작동하는지를 파악하는 데 필수적입니다.

Transformer Math Explorer는 이러한 과정을 드물게 세밀하게 살펴볼 수 있게 합니다. 고수준 행렬 곱셈을 의도적으로 배제하고 명시적인 합과 인덱스를 사용함으로써 현대 AI가 생성하는 모든 토큰을 구동하는 기본적인 수학을 드러냅니다.

토큰에서 확률까지의 고수준 흐름

At its core, a transformer model (such as GPT-2) can be viewed as a function where token IDs are the input and next-token probabilities are the output. This process follows a specific structural pipeline:

  1. Embeddings: 토큰 ID가 연속 벡터로 변환됩니다.
  2. Transformer Blocks: 이러한 임베딩은 $L$개의 동일한 블록을 통과하며, 각 블록은 컨텍스트 내 토큰의 표현을 정제합니다.
  3. Output Head: 최종 처리된 벡터는 어휘 크기로 다시 매핑되어 다음 토큰에 대한 확률 분포를 생성합니다.

Transformer 블록의 구조

각 transformer 블록은 신호 안정성을 유지하면서 모델이 복잡한 패턴을 학습할 수 있는 용량을 늘리도록 설계되었습니다. 표준 블록은 두 개의 주요 하위 레이어로 구성됩니다:

  • Causal Self-Attention: 모델이 시퀀스 내 다양한 토큰의 중요성을 평가할 수 있게 합니다.
  • Multi-Layer Perceptron (MLP): 어텐션 메커니즘이 추출한 정보를 처리합니다.

두 하위 레이어는 **잔차 연결(residual connections)**로 감싸여 있어 학습 중 기울기 소실 문제를 방지하고, 정규화(normalization) 레이어와 함께 활성값을 안정적인 범위 내에 유지합니다.

인과적 자기-어텐션의 메커니즘

자기-어텐션은 transformer의 핵심 엔진입니다. 단일 헤드의 경우, 연산은 다음과 같은 엄격한 과정을 따릅니다: 입력 $x$를 Query($Q$), Key($K$), Value($V$) 벡터로 투영하고, 이들 간의 호환성을 점수화하며, 인과성을 보장하기 위해 미래 위치를 마스킹하고, 소프트맥스 함수를 적용한 뒤, 최종적으로 값들의 가중합을 계산합니다.

스케일드 닷 프로덕트

"호환성 점수"는 위치 $t$의 쿼리와 위치 $s$의 키 사이를 스케일드 닷 프로덕트를 사용해 계산합니다. 헤드 너비($d_h$)가 증가함에 따라 점수의 분산이 폭발하는 것을 방지하기 위해 결과를 $\sqrt{d_{h}}$로 나눕니다:

$$z_{t , s} = \frac{1}{\sqrt{d_{h}}} \sum_{0 \leq a < d_{h}} q_{t , a} k_{s , a}$$

KV 캐시

자기회귀 생성 중 모델은 한 번에 하나의 토큰을 출력합니다. 어텐션 메커니즘이 인과적이기 때문에, 위치 $t$의 토큰에 대한 Key($k_t$)와 Value($v_t$) 벡터는 $\leq t$ 위치의 입력에만 의존합니다.

이는 이후 토큰이 시퀀스에 추가되더라도 이러한 값은 변하지 않음을 의미합니다. 중복 연산을 피하기 위해 모델은 KV 캐시를 사용하여 이러한 벡터를 저장하고 각 디코드 단계에서 재사용합니다. 이는 긴 시퀀스를 생성할 때의 계산 오버헤드를 크게 줄여줍니다.

기본을 넘어: 현대 아키텍처 변형

기본 수학은 일관되지만, 현대 모델은 효율성과 추론 능력을 향상시키기 위해 여러 최적화를 도입했습니다. Transformer Math Explorer는 사용자가 이러한 고급 구성들을 전환할 수 있게 합니다:

  • MLA (Multi-Head Latent Attention): KV 캐시의 메모리 사용량을 줄이는 최적화.
  • MoE (Mixture of Experts): 조밀한 MLP 레이어를 희소하고 특화된 "전문가" 네트워크로 교체하여, 계산 비용에 비례하지 않게 모델 용량을 증가시키는 방법.
  • RoPE (Rotary Positional Embeddings): 복소수 공간에서 벡터를 회전시켜 위치 정보를 인코딩하는 정교한 방식으로, 모델이 더 긴 컨텍스트를 처리하는 능력을 향상시킵니다.
  • MTP (Multi-Token Prediction): 모델이 하나가 아닌 여러 미래 토큰을 동시에 예측하도록 하는 아키텍처 변화.

이러한 개념들을 기본적인 합과 인덱스로 분해함으로써, 우리는 "선형 대수"라는 추상화를 넘어 기계가 문장에서 다음 단어를 예측하게 하는 실제 연산을 볼 수 있습니다.

Sources