2026년 10월 31일 (토)

PINKSKY NEWS

매일의 기록을 뉴스처럼

테크

AI 하이퍼파라미터 50개, 훈련 스텝 500회, 검증된 그래디언트 스텝 한 번이 보지 못한 시드 5개 모두를 평균 27.8% 개선한다

원문 제목 — 50 AI hyperparameters, 500 training steps, one verified gradient step improved all 5 unseen seeds by 27.8% on average

📄 전문 번역

필자는 Catalyst 실험을 실행했으며 이번 결과가 Catalyst를 만든 이유에 훨씬 가까워졌다고 밝혔다. 결과부터 요약하면 AI 훈련 제어 변수 50개, AdamW 스텝 500회, 개발 시드 3개를 함께 차분화하고 끝까지 건드리지 않은 완전히 보지 못한 시드 5개를 남겨뒀다. Catalyst가 유도한 범위가 제한된 단일 업데이트 한 번으로 보지 못한 시드 5개 전부가 개선됐고 홀드아웃 평균 검증 손실은 27.8% 개선됐다. Catalyst는 5,050개의 편도함수를 독립적으로 검증했으며 차분화, 검증, 측정 재평가 전 과정에서 53,608,500회의 옵티마이저 스텝을 실행했다. Catalyst의 차분화와 검증에는 총 546.18초가 걸렸고 CPU 코어 하나만 사용했으며 GPU는 없었다. 하드웨어는 Intel i5-11400H와 16GB RAM이고 노트북의 RTX 3050 Ti는 Catalyst 연산에 쓰이지 않았다. 이 작업은 한 코어에서 Catalyst 인터프리터로 수행된 CPU 측 작업이었다. 필자가 진짜 중요하게 여기는 부분은 Catalyst가 하이퍼그래디언트를 계산할 수 있다는 사실 자체가 아니라, 대규모 훈련 결정 집합이 전체 훈련 과정 이후 최종 결과에 어떤 영향을 주는지 측정하고 그 측정값을 독립적으로 검증한 뒤 엔지니어링 결정에 활용할 수 있다는 점이라고 강조했다.

문제의식으로 필자는 AI 훈련에 학습률, 워밍업, Adam 베타, 가중치 감쇠, 클리핑, EMA, 드롭아웃, LoRA 파라미터, 손실 가중치, 정규화, 노이즈, 커리큘럼 설정 등 수많은 조절 장치가 있으며 보통 설정을 시도하고 훈련하고 결과를 보고 다시 시도하는 방식, 즉 설정 A→훈련→결과, 설정 B→훈련→결과의 반복으로 튜닝한다고 설명했다. 자동 튜닝은 과정을 더 체계적으로 만들지만 본질은 같다. 필자는 훈련 과정 자체가 제어 입력에 어떻게 반응하는지에 대한 지도를 원했고, 두 층에 랭크-2 LoRA 어댑터를 얹은 작은 사전훈련 네트워크를 만들어 전체 파인튜닝 과정을 하나의 컴파일된 Rust 함수로 합쳤다. 각 실행은 AdamW 옵티마이저 스텝 500회를 포함하며 함수는 학습률 스케줄 앵커, 워밍업, 코사인 스케줄 형태, 층별 학습률 스케일, LoRA 알파와 초기화, Adam 베타, 엡실론, 가중치 감쇠, 클리핑, EMA, 드롭아웃, 정규화 페널티, 그래디언트 노이즈, 입력 노이즈, 손실 가중치, 증류, 보조 손실 설정, 커리큘럼과 프리징 동작 등 50개의 연속형 훈련 정책 제어 변수를 노출한다.

필자는 운이 좋은 훈련 시드 하나만 차분화하지 않았다. 단일 확률적 훈련 궤적에서 얻은 그래디언트는 그 시드 고유의 특성을 일부 담게 된다는 사실을 이 실험의 첫 버전에서 배웠기 때문이다. 이번 목적 함수는 세 개의 완전한 훈련 실행을 동시에 담으며 Catalyst는 시드 0, 1, 2의 평균 검증 손실과 세 시드 간 분산의 10배를 차분화한다. 분산 항은 이 규모에서는 작고 주로 안정성 타이브레이커 역할을 한다. 시드 10, 11, 12, 13, 14는 최종 테스트 전까지 평가되지 않았다. 개념적으로 Catalyst는 50개 훈련 제어 변수를 시드 0, 1, 2 각각의 500 옵티마이저 스텝으로 이어 하나의 최종 훈련 목적 함수로 차분화하며, 모든 제어 변수에 대해 전체 훈련 과정 이후 그 설정을 바꿨을 때 최종 목적에 미치는 국소 효과를 알려준다.

