LLM 시리즈
LLM 아키텍처, 추론, 파인튜닝. 13편을 읽는 순서대로 정리했습니다.
LLM은 왜 다음 토큰 하나만 예측할까
LLM이 다음 토큰 하나를 예측하는 문제로 정의된 이유를 확률의 연쇄 법칙에서부터 따라갑니다. 세는 방식이 무너진 지점, 신경망이 바꾼 것, 그리고 목적함수 하나에서 여러 능력이 나온 과정을 정리합니다.
LLM
Transformer는 왜 Q, K, V 셋으로 나눴을까
Transformer 어텐션의 Q, K, V가 무엇이고 왜 셋으로 나뉘는지 문장 하나로 계산을 따라갑니다. √d_k로 나누는 이유, causal mask가 막는 것과 그 덕에 KV Cache가 성립하는 이유, head와 KV head의 정의까지 짚습니다.
LLM
토큰은 왜 단어가 아닐까
LLM이 텍스트를 단어도 글자도 아닌 토큰으로 쪼개는 이유를 BPE 알고리즘부터 따라갑니다. 토큰 ID를 벡터로 바꾸는 임베딩 테이블과 확률 분포로 되돌리는 lm_head까지, 비용의 단위인 토큰을 정의합니다.
LLM
LLM은 왜 가장 확률 높은 토큰을 고르지 않을까
LLM이 내놓는 확률 분포에서 토큰을 고르는 방법을 greedy와 beam search의 실패에서부터 따라갑니다. 최빈값이 반복으로 무너지는 이유, top-p와 temperature가 분포의 어디를 손대는지, 추론 모델이 greedy를 피하는 이유를 정리합니다.
LLM
Positional Encoding에서 RoPE까지, 어텐션에 순서를 부여하는 법
어텐션의 내적에는 토큰 순서가 없습니다. 위치 벡터를 더하는 Positional Encoding에서 벡터를 돌리는 RoPE까지, 순서를 부여하는 두 방식의 원리와 차이를 숫자로 따라갑니다.
LLM
Transformer 블록 뜯어보기
Transformer가 레이어를 100개 쌓아도 학습이 되는 이유를 잔차 연결, 정규화, FFN에서 찾습니다. 잔차가 기울기 고속도로를 열고, RMSNorm이 크기를 다스리고, SwiGLU가 비선형 용량을 더합니다.
LLM
FlashAttention은 왜 더 많이 계산하면서 더 빠를까
어텐션의 진짜 병목은 연산이 아니라 데이터 이동입니다. FlashAttention은 타일링과 online softmax로 점수 행렬을 없애고, 재계산으로 FLOPs를 더 쓰면서도 실행 시간을 줄였습니다.
LLM
MoE는 전문가를 어떻게 고를까
FFN을 전문가로 나눈 뒤 라우터가 토큰마다 일부만 골라 활성화하는 MoE의 원리를 다룹니다. 게이팅 수식, 전문가 붕괴, 보조 손실 없이 균형 잡는 법, 세분화 전문가까지 핵심 메커니즘을 정리합니다.
LLM
KV Cache를 10분의 1로 줄인 MLA의 트릭
GQA는 K, V의 벌 수를 줄였고 MLA는 차원 자체를 압축했습니다. 잠재 벡터로 캐시를 10분의 1로 줄이는 메커니즘과 RoPE 흡수 트릭을 짚습니다.
LLM
Sparse Attention, 블록으로 묶으면 달라지는 것
토큰 하나씩 점수를 매기면 인덱서 자체가 O(n²)입니다. 블록으로 묶어 대표값만 비교하면 이 딜레마가 어떻게 풀리는지 따라갑니다.
LLM
Linear Attention, 곱의 순서를 바꾸면 생기는 일
softmax를 빼고 행렬 곱의 순서를 바꾸면 Linear Attention은 과거 전체를 고정 크기 상태 하나로 압축해 O(n)이 됩니다. 이 압축이 무엇을 잃고, 그래서 왜 하이브리드가 표준이 됐는지 따라갑니다.
LLM
Long Context, 1M을 넣어도 다 쓰지 못하는 이유
모델 카드의 1M은 그만큼 넣을 수 있다는 뜻이지 그 길이를 다 쓴다는 뜻이 아닙니다. 먼 곳의 정보가 학습 때는 드물게 등장하고 추론 때는 가중치가 수많은 위치로 흩어져서 생기는 격차를 숫자로 따라갑니다.
LLM
Test Time Scaling
Chain-of-Thought부터 Test-Time Compute까지, 이미 학습된 LLM의 추론 성능을 향상시키는 방법들을 알아봅니다.
LLM