MLOps Lifecycle 2
실험, 모델 학습/최적화/비교평가
ML Lifecycle에서
실험/학습
파트데이터 가공 및 검증 파트가 데이터 준비 파트와 겹침
데이터 가공 결과에 따라 모델이 변경되기도 함
모델 성능에 데이터가 직접적인 영향을 미침
-> 대규모 데이터를 대용량 클러스터에서 처리하는 것도 이 과정에 포함
모델은 아래 입력 조건에 따라 결정됨
- 데이터
- 학습 알고리즘
- 하이퍼파라미터
입력 조건들을 바꿔가며 최적의 모델을 찾아가는 과정을 실험이라 부름
이러한 반복적인 과정을 보다 쉽게 관리하고자 함
실험 추적관리
실험 실행
: 위 3가지 입력(데이터, 학습 알고리즘, 하이퍼 파라미터)으로 하나의 실험을 수행위 실험과정에서 다양한 산출물들(입력 조건, 모델, 실험이력 등)이 발생하는데, 이를 체계적으로 관리하는 것이 중요함
각 실험에 대해 입력값을 관리 + 산출된 모델의 메타 정보 관리
애저에서는 실험별로 사용된 데이터 & 모델의 버전 관리 & 성능 확인 & 서비스로 배포된 모델 추적 등의 기능을 제공함
자동화된 ML
위 과정을 자동화하기 위한 도구(애저의 기능 이름인 듯, 일반적으로 Hyperparameter Optimization)
높은 성능의 모델을 효율적으로 찾으려면?
입력 조건에 따른 성능을 예측하고, 성능이 좋을 것으로 예상되는 입력 조건으로 다음 실험을 진행 & 이 과정을 반복 수행
애저에서는 이 작업을 수행할 때 다수의 모델이 실행되고 앙상블도 실행됨. 기본적인 성능 지표, 모델을 만들기위한 과정도 로그로 저장됨. 스냅샷 기능은 당시 실행한 py 파일 저장해둠.