Ax 고급 활용 (튜토리얼·스케줄러)
Ax 고급 활용 (튜토리얼·스케줄러)
Ax를 넘겨받아 쓸 때는 Loop·Service·Developer 세 가지 API의 차이를 이해하고, 더 나아가 Scheduler로 실험을 자동으로 돌리는 방법을 알면 유용해요. 각 API의 튜토리얼이 준비돼 있어요.
출처: Ax Tutorials
Ax 튜토리얼은 구조와 응용을 예제로 보여줘요. 첫 시작은 Loop, Service, Developer 세 가지 API 튜토리얼이에요. 세 가지 모두 하르트만(Hartmann6) 문제를 예로 쓰는데, Loop API가 가장 단순하고 Developer API가 가장 커스터마이즈하기 쉬워요.
공식 문서는 Service API를 대부분의 사용 사례에 권장해요. 이 API는 유연성과 단순함의 균형이 좋아서, Ax 사용을 이 API 중심으로 통합해 가고 있다고 해요. 확실히 많은 프로젝트가 이 API 한 가지만 익혀도 충분해요.
그다음으로 알아두면 좋은 컴포넌트들이 있어요.
- Visualizations — 결과를 이해하기 위한 다양한 플롯
- GenerationStrategy — 최적화 알고리즘(또는 여러 개)을 지정하는 방법
- Scheduler — 트라이얼을 자동으로 배포·폴링하며 결과로 새 트라이얼을 만드는 관리형 폐루프 최적화
- Modular BoTorchModel — Ax와 BoTorch 사이의 새 인터페이스로, AcquisitionFunction·Model·AcquisitionObjective 같은 BoTorch 컴포넌트를 하나의 모델로 결합
베이지안 최적화 튜토리얼로는 PyTorch 하이퍼파라미터 최적화, SLURM 클러스터용 SubmitIt 통합, 멀티태스크 모델링, 멀티오브젝티브 최적화, 트라이얼 레벨 조기 중단이 있어요. 실제 환경 실험으로는 밴딧 최적화(Thompson Sampling)와 휴먼 인 더 루프 최적화를 다루죠. 자기 문제 유형에 맞는 튜토리얼부터 골라 보면 좋아요.