머신 러닝에서 학습률(learning rate)은 손실 함수의 최솟값을 향해 이동하는 각 반복 단계에서의 스텝 크기를 결정하는 튜닝 파라미터이다. 이는 새로 획득한 정보가 기존 정보를 얼마나 덮어쓰는지에 영향을 미치며, 모델이 학습하는 속도를 은유적으로 나타낸다. 적응 제어 문헌에서 학습률은 종종 이득(gain)이라고 불린다. 학습률을 설정하는 것은 수렴 속도와 오버슈팅 사이의 균형을 수반한다. 학습률이 너무 높으면 모델이 최솟값을 뛰어넘을 수 있고, 너무 낮으면 수렴이 느려지거나 바람직하지 않은 지역 최솟값에 갇힐 수 있다. 이러한 문제를 해결하기 위해 학습률 스케줄과 적응형 방법이 일반적으로 사용되며, 워밍업 스텝은 심층 신경망 훈련에서 두각을 나타낸 특정 기법이다.
워밍업 스텝은 학습률이 매우 작은 값에서 목표 학습률로 증가하는 훈련 초기 단계를 의미한다. 이는 일반적으로 선형적으로 또는 사전 정의된 스텝 수나 에포크에 걸친 스케줄에 따라 수행된다. 그 목적은 훈련 시작 시 큰 업데이트를 방지하는 것으로, 이는 트랜스포머나 대규모 언어 모델과 같은 대규모 아키텍처에서 특히 모델을 불안정하게 만들 수 있다. 학습률을 점진적으로 높임으로써 모델은 더 보수적인 업데이트로 시작하여 본격적인 학습이 시작되기 전에 손실 지형에서 안정적인 영역을 찾을 수 있다.
워밍업 스텝의 개념은 학습률 스케줄과 밀접하게 관련되어 있다. 학습률 스케줄은 훈련 중, 종종 에포크나 반복 사이에서 감쇠(decay)와 모멘텀과 같은 파라미터를 사용하여 학습률을 변경한다. 일반적인 스케줄로는 시간 기반, 스텝 기반, 지수 감쇠가 있다. 예를 들어, 시간 기반 스케줄은 η_{n+1} = η_0 / (1 + d n)로 학습률을 업데이트하며, 여기서 η_0는 초기 학습률, d는 감쇠 파라미터, n은 반복 스텝이다. 스텝 기반 스케줄은 정기적인 간격으로 학습률을 일정 비율로 낮추고, 지수 스케줄은 감소하는 지수 함수를 사용한다. 워밍업 스텝은 종종 이러한 스케줄과 결합되며, 학습률이 워밍업 단계에서 먼저 증가한 후 감쇠 스케줄을 따른다.
딥 러닝에서의 중요성
워밍업 스텝은 특히 트랜스포머와 같은 아키텍처를 가진 심층 신경망 훈련에서 중요해졌다. OpenAI, Anthropic, Google DeepMind가 개발한 것과 같은 대규모 모델은 효과적으로 수렴하기 위해 세심한 학습률 관리가 필요한 경우가 많다. 워밍업이 없으면 초기의 큰 기울기가 모델을 발산하게 하거나 좋지 않은 지역 최솟값에 빠지게 할 수 있다. 워밍업은 모델이 데이터 분포에 점진적으로 적응할 수 있게 하여 불안정성의 위험을 줄인다.
경험적 연구에 따르면 워밍업 스텝은 최종 모델 성능과 훈련 속도를 향상시킬 수 있다. 예를 들어, 대규모 언어 모델 훈련에서 처음 수천 스텝 동안 선형 워밍업을 사용한 후 코사인 어닐링과 같은 감쇠 스케줄을 따르는 것이 일반적인 관행이다. 이 접근 방식은 AWS Trainium 및 Google Cloud와 같은 인프라에서 훈련된 모델을 포함한 많은 최첨단 모델에서 채택되었다.
워밍업 스케줄의 유형
워밍업 스텝을 구현하는 방법은 여러 가지가 있다. 가장 간단한 방법은 선형 워밍업으로, 학습률이 작은 초기 값(종종 0)에서 고정된 스텝 수에 걸쳐 목표 학습률로 선형적으로 증가한다. 또 다른 접근 방식은 지수 워밍업으로, 학습률이 지수적으로 증가하지만 덜 일반적이다. 일부 구현에서는 일정한 워밍업을 사용하는데, 학습률이 특정 스텝 수 동안 작은 값으로 유지된 후 목표 값으로 점프한다.
워밍업 스케줄의 선택은 모델 아키텍처와 최적화 알고리즘에 따라 달라질 수 있다. 예를 들어, Adam과 같은 적응형 최적화 도구로 훈련할 때 워밍업은 초기 반복에서 편향된 기울기 추정을 보상하기 위해 종종 사용된다. 워밍업 기간은 최적화 도구가 전체 업데이트를 적용하기 전에 충분한 통계를 축적할 수 있게 한다.
적응형 학습률과의 관계
Adagrad, Adadelta, RMSprop, Adam과 같은 적응형 학습률 방법은 과거 기울기를 기반으로 파라미터별 학습률을 조정한다. 이러한 방법은 Keras 및 PyTorch와 같은 딥 러닝 라이브러리에 내장되어 있다. 적응형 방법은 수동 튜닝의 필요성을 줄이지만 여전히 워밍업 스텝의 이점을 얻을 수 있다. 실제로 대규모 훈련에서 Adam의 많은 구현은 기본 설정으로 워밍업 단계를 포함한다. 워밍업은 적응형 학습률 추정의 분산을 안정화하여 더 신뢰할 수 있는 수렴을 이끈다.
실제 구현
실제로 워밍업 스텝은 학습률 스케줄러의 일부로 구현된다. 예를 들어, 널리 사용되는 Hugging Face Transformers 라이브러리에서 스케줄러는 워밍업 비율 또는 특정 워밍업 스텝 수로 구성될 수 있다. 스케줄러는 일반적으로 워밍업 기간 동안 학습률을 0에서 초기 학습률로 선형적으로 증가시킨 후 감쇠 스케줄을 적용한다. 이는 Transformer (architecture) 아키텍처를 기반으로 하는 BERT 및 GPT와 같은 모델 훈련에서 자주 사용된다.
일반적인 구성은 워밍업 스텝을 총 훈련 스텝의 작은 비율, 예를 들어 1%에서 10%로 설정할 수 있다. 예를 들어, 100,000 스텝으로 모델을 훈련할 때 1,000 스텝의 워밍업이 사용될 수 있다. 정확한 수는 모델 크기와 데이터 세트에 따라 달라진다. 더 큰 모델은 불안정성을 피하기 위해 더 긴 워밍업 기간이 필요한 경우가 많다.
연구 및 개발
워밍업 스텝은 머신 러닝 커뮤니티에서 연구 주제가 되어 왔다. 연구들은 최적의 워밍업 기간과 스케줄 유형을 조사했다. 일부 연구는 워밍업이 정규화의 한 형태로 작용하여 훈련 초기 단계에서 과적합을 방지한다고 제안한다. 다른 연구는 워밍업을 손실 지형의 곡률과 연결하는 이론적 기반을 탐구했다. 예를 들어, Li et al. (2019)의 논문은 워밍업이 큰 학습률로 훈련할 때 발생할 수 있는 급격한 최솟값을 피하는 데 도움이 된다고 제안했다.
대규모 언어 모델의 맥락에서 워밍업 스텝은 종종 기울기 클리핑 및 가중치 감쇠와 같은 다른 기법과 결합된다. 이러한 기법들은 함께 훈련을 안정화하고 일반화를 개선하는 데 도움이 된다. OpenAI 및 Anthropic과 같은 회사는 워밍업 스텝을 핵심 구성 요소로 포함하는 훈련 실행 세부 사항을 공개했다.
과제 및 고려 사항
워밍업 스텝은 유익하지만 워밍업 기간과 초기 학습률과 같은 추가 하이퍼파라미터를 도입한다. 이러한 값은 각 훈련 실행에 대해 튜닝되어야 하며, 이는 계산 비용이 많이 들 수 있다. 또한 최적의 워밍업 스케줄은 모델 아키텍처와 작업에 따라 다를 수 있다. 예를 들어, 이미지 분류로 훈련된 모델은 자연어 처리로 훈련된 모델과 다른 워밍업 설정이 필요할 수 있다.
또 다른 고려 사항은 워밍업과 배치 크기 간의 상호 작용이다. 큰 배치 크기를 사용할 때 기울기 추정이 더 정확하므로 워밍업의 필요성이 줄어들 수 있다. 그러나 실제로는 큰 배치에서도 워밍업이 안정성을 유지하는 데 도움이 되므로 여전히 일반적으로 사용된다.
미래 방향
머신 러닝 모델이 계속 커짐에 따라 워밍업 스텝은 훈련 도구 키트에서 필수적인 도구로 남아 있다. 연구자들은 하이퍼파라미터 최적화와 같은 기술을 사용하여 최적의 워밍업 스케줄을 결정하는 자동화된 방법을 탐구하고 있다. 또한 새로운 최적화 알고리즘은 워밍업을 내장 기능으로 통합하여 수동 구성의 필요성을 줄일 수 있다.
요약하면, 워밍업 스텝은 특히 대규모 모델에서 신경망 훈련의 중요한 초기 단계이다. 학습률을 점진적으로 증가시킴으로써 훈련을 안정화하고 수렴을 개선하며 궁극적으로 더 나은 모델 성능을 이끈다. Deep learning 분야가 발전함에 따라 워밍업 스텝은 다양한 영역에서 정교한 모델 훈련에 계속해서 중요한 역할을 할 것이다.