Post-LN vs Pre-LN
Norm의 위치를 바꾸는 것은 같은 계산을 보기 좋게 재배치하는 일이 아니다. Post-LN은 sublayer output과 원래 state를 더한 결과 전체를 정규화하고, Pre-LN은 sublayer가 읽는 입력만 먼저 정규화한다. Residual의 원래 가 다음 state로 넘어가는 경로에 Norm이 끼어 있느냐가 핵심 차이다.
- Post: x+F(x)
- LN / Pre: LN(x)
- F
- +x
Residual Paths
Post-LN은 , Pre-LN은 다. Post의 Jacobian은 , Pre는 으로 직접 identity term을 갖는다.
Warm-Up & Stability
Xiong의 setting에서 Post는 output 근처 initial gradient가 크고 warm-up이 도움됐다. Pre는 warm-up 없이 비교 가능한 결과를 보였지만 모든 setting에서 warm-up이 불필요하다는 법칙은 아니다. Pre-LN stack 뒤에는 Final Norm을 흔히 추가한다.
Following the Gradient
Jacobian은 입력의 작은 변화가 출력에 어떻게 전달되는지를 나타낸다. Backpropagation에서는 layer를 거슬러 갈 때 이 변화율이 연쇄적으로 곱해지므로, 깊은 stack에서 어떤 경로가 남는지가 중요하다. 여기서 F는 Attention 또는 FFN 같은 sublayer다.
Post-LN의 를 미분하면 지만, 그 바깥에 LN이 있으므로 전체에 이 곱해진다. Identity term도 Norm의 영향을 피하지 못한다. 반면 Pre-LN의 원래 는 바깥에서 그대로 더해지므로, 미분하면 직접 가 남고 나머지 branch만 을 거친다.
이 차이는 초기 layers 사이 gradient scale을 더 안정적으로 유지하는 데 도움이 된다. Xiong et al.의 Post-LN setting에서는 output 근처 gradient가 커서 초기 learning rate가 크면 불안정할 수 있었고, learning rate를 서서히 올리는 warm-up이 도움이 되었다. Pre-LN에서는 그 실험의 warm-up 없이도 비교 가능한 결과를 얻었다. 다만 Pre-LN이면 어떤 학습에서도 warm-up이 필요 없다는 결론은 아니다. Initial gradient 분석과 training 중 발생할 모든 불안정성을 구분해야 한다.
Pre-LN은 residual 전체를 매 sublayer 뒤에 정규화하지 않으므로 stack 마지막에 Final Norm을 흔히 둔다. 다음 QK Norm은 또 다른 위치, 즉 projection 뒤 Attention의 내적 바로 전에 적용되는 정규화다.
F는 Attention 또는 FFN 같은 sublayer다. 초기 gradient의 안정성과 학습 중 모든 안정성 문제의 해결을 동일시하지 않는다.
Pre-LN Jacobian에는 직접 I가 있다. 모든 안정성 문제의 해결은 아니다.
Post-LN · Pre-LN
Norm의 위치가 직접 identity 경로를 바꾼다.
| Aspect | Post-LN | Pre-LN |
|---|---|---|
| 식 | LN(x+F(x)) | x+F(LN(x)) |
| Jacobian | ||
| Identity 경로 | J_LN을 통과 | 직접 I term |
| 인용된 setting | Output 근처 init gradient가 큼; warm-up 도움 | 초기 gradient가 더 안정적; warm-up 없이 비교 결과 |
| Stack 끝 | Sublayer output 정규화 | Final Norm을 흔히 추가 |
해당 분석 결과를 모든 architecture의 warm-up 필요 여부로 일반화하지 않는다.
Check
Pre-LN과 Post-LN의 Jacobian에서 I의 위치가 어떻게 다른가?
Answer
Post는 J_LN이 (I+J_F)를 감싼다. Pre는 I가 직접 더해진다. Identity 경로가 Norm을 통과하는지의 차이다.
Pre-LN을 썼으니 / logit 폭주와 warm-up 문제가 모두 해결됐다고 할 수 있는가?
Answer
아니다. 해당 분석·실험 setting의 안정성 결과이며 projection 후 / 크기는 별도로 커질 수 있다.
Pre-LN에서 gradient의 직접 경로가 남는 이유를 식으로 설명할 수 있는가?
Answer
의 Jacobian에는 가 별도로 남는다. Post-LN의 는 identity 경로도 LN의 Jacobian을 통과한다. 이 차이가 인용된 initialization 분석의 gradient/warm-up 차이와 연결되며 모든 architecture의 warm-up 필요 여부를 정하는 법칙은 아니다.
Post-LN · Pre-LN를 축별로 비교하고 그 차이가 필요한 이유를 설명하세요.
Answer
Norm의 위치가 직접 identity 경로를 바꾼다.
식: Post-LN=LN(x+F(x)) / Pre-LN=x+F(LN(x))
Jacobian: Post-LN= / Pre-LN=
Identity 경로: Post-LN=J_LN을 통과 / Pre-LN=직접 I term
인용된 setting: Post-LN=Output 근처 init gradient가 큼; warm-up 도움 / Pre-LN=초기 gradient가 더 안정적; warm-up 없이 비교 결과
Stack 끝: Post-LN=Sublayer output 정규화 / Pre-LN=Final Norm을 흔히 추가
조건: 해당 분석 결과를 모든 architecture의 warm-up 필요 여부로 일반화하지 않는다.