안녕하세요.
MLOps 공부 할 겸 정리한 내용 작성합니다~!
MLOps란
ML : 머신러닝 + DEV : 개발 - 데이터 수집, 전처리, 모델구축, 학습, 평가 등
Ops : 운영 - 모델 배포, 모니터링, 테스트 등
MLOps란 : 생산 환경에서 머신러닝 모델을 안정적이고 효율적으로 배포 및 유지 관리 하는것
MLOps 플랫폼 : AWS SageMake, Vertex AI, Google Kubeflow, TensorFlow Extension, Mlflow, WandB - Weights and Biases
MLOps의 핵심 구성 요소
- 버전 관리:
- 코드, 데이터, 모델 등 모든 자산의 버전을 체계적으로 관리하여 프로젝트의 추적성과 협업을 향상시킵니다.
- 자동화:
- 지속적 통합 (CI) 및 지속적 전달 (CD) 파이프라인을 통해 자동화된 빌드, 테스트, 배포 프로세스를 구축합니다.
- 환경 관리:
- 개발, 테스트, 운영 환경을 일관되게 유지하고, 필요할 때 신속하게 전환할 수 있는 방법을 제공합니다.
MLOps 목표
최적화된 솔루션 필요함
기존 머신러닝 문제
MLOps 사용자
Data Scientists :
필요기술
※ 데이터 분석/해석
Data Engineers :
필요기술
※ 데이터 조달/관리의 기술
DB 관리 및 속도 최적화 기술
CI/CD 파이프라인
MLOps에서의 핵심은 CI/CD 파이프라인입니다. 지속적으로 모델을 통합하고 전달함으로써, 개발자들은 더욱 신속하게 모델을 개발하고 배포할 수 있습니다. 이는 모델의 품질을 향상시키고 생산성을 높이는 데 기여합니다.
모니터링과 유지보수
MLOps는 모델이 배포된 이후에도 계속해서 모니터링이 이루어지는 시스템을 구축합니다. 이를 통해 모델의 성능을 지속적으로 추적하고, 문제가 발생하면 신속하게 대응할 수 있습니다.
MLOps의 현장에서의 적용 사례
실제로 MLOps를 도입한 기업들은 효율성의 향상과 모델의 안정적인 운영을 경험하고 있습니다. Airbnb, Netflix, Uber 등의 기업들은 MLOps를 통해 머신 러닝 기반의 서비스를 성공적으로 운영하고 있습니다.
결론
MLOps는 머신 러닝 프로젝트의 효율적인 운영을 위한 필수적인 방법론으로 부상하고 있습니다. 모델의 개발뿐만 아니라 배포, 모니터링, 유지보수까지 모든 단계에서의 자동화와 체계적인 관리는 머신 러닝 기반의 서비스를 성공적으로 운영하는 데 있어 핵심적인 역할을 합니다.