← 문제 목록/RMSNorm (LLaMA 방식) [medium]
문제 해설

RMSNorm (LLaMA 방식) [medium]

정규화 · medium

preview

RMSNorm [medium]

v1 LayerNorm 은 평균 뺀 후 std 로 나눔. RMSNorm (Zhang & Sennrich 2019) 은 평균 빼기 생략 — RMS 로만 정규화:

RMS(x)=1Djxj2\text{RMS}(x) = \sqrt{\frac{1}{D} \sum_j x_j^2}

yj=xjRMS(x)+ϵγjy_j = \frac{x_j}{\text{RMS}(x) + \epsilon} \cdot \gamma_j

LayerNorm vs RMSNorm

LayerNormRMSNorm
Mean centeringxμx - \mu없음
Scalevar+ϵ\sqrt{\text{var} + \epsilon}RMS\text{RMS}
Bias β\beta없음 (대부분 구현)
계산mean + var = 2 passRMS = 1 pass
속도기준~7% 빠름
성능표준동등/우수 (실험 기반)

현대 LLM

  • LLaMA, Mistral, GPT-J, T5: RMSNorm 채택.
  • BERT, GPT-2: LayerNorm.
  • 작은 효율 차이 × 수만 step × 큰 모델 → 유의미.

과제

함수 rms_norm(x, gamma, eps) 를 완성하세요.

  • x shape (N, D).
  • gamma shape (D,).
  • 반환: shape (N, D).
  • bias β 없음 (γ 만).
  • ϵ\epsilon\sqrt{\cdot} 내부가 아니라 외부 에 더함 (PyTorch T5 구현과 동일).

테스트 케이스

#이름검증
1shape 유지
2γ=1 → 각 행의 RMS = 1 근처 (mean 은 0 아님)
3수치 예제: x=[3, 4], γ=1 → RMS=5/√2, 출력 [3/5·√2, 4/5·√2]
4γ 스케일 효과
5LayerNorm 과 다름 (mean != 0 데이터)
6eps 안전: x=0 → NaN 없음
7상수 행에서 finite
코드 작성
Loading...
실행 결과

코드를 작성하고 Run 을 눌러보세요.