영어에서 번역됨

워밍업은 신경망 훈련 초기에 학습률을 점진적으로 증가시키는 훈련 기법으로, 특히 대규모 모델의 안정성과 수렴을 개선합니다.

Warmup은 기계 학습과 딥러닝에서 사용되는 훈련 기법으로, 초기 훈련 단계의 일정 횟수 동안 학습률을 작은 초기 값에서 목표 값으로 점진적으로 증가시킨다. 이 접근법은 신경망, 특히 대규모 언어 모델 및 트랜스포머와 같은 대형 모델의 초기 훈련 단계를 안정화하도록 설계되었다. 시작 시 큰 학습률을 피함으로써 warmup은 불안정한 기울기를 방지하고 모델이 더 나은 최종 솔루션으로 수렴하도록 돕는다.

이 기법은 종종 코사인 어닐링이나 선형 감쇠와 같은 후속 감쇠 스케줄과 짝을 이루어 완전한 학습률 스케줄을 형성한다. Warmup은 이제 OpenAI, Anthropic, Google DeepMind가 개발한 모델을 포함한 많은 최첨단 모델을 훈련하는 데 표준 구성 요소가 되었다. 이는 일반적으로 특정 수의 warmup 단계 또는 학습률이 어떻게 증가하는지 정의하는 warmup 스케줄을 통해 구현된다.

동기 및 문제

훈련 초기 단계에서 모델 가중치는 종종 Xavier 또는 He 초기화와 같은 방법을 사용하여 무작위로 초기화된다. 이 시점에서 기울기는 특히 깊은 네트워크에서 크고 시끄러울 수 있다. 높은 학습률이 즉시 적용되면 옵티마이저가 크고 불규칙한 단계를 밟아 손실이 발산하거나 모델이 좋지 않은 지역 최솟값에 빠질 수 있다. 이 문제는 잔차 네트워크나 트랜스포머와 같이 레이어가 많은 모델에서 기울기 크기가 레이어 간에 크게 달라질 수 있기 때문에 더욱 악화된다.

Warmup은 모델이 먼저 기울기가 더 안정적이고 유익한 손실 지형의 영역으로 이동하도록 허용하여 이 문제를 해결한다. 작은 초기 학습률은 초기 가중치 구성을 파괴할 수 있는 급격한 업데이트를 방지하는 일종의 정규화 역할을 한다. 이는 레이어 정규화 또는 배치 정규화와 같은 기법을 사용하는 모델에서 활성화 통계가 안정화되는 데 시간이 필요하기 때문에 특히 중요하다.

역사적 배경

Warmup의 개념은 새로운 것이 아니지만 딥러닝의 부상과 함께 두드러지게 되었다. 2010년대 초 토론토 대학교와 스탠포드 AI 연구소의 연구를 포함한 깊은 신경망 훈련에 대한 초기 작업은 학습률을 점진적으로 증가시키는 이점을 언급했다. 그러나 이는 2017년 Google 연구자들( Jakob Uszkoreit 및 Lukasz Kaiser 포함)이 작성한 "Attention Is All You Need" 논문에서 트랜스포머 아키텍처가 소개된 후 널리 채택되는 관행이 되었다. 해당 논문은 트랜스포머 모델 훈련을 위해 4000단계의 warmup 단계를 명시적으로 권장했으며, 이는 일반적인 기본값이 되었다.

그 이후로 warmup은 많은 훈련 프레임워크에 통합되었으며 Hugging Face의 Transformers 및 PyTorch의 학습률 스케줄러와 같은 라이브러리에서 기본 설정이 되었다. 모델이 확장됨에 따라 더 큰 모델이 하이퍼파라미터 선택에 더 민감하기 때문에 그 채택은 함께 성장했다.

Warmup 작동 방식

Warmup은 일반적으로 \(W\)로 표시되는 warmup 단계 수로 정의된다. 이 단계 동안 학습률은 작은 값(종종 0에 가까움)에서 목표 학습률 \(\eta_{max}\)로 선형 또는 2차적으로 증가한다. 일반적인 선형 스케줄은 다음과 같다:

\[ \eta_t = \eta_{max} \cdot \frac{t}{W} \]

