facebookresearch/schedule_free

Schedule-Free Optimization in PyTorch

해결하는 문제

딥러닝 모델을 훈련할 때 일반적으로 정교하게 조정된 학습률 스케줄(예: 코사인 감소 또는 선형 감소)과 사전 정의된 정지 시간이 필요합니다. 이 프로젝트는 이러한 스케줄이 필요 없도록 해주며, 총 스텝 수를 미리 알지 못해도 빠른 훈련이 가능하게 합니다.

작동 방식

스케줄 프리 학습은 표준 최적화기의 모멘텀을 보간과 평균화의 조합으로 대체합니다. 세 가지 서로 다른 시퀀스를 유지합니다: 그래디언트 평가용 ($y$), 주 반복값 ($z$), 테스트/검증 손실 평가용 ($x$). 이 세 시퀀스를 균형 있게 조절함으로써 초기 수렴 속도를 빠르게 하면서도 안정성을 유지하며, 감소하는 학습률이 필요 없이 최첨단 스케줄과 동등하거나 그 이상의 성능을 달성합니다.

대상 사용자

PyTorch(또는 Optax를 통한 Jax)를 사용하여 학습률 스케줄 조정의 부담을 줄이고, 고정된 훈련 기간의 제약에서 벗어나고 싶은 머신러닝 실무자 및 연구자.

주요 특징

  • 다양한 구현: SGD, AdamW, RAdam의 스케줄 프리 버전 포함.
  • 유연한 통합: 어떤 기본 최적화기에도 적용 가능한 ScheduleFreeWrapper 제공.
  • 메모리 효율성: 기본 최적화기와 동일한 메모리 요구사항(파라미터 버퍼 + 모멘텀) 유지.
  • PyTorch 전용 코드: 최적화기 스텝 클로저와 호환되는 버전을 포함한 사용하기 쉬운 PyTorch 구현 제공.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트