IT Study/MLOps

MLOps란?

izzygo 2024. 1. 17. 17:30

MLOps라는 용어가 확산되고 있습니다. AI, 머신러닝, 딥러닝 등의 용어가 화두가 되었고, 모든 곳에서 도입을 검토하고 진행하고 있습니다.

MLOps란 또 무슨 용어인가 알아봅시다.

MLOps의 개념은 완전히 새로운 개념은 아니며 DevOps라는 개발 방법론에서 파생된 단어입니다. Development의 Dev에서 ML로 변환해서 적용된 것입니다. 기존에 Machine Learning 개발자들이 개별적으로 복잡하게 데이터 수집/가공, 모델 개발/학습, 배포 등의 복잡한 작업들을 표준화하고 간소화하여 자동화 되어 운영되도록 하는것입니다.

Machine Learning 모델을 개발하는 것 뿐만이 아닌 ML 모델을 개발하고, 데이터 파이프라인을 구성하여 모델을 학습하고 배포하고 모니터링는 전 과정에 대한 Lifecycle을 관리하고 운영하는 것을 의미합니다.

Machine Learning 프로젝트에서 실질적으로 ML모델을 생성하여 코드를 짜는 작업은 ML을 구성하는 많은  요소들 사이에서 일부분에 불과 합니다. 그래서 대부분의 ML 시스템 도입을 시도하는 프로젝트들 중의 상당수가 제대로 도입하지 못하는 경우가 많습니다. ML 시스템을 구성하기 위해서는 데이터 파이프라인, CI/CD 파이프라인, 인프라스트럭쳐, 모니터링 등의 모든 요소들이 유기적으로 돌아 갈 수 있는 환경이 되어야 합니다. ML 코드를 짜는 것보다 이러한 것들을 설계하고 구성하는 부분들이 더 높은 복잡도와 더 많은 공수를 요구하게 됩니다.

 

이러한 MLOps를 구성하는 각 단계별 요수들이 어떤 것이 있는지 알아 보겠습니다. 

MLOps Spanning Whole Machine Learning Life Cycle: Paper Summary - MarkTechPost

MLOps Spanning Whole Machine Learning Life Cycle: Paper Summary - MarkTechPost

1. Model Requirements Analysis

모델에 대한 요구사항을 분석하고 식별하는 과정. 비즈니스 가치, 모델 품질, AI에 대한 책임(프라이버시, 공정성, 보안성, 책임성), 윤리 등의 차원에서 요구사항을 분석하여 목표를 설정해야 합니다.

2. Data Collection and Preparation

데이터 수집하고 준비하는 단계는 ML 모델에 대한 품질을 보장하는데 중요한 역할을 합니다다. 데이터 수집, 데이터 검색, 데이터 증대, 데이터 생성 및 ETL 프로세스를 구성하고 전체적인 데이터 파이프라인을 잡도록 해야 한다. 데이터 셋에 대한 목표를 잡았으면 데이터 셋으로부터 통찰력을 얻기 위해 데이터 품질점검, 데이터 클리닝,데이터 병합 및 탐색적데이이터분석(EDA; Exploratory Data Analysis) 작업들을 수행해야 합니다.    

3. Feature Engineering

예측 모델의 성능을 향상하려면 특성을 추출하는 것이 중요합니다. 데이터의 이상치를 처리하고, 데이터 레이블을 지정하고 모델에 영향도가 높은 피쳐를 선택하고, 여러 피처를 통합해서 축소하는 등의 기술로 데이터와 피처를 조합하게 됩니다. PCA(주성분 분석), ICA(독립 구성요소 분석), 표준화 및 정규화를 포함하여 각 기술과 관련된 특정 알고리즘 및 방법 있습니다.

4. Model Training

모델 훈련 단계에서는 지도 학습, 비지도 학습, 준지도 학습, 강화 학습을 포함한 다양한 유형의 기계 학습 모델을 다루고 적용하게 됩니다. 특정 문제에 적합한 모델을 선택하기 위한 교차 검증, 부트스트래핑, 무작위 분할과 같은 모델 선택 방법, 모델의 매개변수를 최적화하는 과정인 하이퍼파라미터 튜닝(Hyperparameter Tuning)도 있습니다.

5. Model Evaluation

모델 평가는 다양한 측정항목을 사용하여 모델 성능을 평가하는 데 중점을 둡니다. 이 섹션에서는 정확도, 정밀도, 재현율, F-score, AUC 등의 일반적인 평가 측정항목들이 있습니다. 모델 평가 시 모델의 성능과 비즈니스 가치를 모두 고려하는 것이 중요합니다.

6. System Deployment

시스템 배포에는 적절한 ML 모델 운영 플랫폼 선택, 시스템 통합, 시스템 통합 테스트 수행 및 최종 사용자에게 시스템 출시가 포함됩니다. 카나리아 배포 및 블루-그린 배포와 같은 배포 전략도 고려하여 원할한 모델 배포 프로세스를 설계하고 운영할 수 있어야 합니다.

7. Model Monitoring

ML 시스템에서 지속적인 모델 품질 개선을 위해서는 모델 모니터링의 중요성이 강조되어야 합니다. 모니터링을 통해 데이터 분포의 변화 모니터링, 모델 성능 보장, 산업별 표준 및 규정 준수, ML 파이프라인에 대한 시스템 로깅, 모델 투명성 달성에 대한 통찰력 얻고 모델 및 데이터 개선에 대한 작업이 이루어져야 합니다.