MLOps Lifecycle 2

실험, 모델 학습/최적화/비교평가

  • ML Lifecycle에서 실험/학습 파트

  • 데이터 가공 및 검증 파트가 데이터 준비 파트와 겹침

    • 데이터 가공 결과에 따라 모델이 변경되기도 함

    • 모델 성능에 데이터가 직접적인 영향을 미침

-> 대규모 데이터를 대용량 클러스터에서 처리하는 것도 이 과정에 포함

  • 모델은 아래 입력 조건에 따라 결정됨

    - 데이터
    - 학습 알고리즘
    - 하이퍼파라미터
  • 입력 조건들을 바꿔가며 최적의 모델을 찾아가는 과정을 실험이라 부름

  • 이러한 반복적인 과정을 보다 쉽게 관리하고자 함

실험 추적관리

  • 실험 실행: 위 3가지 입력(데이터, 학습 알고리즘, 하이퍼 파라미터)으로 하나의 실험을 수행

  • 위 실험과정에서 다양한 산출물들(입력 조건, 모델, 실험이력 등)이 발생하는데, 이를 체계적으로 관리하는 것이 중요함

  • 각 실험에 대해 입력값을 관리 + 산출된 모델의 메타 정보 관리

  • 애저에서는 실험별로 사용된 데이터 & 모델의 버전 관리 & 성능 확인 & 서비스로 배포된 모델 추적 등의 기능을 제공함

자동화된 ML

  • 위 과정을 자동화하기 위한 도구(애저의 기능 이름인 듯, 일반적으로 Hyperparameter Optimization)

  • 높은 성능의 모델을 효율적으로 찾으려면?

  • 입력 조건에 따른 성능을 예측하고, 성능이 좋을 것으로 예상되는 입력 조건으로 다음 실험을 진행 & 이 과정을 반복 수행

  • 애저에서는 이 작업을 수행할 때 다수의 모델이 실행되고 앙상블도 실행됨. 기본적인 성능 지표, 모델을 만들기위한 과정도 로그로 저장됨. 스냅샷 기능은 당시 실행한 py 파일 저장해둠.