AI

[MLOps] MLOps란 정의, 설명, 정

하늘색도화지 2024. 1. 11. 13:21
728x90

안녕하세요.

MLOps 공부 할 겸 정리한 내용 작성합니다~!

 

MLOps란

ML : 머신러닝 + DEV : 개발 - 데이터 수집, 전처리, 모델구축, 학습, 평가 등

Ops : 운영 - 모델 배포, 모니터링, 테스트 등

MLOps란 : 생산 환경에서 머신러닝 모델을 안정적이고 효율적으로 배포 및 유지 관리 하는것

MLOps 플랫폼 : AWS SageMake, Vertex AI, Google Kubeflow, TensorFlow Extension, Mlflow, WandB - Weights and Biases

 

MLOps의 핵심 구성 요소

  1. 버전 관리:
    • 코드, 데이터, 모델 등 모든 자산의 버전을 체계적으로 관리하여 프로젝트의 추적성과 협업을 향상시킵니다.
  2. 자동화:
    • 지속적 통합 (CI) 및 지속적 전달 (CD) 파이프라인을 통해 자동화된 빌드, 테스트, 배포 프로세스를 구축합니다.
  3. 환경 관리:
    • 개발, 테스트, 운영 환경을 일관되게 유지하고, 필요할 때 신속하게 전환할 수 있는 방법을 제공합니다.

 

MLOps 목표

-ML 코드는 중요하지만 작은 부분을 차지하고 주변 시스템의 복잡성이 높다
-ML 코드를 둘러싼 수많은 시스템을 유지보수하기 어렵다.

최적화된 솔루션 필요함

 

 

기존 머신러닝 문제

-개발 및 운영 환경관리가 어려움
-환경 구성을 불필요하게 반복
-AI 서비스 중요성이 증가됨
    -빠르게 모델 개발
    -개발 및 배포시간 감소
    -효율적 유지보수
-배포가 어려움
    -ML 시스템 복잡
    -다양한 개발 환경에 각각 다른 방식으로 개발

 

 

MLOps 사용자

Data Scientists : 

필요기술

데이터 분석/해석

-통계 분석 지식 및 적용
-AI 지식 및 활용 능력
-ML, DL NLP 알고리즘 지식 및 적용 능력
-Data Visualization 경험 및 도구 활용 능력
-Python, R 활용
 

Data Engineers :

필요기술

데이터 조달/관리의 기술

-데이터 핸들링 지식
-DW 경험
-ETL 프로세스 및 도구 활용
-Java, sql 프로그래밍 기술

DB 관리 및 속도 최적화 기술

 

 

CI/CD 파이프라인

MLOps에서의 핵심은 CI/CD 파이프라인입니다. 지속적으로 모델을 통합하고 전달함으로써, 개발자들은 더욱 신속하게 모델을 개발하고 배포할 수 있습니다. 이는 모델의 품질을 향상시키고 생산성을 높이는 데 기여합니다.

 

 

모니터링과 유지보수

MLOps는 모델이 배포된 이후에도 계속해서 모니터링이 이루어지는 시스템을 구축합니다. 이를 통해 모델의 성능을 지속적으로 추적하고, 문제가 발생하면 신속하게 대응할 수 있습니다.

 

 

MLOps의 현장에서의 적용 사례

실제로 MLOps를 도입한 기업들은 효율성의 향상과 모델의 안정적인 운영을 경험하고 있습니다. Airbnb, Netflix, Uber 등의 기업들은 MLOps를 통해 머신 러닝 기반의 서비스를 성공적으로 운영하고 있습니다.

 

결론

MLOps는 머신 러닝 프로젝트의 효율적인 운영을 위한 필수적인 방법론으로 부상하고 있습니다. 모델의 개발뿐만 아니라 배포, 모니터링, 유지보수까지 모든 단계에서의 자동화와 체계적인 관리는 머신 러닝 기반의 서비스를 성공적으로 운영하는 데 있어 핵심적인 역할을 합니다.

728x90