1.2 MLOps 개론

  • MLOps란?

  • 필요한이유와 구성하는 Component

1. MLOps 개론

1.1. 모델 개발 프로세스(Research)

[문제 정의] - [EDA] - [Feature Engineering] - [Train] - [Predict]

"Real Word, Production 환경에 배포한다."

1.2. 모델 개발 프로세스(Production)

발생 가능한 문제점

  • 모델의 결과값이 이상한 경우가 존재 -> 원인파악

  • 모델의 성능이 계속 변경

1.3. MLOps란?

MLOps = ML (Machine Learning) + Ops (Operations)

  • 머신러닝 모델을 운영하면서 반복적으로 필요한 업무를 자동화시키는 과정

  • 머신러닝 엔지니어링 + 데이터 엔지니어링 + 클라우드 + 인프라

  • 머신러닝 모델 개발(ML Dev)과 머신러닝 모델 운영(Ops)에서 사용되는 문제, 반복을 최소화하고 비즈니스 가치를 창출하는 것이 목표

  • 모델링에 집중할 수 있도록 관련된 인프라를 만들고, 자동으로 운영되도록 만드는 일

  • Production 환경에 배포하는 과정엔 Research의 모델이 재현 가능해야 함

  • 현실의 Risk 있는 환경에서 잘 버틸 수 있어야 함

1.4. Research와 Production의 차이

2. MLOps Component

  • 인프라(서버, GPU)

    • Cloud 서비스 (AWS, GCP, Azure, NCP)

    • 온 프레미스

  • Serving

    • Batch

    • Online

  • Experiment, Model Management (파라미터, 모델구조)

    • Artifact, 이미지 등

    • 모델의 메타 정보를 저장

    • mlFlow 추천, WandB

  • Feature Store

    • 공통적인 재료를 미리 만들어 저장하는 것

    • ML Feature를 집계한 Feature Store (정형데이터 위주)

  • Data Validation(Data Management)

    • 시간의 흐름에 따른 data의 유사도 체크(Drift)

  • Continuous Training

    • 재학습 - 우리 프로젝트로 보면 새로운 혐오발언이 생겨남에 따라 재학습을 진행

  • Monitoring

  • AutoML

3. Further Thinking

  • MLOps가 필요한 이유 이해하기

    • 연구 목적이 아닌 프로젝트를 배포하고 관리함에 있어서 반복적이고, 단순한작업을 줄여준다.

    • 관리 차원에서 다양한 이점을 가지고 있다.

  • MLOps의 각 Component에 대해 이해하기(왜 이런 Component가 생겼는가?)

  • MLOps 관련된 자료, 논문 읽어보며 강의 내용 외에 어떤 부분이 있는지 파악해보기

  • MLOps Component 중 내가 매력적으로 생각하는 TOP3을 정해보고 왜 그렇게 생각했는지 작성해보기

    • Continuous Training, Monitoring, AutoML

      실제로 운영을 하게되면 가장 중요하다고 생각되는 부분이다. 빠르게 변하고 추가되는 세상이기에 Continuous Training이 필수적이고, 이를 매번 작업해줄수 없으니 AutoML을 활용하여 자동화를 하는것. 그리고 모니터링을 통해 어떤 것들을 재학습할때 더 신경써야하는지 파악할 수 있을 것이라고 생각이 된다.

Reference

https://github.com/EthicalML/awesome-production-machine-learning https://github.com/visenger/awesome-mlops

Uber MLOps 논문, 기술 블로그

Last updated