LLM Study Diary #1: Transformer

개요

LLM Study Diary #1: Transformer는 일반 소프트웨어 엔지니어의 관점에서 LLM의 기반이 되는 Transformer 아키텍처를 해설합니다.

주요 내용

* Transformer 모델 종류:
* Decoder-only 모델 (GPT, Llama, Claude): 텍스트 생성을 위해 사용됩니다.
* Encoder-decoder 모델 (BART, 원조 Transformer): 번역 및 요약에 사용됩니다.
* Encoder-only 모델 (BERT): 분류 및 임베딩에 사용됩니다. 본 글에서는 Decoder-only LLM을 중점적으로 다룹니다.
* Transformer 블록의 핵심 구성 요소:
* Masked Multi-Head Attention (MMHA):
* Attention은 Query(Q), Key(K), Value(V)를 사용하여 계산됩니다.
* Softmax는 Q와 K 간의 attention 가중치를 계산하고, 이는 V의 가중합으로 출력됩니다.
* 훈련 시: 모든 토큰이 동시에 서로를 향해 질문(Q)하고 정보(K/V)를 제공합니다 (마스킹 적용).
* 추론 시: 가장 최근 토큰이 과거 토큰의 저장된 메모리(K/V)를 활용하여 질문(Q)합니다.
* 추론 시 KV Caching: 매 단계마다 K/V를 재계산하는 비효율성을 제거하기 위해, 이전에 계산된 K/V를 저장하여 현재 토큰의 Q/K/V 계산에 재사용함으로써 추론 속도를 크게 향상시킵니다. 추론은 프롬프트 처리 단계(Prefill)와 토큰 생성 단계(Decode)로 나뉩니다.
* Feed Forward Network (FFN):
* 입력 차원을 확장(expand)하고, 비선형 활성화(nonlinearity)를 거친 후, 다시 축소(contract)하는 과정으로 이루어집니다.
* 확장 차원(expansion dimension)은 일반적으로 4x가 사용됩니다 (GPT-3 기준).
* 학습 대상 (Weights) vs. 하이퍼파라미터:
* Weights: Attention 프로젝션 (WQ, WK, WV, WO), LayerNorm의 scale/bias, 최종 출력/unembedding 행렬 등은 역전파를 통해 학습됩니다.
* Hyperparameters: 학습률, 배치 크기, 임베딩 차원, 확장 차원, 레이어 수, 헤드 수 등 모델의 구조를 정의합니다.
* 손실 함수 (Loss Function): L = -1/T * Σ log P(xt+1 | x≤t) 형태로, 다음 토큰을 예측하는 데 사용됩니다.
* 시각화 도구: Transformer의 각 단계를 시각적으로 이해할 수 있는 도구(transformer-explainer)를 소개합니다.

시사점

Transformer 아키텍처의 핵심 메커니즘인 Masked Multi-Head Attention과 Feed Forward Network, 그리고 추론 효율성을 위한 KV Caching 기법은 LLM의 성능과 속도에 결정적인 영향을 미칩니다.

원문 읽기 →
원문을 불러오는 중...

댓글

GitHub Discussions