Layer normalization은 layer 내 activation을 평균 0, 분산 1로 정규화하고 학습 가능한 scale/shift 적용해서 학습을 안정화. block 안에서 어디 두느냐가 생각보다 더 중요해.
두 배치
Post-LN(원조 Transformer, 2017): residual connection 다음에 정규화.
x = LayerNorm(x + Sublayer(x))
learning-rate warmup 없이는 학습 잘 안 돼. 깊이가 깊으면 gradient 신호가 폭발/소실 — 세심한 튜닝 없이는. 2017-2019 논문 대부분이 Post-LN, 모던 모델은 피해.
Pre-LN(모던 표준): sublayer 전에 정규화.
x = x + Sublayer(LayerNorm(x))
residual stream은 정규화되지 않은 채 유지 — gradient가 layer norm을 통과하지 않고 skip connection 따라 거슬러 올라갈 수 있어. 학습이 훨씬 안정적. GPT-2, GPT-3, BERT-base, 모든 모던 Llama/Mistral/Claude 변종이 Pre-LN.
RMSNorm
모던 Llama랑 Mistral은 LayerNorm 대신 RMSNorm을 써. 모양 같지만 mean-centering 단계 생략 — (activation − mean) / std 대신 activation의 root mean square로 정규화. 살짝 빠르고, 살짝 파라미터 적고, 경험적으로 똑같이 안정적.