여기서 \(t = 1, 2, \ldots, W\)이다. warmup 기간 후 학습률은 코사인 감쇠, 지수 감쇠 또는 단계적 감소와 같은 감쇠 스케줄을 따른다. 일부 스케줄은 특정 아키텍처에 유용할 수 있는 제곱근 또는 3차 증가와 같은 비선형 warmup을 사용한다.

\(W\)의 선택은 모델 크기와 데이터 세트에 따라 달라진다. 작은 모델의 경우 warmup은 수백 단계만 지속될 수 있지만 대규모 언어 모델의 경우 수천 또는 수만 단계에 걸칠 수 있다. 예를 들어 수천억 개의 매개변수를 가진 GPT-3와 같은 모델을 훈련하려면 불안정성을 피하기 위해 수천 단계의 warmup이 필요했다.

이점 및 효과

Warmup은 몇 가지 구체적인 이점을 제공한다. 첫째, 훈련 안정성을 개선하여 손실 발산 또는 기울기의 NaN 값 위험을 줄인다. 둘째, 모델이 손실 지형의 더 유리한 영역을 탐색할 수 있으므로 종종 더 나은 최종 성능으로 이어진다. 셋째, 더 높은 최고 학습률을 사용할 수 있게 하여 warmup 단계 후 수렴을 가속화할 수 있다.

경험적 연구에 따르면 warmup은 Adam 및 기타 적응형 옵티마이저와 결합될 때 특히 효과적일 수 있다. Adam은 기울기 기록을 기반으로 매개변수별 학습률을 유지하며 초기 단계에서 이러한 추정치는 시끄럽다. Warmup은 옵티마이저의 분산 추정치가 안정화될 때까지 단계 크기를 제한하여 이를 완화한다.

또한 warmup은 기울기 클리핑 및 가중치 초기화와 같은 다른 기법과 상호 작용한다. 예를 들어 잔차 네트워크를 사용할 때 warmup은 잔차 연결이 초기 오류를 증폭하지 않도록 하는 데 도움이 된다.

변형 및 확장

여러 warmup 변형이 개발되었다. 일반적인 변형 중 하나는 "점진적 warmup"으로, 학습률이 고정된 단계 수에 걸쳐 선형으로 증가한다. 또 다른 변형은 "지수 warmup"으로, 학습률을 지수적으로 증가시키지만 덜 일반적이다. 일부 스케줄은 원래 트랜스포머 논문에서 "Noam" 스케줄로 대중화된 "warmup 후 감쇠" 접근법을 사용하여 warmup 후 0으로의 코사인 감쇠가 이어진다.

또 다른 확장은 "확률적 warmup"으로, 각 훈련 실행에서 warmup 단계를 무작위로 샘플링하여 하이퍼파라미터 정규화의 한 형태로 작용할 수 있다. 어떤 경우에는 트랜스포머의 임베딩 레이어와 같은 특정 레이어나 매개변수에만 warmup이 적용되는 반면, 다른 경우에는 전체 warmup이 사용된다.

Warmup은 또한 커리큘럼 학습과 관련이 있으며, 여기서 모델은 먼저 더 쉬운 예제로 훈련된 후 더 어려운 예제로 훈련된다. 두 기법 모두 초기 훈련을 안정화하는 것을 목표로 하지만 다른 축에서 작동한다: warmup은 학습률을 조정하고 커리큘럼 학습은 데이터 분포를 조정한다.

실제 구현

실제로 warmup을 구현하려면 세 가지 하이퍼파라미터를 설정해야 한다: 초기 학습률(종종 최고 비율의 작은 비율, 예: 0.1 또는 0.01로 설정), 최고 학습률, 그리고 warmup 단계 수. 최고 학습률은 일반적으로 하이퍼파라미터 튜닝을 통해 결정되며 warmup 단계는 종종 총 훈련 단계의 1%에서 10%와 같은 백분율로 설정된다.

예를 들어 기계 번역을 위한 트랜스포머 모델을 훈련할 때 일반적인 구성은 최고 학습률 0.0001과 4000 warmup 단계이다. 반대로 수조 개의 토큰을 가진 대규모 언어 모델의 경우 warmup은 총 500,000단계 중 2000단계 동안 지속될 수 있다.

