MLOps

MLOps란?

j.d 2024. 12. 21. 21:17

MLOps(Machine Learning Operations)는 머신러닝(ML) 시스템이 현대 비즈니스 환경에서 증가하는 데이터 복잡성과 빠르게 변화하는 요구사항에 효과적으로 대응하기 위해 등장했습니다. 초기의 ML 시스템은 연구 및 실험 수준에서 사용되었으나, 비즈니스 적용이 확대되면서 운영 단계에서의 문제들이 부각되었습니다. 이러한 문제에는 데이터의 변화로 인한 모델 성능 저하, 예측 서비스의 불안정성, 수동 관리로 인한 운영 부담 등이 포함됩니다.

 

특히, ML 시스템 운영의 핵심 과제는 다음과 같습니다.

  1. 데이터의 변화에 대한 적응성
    • 데이터는 시간에 따라 변화하거나 품질에 문제가 생길 수 있습니다. 이를 무시하면 모델 성능 저하로 이어질 가능성이 큽니다.
  2. 운영 효율성
    • 데이터 준비, 모델 학습, 검증, 배포 등 모든 단계를 수동으로 처리하면 비효율적이며 오류가 발생할 여지가 많습니다.

이러한 도전 과제를 해결하기 위해 MLOps는 자동화와 최적화를 통해 ML 시스템의 전반적인 효율성과 신뢰성을 높이는 것을 목표로 합니다.

 

출처: https://www.databricks.com/kr/glossary/mlops

 

MLOps란?

MLOps는 DevOps 원칙을 머신러닝 시스템에 적용하여 모델의 통합, 테스트, 배포, 관리까지 모든 과정을 자동화 및 최적화하는 방식입니다. 이를 통해 ML 시스템의 신뢰성과 확장성을 보장하며, 데이터 과학자와 엔지니어 간의 협업을 강화합니다.

ML 시스템 운영에서 발생할 수 있는 문제를 해결하기 위해 MLOps는 CI/CD(지속적 통합 및 배포)CT(지속적 학습) 같은 개념을 도입합니다.

 

DevOps 요소 MLOps에서의 확장
지속적 통합(CI) 데이터 및 모델 검증 추가
지속적 배포(CD) 학습 파이프라인과 모델 예측 서비스 배포
테스트 데이터 검증, 학습된 모델  품질 평가
운영 모델 모니터링 및 성능 관리

 

 

 

MLOps의 주요 구성요소

1. 데이터 처리와 검증

  • 데이터 스키마와 통계적 특성을 지속적으로 검증하여 품질을 보장합니다.
  • 데이터 편향 및 이상치를 탐지하여 파이프라인 중단 여부를 결정합니다.

2. ML 파이프라인

  • 데이터 준비, 모델 학습, 검증, 배포를 자동화하여 효율성을 극대화합니다.
  • 구성요소 간 모듈화 및 재사용성을 보장합니다.

3. 모델 검증과 모니터링

  • 모델 품질 평가를 위한 지표를 생성하고, 프로덕션 모델과 비교하여 성능을 검증합니다.
  • 배포 후에는 실시간 데이터를 기반으로 모델 성능을 지속적으로 추적합니다.

4. Feature Store

  • 학습 및 서빙에서 동일한 특성을 재사용 가능하도록 중앙화된 특성 저장소를 제공합니다.

5. 메타데이터 관리

  • 파이프라인 실행 기록, 데이터 계보, 생성된 아티팩트 등을 추적하여 디버깅과 재현성을 지원합니다.

 

 

MLOps의 성숙도

MLOps 성숙도 수준은 머신러닝 시스템의 자동화 및 운영 효율성의 단계입니다. 각 수준은 수동 작업에서 시작해 점점 더 높은 수준의 자동화와 통합을 이루며, 시스템의 신뢰성과 확장성을 높이는 것을 목표로 합니다. 이를 통해 조직은 ML 모델을 더 빠르게 개발, 배포, 유지보수할 수 있습니다.

※ 아래 내용은 구글 클라우드의 내용을 참고했습니다.(출처: https://cloud.google.com/architecture/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning?hl=ko)

 

수준 0: 수동 프로세스

수준 0은 ML 시스템 운영에서 가장 초기 단계로, 모든 작업이 수동으로 이루어집니다. 이 수준에서는 다음과 같은 특징이 있습니다.

  • 데이터 과학자와 엔지니어 간의 연결이 단절되어 있으며, ML 모델을 예측 서비스로 제공하는 과정이 비효율적입니다.
  • CI/CD와 같은 자동화 프로세스가 전혀 도입되지 않았습니다.
  • 데이터 준비, 모델 학습, 검증 등 모든 단계가 개별적으로 실행되며, 각 단계 간 연결이 명확하지 않습니다.
  • 모델 성능 저하 및 데이터 변화에 대한 대응이 지연될 가능성이 큽니다.

 

수준 1: ML 파이프라인 자동화

수준 1에서는 ML 학습 파이프라인이 자동화되어 지속적 학습(CT)을 지원하며, 효율성과 신뢰성을 높이는 데 초점을 둡니다. 이 수준의 특징은 다음과 같습니다.

  • 데이터 검증과 모델 검증이 포함되어 있어 품질 관리가 개선됩니다.
  • 자동화된 트리거를 통해 새로운 데이터를 기반으로 모델이 자동으로 학습됩니다.
  • 데이터 과학자의 실험 환경과 프로덕션 환경 간의 연계가 강화됩니다.

 

수준 2: CI/CD 파이프라인 자동화

수준 2는 ML 시스템 운영의 성숙도가 가장 높은 단계로, 데이터, 모델, 파이프라인 구성요소의 지속적 통합 및 배포가 완전히 자동화됩니다. 이 단계의 특징은 다음과 같습니다.

  • 데이터 과학자는 새로운 ML 아이디어를 빠르게 실험하고 프로덕션 환경에 배포할 수 있습니다.
  • 모든 단계에서 지속적 통합(CI)과 지속적 배포(CD)가 이루어져, 모델과 파이프라인의 안정성이 크게 향상됩니다.
  • 파이프라인과 모델의 변경 사항이 실시간으로 반영되며, 운영 환경에서 신속한 테스트 및 배포가 가능합니다.

 

 

 

 

 

 

앞으로의 포스팅에서는 각 단계에 필요한 툴(Tool)에 대해 살펴보도록 하겠습니다.