■ 왜 이 연구가 중요한가
거의 모든 딥러닝, 특히 대형 언어모델 학습에는 예외 없이 Adam이라는 옵티마이저가 쓰인다. GPT류 모델부터 여러분이 아는 대부분의 LLM까지, 학습 코드 한 줄에는 거의 항상 torch.optim.Adam이 들어가 있다. 그런데 재미있게도, Adam이 왜 이렇게까지 잘 작동하는지는 십여 년째 명확히 설명되지 않았다. 이번 NeurIPS 2025 오럴 논문 In Search of Adam's Secret Sauce는 이 오래된 질문에 정면으로 도전한다. 저자인 Antonio Orvieto와 Robert Gower는 무려 1,300개가 넘는 언어모델을 직접 학습시키며 Adam의 각 구성 요소를 하나씩 해부했다. 약 1만 GPU시간, A100 80GB 기준으로 계산하면 개인이 흉내내기 힘든 규모의 실험이다. 그 결과 그들은 Adam의 핵심이 생각보다 단순한 통계적 원리에 있다는 것을 밝혀냈다.
■ 핵심 아이디어
Adam은 보통 두 개의 모멘텀 계수 베타1(그래디언트의 평균을 추적)과 베타2(그래디언트 제곱의 평균, 즉 분산을 추적)를 따로 튜닝한다. 딥러닝 튜토리얼마다 베타1=0.9, 베타2=0.999라는 기본값을 당연하게 받아들이지만, 저자들은 과감하게 질문을 던진다. 정말 이 두 값이 따로 놀아야 할까? 놀랍게도 답은 아니오였다. 베타1과 베타2를 아예 같은 값(베타1=베타2)으로 강제로 묶어도 성능은 거의 그대로 유지됐다. 오히려 이 제약 덕분에 Adam의 업데이트 식을 깔끔하게 재정리할 수 있게 되는데, 그 결과 Adam은 그래디언트의 평균과 분산을 온라인으로 추정하는 가우시안 변분추론(mean-field Gaussian variational inference) 알고리즘과 수학적으로 동일하다는 사실이 드러났다. 즉 Adam은 매 스텝마다 현재 그래디언트가 어느 방향으로 향하는지에 대한 불확실성을 함께 추정하면서, 그 불확실성(노이즈 대 신호 비율)이 클수록 업데이트 폭을 스스로 줄이는 적응형 부호(sign) 하강법이었던 셈이다. 논문은 이를 업데이트 방향이 sign(m)을 1/√(1+분산/평균²)이라는 신뢰구간 계수로 눌러주는 형태로 정리해 보여준다.

■ 어떻게 검증했나
이 통찰이 그냥 수학적 유희에 그치지 않는다는 걸 보이기 위해, 저자들은 방대한 실증 실험을 진행했다. 1.6억 파라미터 규모의 트랜스포머를 SlimPajama-627B 데이터셋에서 Chinchilla 최적 비율에 맞춰 32억 토큰으로 학습시키는 실험을 기본 세팅으로 삼고, 학습률과 베타 값을 촘촘한 그리드로 바꿔가며 총 475회의 사전학습을 반복했다. 여기에 Adam뿐 아니라 AdamW(200회), Signum(70회), 클리핑을 적용한 SGD(131회), RMSprop(48회), SignSGD 모멘텀(35회) 등 경쟁 옵티마이저들도 똑같은 조건에서 비교했다. 결과는 명확했다. 검증 퍼플렉시티 기준으로 Adam이 21.86, 가장 근접한 경쟁자인 Signum이 23.23, RMSprop 27.04, 클리핑 SGD 33.40, SignSGD 36.78, 순수 SGD는 무려 53.62까지 벌어졌다. 흥미롭게도 부호(sign) 기반 모멘텀 방법들은 SGD와 Adam 사이 퍼플렉시티 격차의 96%를 메울 만큼 선전했지만, 같은 성능에 도달하는 데 실제 학습 시간이 25% 더 걸려서 실용성에서는 여전히 Adam에 못 미쳤다. 이후 베타1=베타2 제약이 배치 크기(128, 256, 512), 시퀀스 길이(512, 2048), 데이터셋(Fineweb 포함) 조건을 바꿔가며 500개 넘는 모델에서도 유지되는지 재확인했고, 4.1억 파라미터로 스케일을 키운 44회 실험에서도 같은 결론이 재현됐다.

■ 결과와 의미
논문은 여기서 그치지 않고 흔히 Adam 성능의 비밀로 지목되던 다른 요소들도 하나씩 소거법으로 검증했다. 엡실론 값을 1e-15부터 1e-3까지 극단적으로 바꿔도 퍼플렉시티는 21.56에서 21.91 사이에서만 움직여 거의 영향이 없었고, 바이어스 보정(bias correction)을 꺼도 21.89 대 21.86으로 차이가 미미했다. 반면 모멘텀을 0이 아닌 첫 그래디언트로 초기화하는 방식은 오히려 성능을 22.58까지 떨어뜨렸다. 즉 그동안 여러 논문과 블로그에서 언급되던 자잘한 트릭들은 진짜 핵심이 아니었고, 진짜 핵심은 평균과 분산을 같은 속도로 함께 추정한다는 통계적 구조 그 자체였다는 것이다. 저자들은 9차원의 이질적인 이차식 장난감 문제로도 이 적응형 분산 보정이 왜 트랜스포머처럼 파라미터 그룹마다 곡률이 다른 상황에서 중요한지 보여준다. 실용적 결론은 명쾌하다. Adam을 사실상 베타 하나짜리 원-파라미터 옵티마이저로 단순화해서 다뤄도 되고, 베타는 대략 0.95 근방이 무난한 기본값이라는 것이다. 화려한 트릭보다 평균-분산을 함께 추적하는 단순한 통계적 원리가 Adam의 진짜 비밀 소스였다는 결론은, 다음 세대 옵티마이저를 설계할 때도 좋은 나침반이 되어줄 만하다.
댓글