ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • (7주차) 복기
    3-Month Break 2025. 10. 20. 14:03
    반응형

     

    처음에 UI가 전반적으로 색상이 바뀌길래 대체 뭐지 싶었는데 러닝레벨? 그냥 마일리지 채워서 UI 색이 바뀐거였다.
    일종의 동기 부여 목적의 요소 같은데 별 감흥은 없는듯 하다. (애초에 뒷 레벨들 마일리지를 보니 지금 같은 수준의 건강?운동으로의 러닝을 해서는 뭐 15년을 뛰어도 만렙?은 안될것 같다 ㅋ

    애초에 나 같은 그냥 어디 아프지나 말자 차원의 운동하는 사람이 아니라 마라톤 준비하는 그런 러너들을 위한 앱인것 같은 피쳐.

    그나저나 지난 일요일을 기점으로 날이 확 추워지면서 오전엔 10도 아래로까지 내려가고 밖에서 뛰는게 좋긴 한데 한 15분 넘게 뛰니 코랑 귀가 시려운게 땀흘리고 감기 걸리기 딱좋은 날씨인게 헬스장 끊고 지겨워도 노래 들으면서 실내에서 뛰어야할 계절인듯 하다.

    독감 예방도 맞아야하는 시즌인데 회사를 쉬고 있으니 맞으라고 알려주는 사람도 없네 ㅎㅎ


    기존에 테스트 해본 다양한 접근방식들을 모아놓고, 검증된, 잘 동작하는 optimizer들과 테스트 해본 방법들 중 잘 안되는 optimizer들의 공통점을 비교해봤다.

    우선 Adam, Lion, SinkGD 을 기준으로 하고, (어차피 그 외의 것들은 여기서 크게 다른 개념이 아니라 조금씩 특수한 최적화 또는 approximation 등을 한것 뿐이니 패스..) 잘 동작하는 optimizer들은 모두 모델 파라미터 자체의 특성을 활용한 경우이다. 즉, loss function과 달리, gradient descent 방향과 크기를 결정하는것에는 어떠한 가정이 들어가지 않았으며, 그저 파라미터의 변동성, 이동 통계 등을 활용하여, 학습시 노이즈가 될수 있는것을 배제하고 확실한 신호를 추종 하는것이 기본 개념이다.

    내가 테스트 하면서 잘 안되거나 문제가 있었던, 가령 grad norm이 커진다거나, loss가 내려가면서 많이 튄다거나, 학습이 초반에 엄청 빠르게 되다가 급격히 local minima에 수렴해버렸다거나 등, optimizer들 역시 공통점이 있었다. 바로 모델 파라미터 외적으로 내가 세운 어떤 가정을 기반으로 식이 구성되었다는 점이다. 

    • Semantic 가정의 실패: 예를 들어 vocab frequency 기반의 어떤 adaptiveness를 적용시 dimension wise variance가 너무 높아지는 문제
    • Embedding 레이어 자체가 low rank가 아니라서 factorizing 할 경우 성능이 확 나빠지는 점
    • 문제는 딱히 없지만, 메모리를 전혀 안쓰는 (100% stateless) optimizer만 못한 성능

    따라서 내가 내린 잠정적인 결론은, factorizing은 하지 말고, (LoRA 때문에 요즘 다들 일단 low rank projection들을 해보는데) 사실 어떤 특수한 원래 그 자체가 low rank 인 행렬을 projection했을때 성능 손실이 거의 없게 연산량을 줄이는것이지, 이게 항상 먹히는건 아닌데 그냥 냅다 low rank projection 박아봤더니 역시 안됨.

    Fused adaptation 도 잘 안되니 패스. Gradient의 방향과 크기를 각각 다른 방법으로 계산하고 합치는 방식으로 optimizer의 상태를 저장하지 않도록 메모리는 줄였지만, 이게 마치 서로 다른 두가지 loss를 임의로 합산만 하면, 서로 다른 objective를 향해 따로 가면서 global minima를 찾지 못하고 local minima에서 학습이 일찍 끝나 버리는 주 원인으로 보임.

    일주일 삽질 끝에 한 20여가지 방법들을 새롭게 테스트를 해보고 얻은 결과로 sign adaptive regulation이라는 방법을 고안했고, 일단 2500 step 까진 학습이 잘 되는듯 해서 H200에 0.6B, 1.7B, 4B 모델 테스트 학습을 돌렸다. 학습은 대략 3-4일 정도 걸릴것으로 보이고, 기존에 비교군으로 학습 한 것들은 그냥 그대로 쓰면 되니 새 알고리즘만 테스트 해보면 될듯 하다.

    실험 돌아가는 동안 이제 또 드래프트 작성을 좀 미리 해둬야지.
    (비나이다 비나이다)

     

     

    반응형

    '3-Month Break' 카테고리의 다른 글

    (9주차) 복기  (0) 2025.11.05
    (8주차) 복기  (0) 2025.10.28
    (추석 & 6주차) 복기  (0) 2025.10.13
    9월 체크포인트  (0) 2025.10.05
    (3 & 4 주차) 복기  (0) 2025.09.29

    댓글

Designed by naubull2.