Adam과 적응형 최적화 프로그램
Adam은 대부분의 최신 신경망을 뒷받침하는 주력 최적화 프로그램으로, 모든 매개변수에 대해 별도의 학습 속도를 자동으로 조정합니다.
개요
It matters because it makes training deep models faster and far less finicky than plain gradient descent.
심층 분석
2014년 Kingma와 Ba가 소개한 Adam(Adaptive Moment Estimation)은 두 가지 아이디어를 결합합니다. 첫째, 추진력: 과거 기울기(첫 번째 순간)의 기하급수적으로 감소하는 평균을 유지하므로 일관된 방향으로 빌드 속도를 업데이트합니다. 둘째, 매개변수별 스케일링: 평균 제곱 기울기(두 번째 순간)를 추적하고 각 단계를 해당 값의 제곱근으로 나눕니다. 따라서 크고 노이즈가 있는 기울기가 있는 매개변수는 더 작은 단계를 수행하고 거의 업데이트되지 않는 매개변수는 더 큰 단계를 수행합니다. 이러한 적응성은 전체 네트워크에서 하나의 학습률을 자주 사용할 수 있음을 의미합니다. 변형인 AdamW는 그라디언트 업데이트에서 가중치 감소를 분리하고 대규모 변환기 및 언어 모델을 훈련하기 위한 기본값이 되었습니다.
기술적 통찰력
Adam은 매개변수당 두 개의 실행 평균(m(그라디언트) 및 v(제곱 그래디언트))을 유지하며 붕괴율 beta1(일반적으로 0.9) 및 beta2(일반적으로 0.999)로 업데이트됩니다. 둘 다 0에서 시작하므로 (1 - beta^t)로 나누어 편향이 수정됩니다. 업데이트는 theta = theta - lr * m_hat / (sqrt(v_hat) + epsilon)입니다. 여기서 엡실론(약 1e-8)은 0으로 나누는 것을 방지합니다. 이것이 Adam이 일반 SGD에 비해 학습 속도 조정이 거의 필요하지 않은 이유입니다.
전략적 영향
비용 및 예산
아키텍처 결정은 수년 동안 성능과 운영 비용을 결정합니다.
더 명확한 결정들
기술 교육은 팀이 최신 스택뿐만 아니라 올바른 스택을 선택하는 데 도움이 됩니다.
품질 관리
더 나은 엔지니어링 선택은 생산 시 신뢰성 사고를 줄입니다.
Adam과 적응형 최적화 프로그램의 미래
Adam과 AdamW는 여전히 지배적이지만, 연구에서는 무게당 2개의 추가 값을 저장하는 데 비용이 많이 드는 1조 매개변수 모델의 효율성을 높이고 있습니다. Adafactor, 8비트 Adam과 같은 메모리 경량 변형과 Lion(부호 기반 모멘텀만 사용) 및 Sophia와 같은 최신 최적화 프로그램은 더 적은 메모리 또는 더 빠른 수렴으로 Adam의 품질을 맞추는 것을 목표로 합니다. 분산된 저정밀도 훈련을 위해 특별히 조정된 적응형 최적화 프로그램이 지속적으로 발전할 것으로 기대됩니다.
실제 구현
AdamW를 표준 최적화 프로그램으로 사용하는 GPT 및 Llama와 같은 대규모 언어 모델을 교육합니다.
기본 Adam 학습률만 사용하여 사용자 정의 데이터 세트에서 사전 훈련된 이미지 분류기(예: ResNet)를 미세 조정합니다.
Stable Diffusion과 같은 이미지 생성기 뒤에 있는 확산 모델을 교육합니다.
제한된 GPU 메모리에 최적화 상태를 맞추기 위해 bitandbytes와 같은 라이브러리에서 8비트 Adam을 실행합니다.
위험 및 가드레일
하나의 벤치마크를 최적화하면 더 광범위한 시스템 약점을 숨길 수 있습니다.
인프라 및 유지 관리 비용은 종종 과소평가됩니다.
시스템이 더욱 복잡해짐에 따라 보안 및 관찰 가능성의 격차가 커질 수 있습니다.
구현 로드맵
구현하기 전에 지연 시간, 품질, 비용 목표를 정의하세요.
현실적인 로드 및 데이터 조건에서 벤치마킹합니다.
오류, 드리프트 및 사용자 영향에 대한 계측기 모니터링.
확장하기 전에 롤백 및 사고 대응 경로를 준비하세요.
계속 탐색하세요
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Adam and Adaptive Optimizers quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
다음 가이드
ZeRO 및 샤디드 옵티마이저
자주 묻는 질문
What is Adam and Adaptive Optimizers?
Adam은 대부분의 최신 신경망을 뒷받침하는 주력 최적화 프로그램으로, 모든 매개변수에 대해 별도의 학습 속도를 자동으로 조정합니다. 이는 일반 경사하강법보다 심층 모델을 더 빠르고 덜 까다롭게 훈련할 수 있기 때문에 중요합니다.
Adam이 각 매개변수에 대해 추적하는 두 가지 수량은 무엇입니까?
Adam은 모든 매개변수에 대해 기울기(첫 번째 순간)와 제곱 기울기(두 번째 순간)의 기하급수적으로 감소하는 평균을 유지합니다.
Adam이 모멘트 추정치에 편향 보정을 적용하는 이유는 무엇입니까?
m과 v는 모두 0으로 초기화되므로 초기 추정치는 낮게 편향됩니다. (1 - beta^t)로 나누면 이 문제가 해결됩니다.
Adam과 AdamW의 주요 차이점은 무엇입니까?
AdamW는 가중치 감소를 적응형 그래디언트 항에 혼합하는 대신 가중치에 직접 적용하여 변환기의 일반화를 향상시킵니다.
Adam의 업데이트 규칙에서 작은 엡실론 항은 어떤 역할을 합니까?
엡실론(약 1e-8)이 분모에 추가되어 평균 제곱 기울기가 0에 가까운 매개변수가 폭발을 일으키지 않습니다.
아담이 종종 '적응형'으로 묘사되는 이유는 무엇입니까?
각 매개변수의 제곱 기울기 평균을 제곱근으로 나누어 Adam은 하나의 전역 값을 사용하는 대신 매개변수당 단계 크기를 조정합니다.