About me
home
Portfolio
home

MLOps

MLOps(Machine Learning Operations): 기계학습 모델의 생애주기를 관리하는 방법론

MLOps를 사용하면 모델의 개발, 배포, 운영, 유지보수의 전 과정을 자동화할 수 있음
모델의 성능을 모니터링하고, 새롭게 유입되는 데이터를 사용하여 모델을 지속적으로 개선할 수 있음
이를 통해 개발자는 생산성을 높이고 시간과 비용을 절감

MLops 주요 용어

CI/CD 파이프라인
지속적인 통합과 지속적인 배포를 의미한다. CI/CD 파이프라인을 사용하여 머신러닝 모델의 개발, 배포, 운영 및 유지보수 프로세스를 자동화할 수 있게 된다.
Model Drift
시간이 지남에 따라 머신러닝 모델의 성능이 떨어지게 되는 현상. 새로운 데이터가 추가되거나 기존 데이터의 패턴이 변화할 경우, 데이터의 분포가 변화하여 기존의 모델의 성능이 저하된다. 이를 방지하기 위해 모델과 데이터를 정기적으로 모니터링하여 fine-tuning과 재학습을 통해 모델을 최신 상태로 유지해야 한다.
인스턴스(instance)
MLOps에서 인스턴스는 머신 러닝 모델을 실행하기 위해 필요한 컴퓨팅 자원을 제공하는 클라우드 기반의 가상 서버를 의미한다. Train 단계와 inference 단계에서의 컴퓨팅 자원은 상이하므로 각각 다른 인스턴스로 train과 inference 작업을 수행하게 된다.
모델 아티팩트(Model Artifact)
모델 아티팩트는 모델 학습을 통해 생성된 모델 아키텍처모델 파라미터를 포함하는 실제 모델 자체를 의미한다.

MLOps 워크플로우

1.데이터 전처리
모델 개발에 필요한 데이터를 수집하고, 데이터를 레이블링하고, 특징을 추출하고, 데이터를 train, valid 와 test set으로 분할하는 과정을 진행한다.
2.모델 개발
훈련 데이터를 이용하여 모델 아키텍처를 선택하고, hyperparameter를 조정하고, 모델을 학습시키는 등의 과정을 수행한다.
3.모델 검증 및 평가
개발된 모델의 성능을 평가하고, 검증하는 과정이다. 검증 데이터와 테스트 데이터를 이용하여 모델을 평가하고, 검증 세트 및 테스트 세트에서 모델의 성능을 평가한다.
4.모델 배포
개발된 모델을 실제 운영 환경에서 사용 가능한 형태로 변환하여 배포하는 과정이다.
5.모델 모니터링
훈련된 모델의 성능을 실시간으로 모니터링하여 데이터 품질 검증, 이상치 탐지, model drift 경고 알림과 같은 작업을 수행할 수 있게 된다.
6.모델 유지보수
운영 중인 모델을 개선하기 위해 필요한 유지보수 작업을 수행하는 과정이다. 이때 모델 재학습, 하이퍼파라미터 최적화, 데이터 재수집 작업을 개발자가 수동으로 혹은 개발자의 개입 없이 자동적으로 수행한다.

MLOps 라이브러리

프로덕션에서 기계 학습 모델의 개발 및 배포를 지원하도록 설계된 프레임워크
대표적인 MLOps 라이브러리: mlflow, Kubeflow, AWS Sagemaker
이러한 라이브러리는 MLOps 워크플로우를 간소화하고 자동화하는 데 도움이 되는 다양한 기능, 모듈을 제공