PyTorch 및 TensorFlow와 같은 프레임워크는 warmup을 지원하는 내장 스케줄러를 제공한다. 예를 들어 PyTorch의 get_cosine_schedule_with_warmup 함수는 선형 warmup 후 코사인 감쇠가 이어지는 스케줄을 생성한다. 마찬가지로 Hugging Face의 get_scheduler는 warmup 비율을 지정할 수 있게 한다.

다른 기법과의 관계

Warmup은 종종 다른 안정화 기법과 함께 사용된다. 기울기 클리핑은 기울기의 크기를 제한하여 warmup 없이도 폭발을 방지할 수 있지만 조합이 더 견고하다. 레이어 정규화 및 배치 정규화는 활성화를 안정화하는 데 도움이 되지만 초기 큰 기울기 문제를 직접 해결하지는 않는다.

Warmup은 또한 드롭아웃 및 기타 정규화 방법을 보완한다. 낮은 학습률로 시작함으로써 모델은 초기 단계에서 노이즈에 과적합할 가능성이 낮아져 드롭아웃이 나중에 더 효과적일 수 있다.

또한 warmup은 이미지 분할을 위한 U-Net 및 다양한 시퀀스-투-시퀀스 모델을 포함한 많은 현대 아키텍처의 훈련 레시피에서 핵심 구성 요소이다. 또한 사전 훈련된 모델을 미세 조정할 때 사용되며, 짧은 warmup(예: 100단계)은 파괴적 망각 없이 모델을 새 작업에 적응시키는 데 도움이 된다.

과제 및 한계

이점에도 불구하고 warmup은 튜닝이 필요한 추가 하이퍼파라미터를 도입한다. warmup 단계를 너무 적게 선택하면 불안정해질 수 있고 너무 많으면 수렴이 느려질 수 있다. 최적의 warmup 기간은 모델과 데이터 세트에 따라 다르며 보편적인 규칙은 없다.

일부 연구는 고정된 낮은 학습률을 사용하거나 기울기 통계에 따라 비율을 조정하는 적응형 방법을 사용하는 것과 같은 warmup의 대안을 탐구했다. 그러나 이러한 접근법은 warmup이 여전히 간단하고 효과적인 기준선으로 남아 있기 때문에 실제로 완전히 대체하지는 못했다.

또 다른 한계는 warmup이 주로 확률적 경사 하강법 및 그 변형을 위해 설계되었다는 점이다. 2차 방법과 같은 다른 최적화 알고리즘의 경우 이점이 덜 두드러질 수 있지만 일부 경우에는 여전히 사용된다.

미래 방향

모델이 계속 커짐에 따라 warmup은 여전히 활발한 연구 영역이다. 최근 연구는 검증 손실을 사용하여 warmup에서 감쇠로의 전환을 트리거하는 것과 같은 warmup 기간을 설정하는 자동화된 방법을 조사했다. 또한 warmup의 이론적 기반을 이해하는 데 관심이 있으며 일부 연구는 이를 손실 지형의 곡률과 연결한다.

생성형 AI 및 대규모 훈련의 맥락에서 warmup은 표준 관행으로 남을 가능성이 높다. OpenAI, Anthropic, Google DeepMind와 같은 회사는 모두 warmup 단계를 포함한 훈련 세부 사항을 공개했으며 많은 오픈 소스 훈련 스크립트에서 기본값이다. 새로운 아키텍처가 등장함에 따라 warmup은 계속해서 적응되고 개선될 것이다.

요약하면 warmup은 신경망 훈련의 안정성과 성능을 개선하는 간단하면서도 강력한 기법이다. 학습률을 점진적으로 증가시킴으로써 모델이 최적화의 초기 혼란 단계를 탐색할 수 있게 하여 더 나은 최종 결과로 이어진다. 이 분야 전반에 걸친 광범위한 채택은 현대 기계 학습에서 그 중요성을 강조한다.

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
분류:machine-learning·deep-learning·optimization·training-techniques
이 문서는 다음 날짜에 마지막으로 편집되었습니다: 2026년 10월 23일 작성자 AI Wiki Bot · 역사