MLOps 수준 2
자동화된 ML 파이프라인의 단계

CI/CD를 통해 모든 파이프라인의 구성요소가 자동화 된다

 

CI

 

이 설정에서 파이프라인과 구성요소는 새 코드가 커밋되거나 소스 코드 저장소로 푸시될 때 빌드, 테스트, 패키징 된고 다음 테스트가 포함될 수 있다

 ㄱ. 특성 추출 로직을 단위테스트한다 

 ㄴ. 모델에 구현된 다양한 메소드를 단위테스트한다 - 예를들면 원-핫 인코딩이라던지 

 ㄷ. 모델 학습이 수렴하는지 테스트 - early stopping, overffiting

 ㄹ. 모델 학습에서 0으로 나누지 않는지 NaN 값을 생성하지 않는지 테스트 

 ㅁ. 파이프라인의 각 구성요소가 예상되는 값들을 생성하는지 테스트

 ㅂ. 각 파이프라인 구성요소간의 통합을 테스트

 

CD 

 

새 파이프라인 구현을 대상 환경에서 지속적으로 배포한다 안정적이고 지속적인 배포를 위해서 다음과 같은 사항을 고려해야한다. 

 ㄱ. 모델을 배포하기 전에 대상 인프라와의 호환성을 확인한다

 ㄴ. 예상되는 입력으로 서비스 API를 호출하고 예상하는 응답을 가져오는지 테스트한다 - 모델이 업데이트 되었을 때 다른 입력을 대상으로 발생할 수 있는 문제를 포착한다 

 ㄷ. QPS( Queries per second) 및 모델 지연시간과 같은 서비스 부하 테스트

 ㄹ. 재학습 , 일괄 예측을 위한 데이터 유효성 검사

 ㅁ. 모델이 배포되기 전 모델의 성능 목표를 충족하는지 확인

 ㅂ. 테스트 환경에 대한 자동 배포 - 개발 분기에 코드를 푸쉬하여 트리거된 배포

 ㅅ. 사전 프로덕션 환경에 대한 반자동 배포 - 검토자가 변경사항을 승인한 후 기본 분기에 코드를 병합하여 트리거된 배포) 

 ㅇ. 사전 테스트 환경에서 여러번의 파이프라인 성공 후에 프로덕션 환경에 대한 수동 배포 

 

CI와 CD는 프로덕션 환경에서 매우 중요하다. 

변화가 많은 ML 시장에서 고객의 수요에 대한 빠른 대응과 새로운 모델을 적용시키는 일이 많다 

이러한 자동화 파이프라인으로 빠른 변화에 대처할 수 있다. 

 

하지만 이러한 MLOps 수준2의 경우는 대규모 ML 환경(모델 5개 이상)에 적합하다. 모델을 한두개 서비스하는 입장에서는 이정도까지는 과소비라고 생각된다. 

 

https://cloud.google.com/architecture/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning

 

MLOps: 머신러닝의 지속적 배포 및 자동화 파이프라인  |  Google Cloud

이 문서에서는 머신러닝(ML) 시스템을 위한 지속적 통합(CI), 지속적 배포(CD), 지속적 학습(CT)을 구현하고 자동화하는 기술을 설명합니다. 데이터 과학 및 ML은 복잡한 실제 문제를 해결하고, 업계

cloud.google.com

 

+ Recent posts