← 문제 목록/Inverse Square Root LR Schedule
문제 해설

Inverse Square Root LR Schedule

최적화 · easy

preview

Inverse Square Root LR Schedule

77번 Linear Warmup 은 warmup 이후 상수 유지. "Attention Is All You Need" (Vaswani et al. 2017) 는 여기에 역제곱근 감쇠 를 이어 붙입니다:

ηt=ηmax{tWtW(linear warmup)Wtt>W(inverse sqrt decay)\eta_t = \eta_{\max} \cdot \begin{cases} \dfrac{t}{W} & t \le W \quad \text{(linear warmup)} \\[4pt] \sqrt{\dfrac{W}{t}} & t > W \quad \text{(inverse sqrt decay)} \end{cases}

t=Wt = W 에서 두 구간이 정확히 ηmax\eta_{\max}연속.

Cosine vs Inverse sqrt

스케줄꼬리 모양전체 길이 T 필요?
Cosine빠르게 → 0예 (T 지정)
Inverse sqrt느리게 → 0 (never reaches 0)아니오 — 무한

Inverse sqrt 는 학습을 언제 멈출지 모를 때 유용. 오래 학습해도 lr 이 살아있음 (느리지만).

역사

  • Transformer 원 논문의 공식.
  • fairseq 의 기본 스케줄러.
  • 요즘 LLM 은 cosine 을 더 선호하지만, inverse sqrt 는 여전히 warmup + 무한 학습 세팅에 쓰임.

과제

함수 inverse_sqrt_lr(t, warmup_steps, lr_max) 를 완성하세요.

  • 입력: 스칼라/배열 t, 양수 warmup_steps, 스칼라 lr_max.
  • 반환: 같은 shape. t <= 00, t <= W → linear warmup, t > WηmaxW/t\eta_{\max} \sqrt{W/t}.

테스트 케이스

#이름검증
1t=0 → 0
2t=W → lr_max연속성
3t=4W → lr_max/21/√4 = 0.5
4단조 감소 (t > W)
50 으로 수렴하지만 finite t 에선 > 0
6벡터 입력
코드 작성
Loading...
실행 결과

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