Catalyst는 50개 제어 변수 모두의 민감도 지도를 만들어냈다. 이 동작 지점에서 가장 강한 제어 변수는 beta2(탄성 -5.52), ema_decay(+0.84), beta1(+0.57)이었다. 전체적으로 3개 제어 변수가 높은 민감도, 24개가 중간, 23개가 거의 0에 가까웠고 50개 중 17개가 전체 탄성의 90%를 차지했다. 필자는 아무것도 바꾸기 전에 이미 일반적인 최적 구성 탐색이 직접 알려주지 않는 정보, 즉 어떤 제어 변수가 국소적으로 중요한지, 어떤 방향으로 최종 결과를 밀어내는지, 그 효과가 다른 변수 대비 얼마나 강한지를 알 수 있었다고 밝혔다. 튜닝에 엔지니어링 시간을 쓸 수 있는 대상이 50개인데 그중 23개가 현재 동작 지점에서 결과에 거의 영향을 주지 않는다는 사실만으로도 가치 있는 정보라는 것이다.

검증이 가장 놓치기 쉬운 부분이다. Catalyst는 도함수를 계산한 뒤 그것이 맞다고 가정하지 않는다. 제어 변수 N=50에서 Catalyst는 2N+1=101개의 검증 지점, 즉 원점과 각 제어 변수를 약간 아래로 움직인 지점, 위로 움직인 지점을 사용한다. 모든 검증 지점에서 독립 검증기가 여러 스텝 크기의 중앙 차분으로 50개 편도함수를 추정하며, 이 실험에서 목적 함수 평가 한 번은 시드 3개 × 옵티마이저 스텝 500회 = 1,500 스텝의 실행을 의미한다. 측정된 전체 회계는 탄젠트 평가 5,050회, 프라이멀 값 101개, 검증기 평가 30,486회, 측정된 전후 평가 102회, 총 목적 함수 평가 35,739회, 완전한 500스텝 훈련 궤적 107,217개, 옵티마이저 스텝 53,608,500회였다. Catalyst는 차분화와 검증을 546.18초에 완료했고 이는 GPU 가속 없이 Intel i5-11400H 노트북 CPU 한 코어에서 이뤄졌으며 101개 검증 지점 전부(101/101)가 통과했다.

💬 주요 댓글 번역 (2)

1 익명

정말 굉장하다. CPU 하나만으로 Catalyst를 한계까지 밀어붙인 것 같다. 대부분의 사람들이 무거운 작업에는 GPU를 크게 의존하는데 이 성능이 GPU 기반 실행과 비교하면 어느 정도인지 궁금하다. CPU 전용 시나리오에서 큰 차이를 만든 특별한 튜닝이나 설정을 발견한 적이 있는가?

2 익명

둘을 비교하는 벤치마크는 아직 돌려보지 않았지만 현재 작업 중인 새 빌드에서 테스트해볼 가치가 있는 주제다. Catalyst는 아니지만 제대로 작동하려면 Catalyst의 일부 측면이 필요했다.

🔍 루키 분석

Catalyst 자동 미분 도구로 AI 훈련 하이퍼파라미터 50개의 하이퍼그래디언트를 계산하고 독립 검증까지 수행한 실험 사례다. GPU 없이 Intel i5-11400H CPU 한 코어와 16GB RAM만으로 5,050개 편도함수 검증과 약 5,361만 회의 옵티마이저 스텝 실행을 546.18초에 완료했으며, 보지 못한 시드 5개 모두에서 평균 27.8%의 홀드아웃 검증 손실 개선을 기록했다. 노트북에 탑재된 RTX 3050 Ti는 이 연산에 사용되지 않았다는 점에서 순수 CPU 연산만으로 대규모 차분화 작업을 처리한 하드웨어 사례로 주목된다.

— 루키 · glm-5.3-flash:cloud