본문 바로가기
Engineering/MLOps

[MLOps] 00 MLOps Intro

by iamzieun 2023. 1. 15.

1. MLOps란 무엇인가?

1.1 MLOps

 

ML을 효율적으로 개발한 후,
성공적으로 서비스화하고 운영할 때 필요한 모든 것을 다루는 분야

- Machine Learning + Operations

- 머신러닝을 실제로 운영할 때 생기는 일을 다룬 분야

- 연구가 아닌 서비스(앱, 웹 등)에 적용하는 과정에서 필요한 분야

→ 만들어진 지 오래되지 않은 분야라 공식적인 정의는 아직 없다 !

1.2 조금 더 세분화된 MLOps

- ModelOps + DataOps + DevOps

   - ModelOps: 모델을 개발하면서 생기는 운영 (모델 관리)

   - DataOps: 데이터와 관련된 운영 (데이터 엔지니어링, 데이터 관리)

   - DevOps: 소프트웨어 개발과 관련된 운영 (배포, 클라우드)

 

 

2.MLOps의 필요성

머신러닝 시스템에서 코드가 차지하는 비중은 극히 일부라는 사실..! 그렇다면 그 외의 것들은?

- 머신러닝 모델을 개발(Research)한 후 서비스화(Production)하려는 과정에서 발생한 이슈

   - 이 모델을 어떻게 서비스화 할 수 있지?

   - 모델의 버전 관리는 어떻게 해야하지?

   - 학습에 사용된 데이터셋의 버전 관리는 어떻게 해야하지?

   - 학습에 사용된 데이터와 실제 서비스(production)에서 받는 데이터가 다른데 어떻게 해야하지?

   - 머신러닝 서버를 올릴 인프라는 어떻게 관리하지? 내가 만들어야 하나?

   - 언제 다시 학습해야 하지? 학습 안하고 사용해도 되나?

 

- 위 이슈들을 해결하기 위해 Research → Production 과정에서 필요한 것 

   - API 서버 만들기

   - 모델 관리

   - 데이터셋 관리

   - ML 인프라 관리

→ 이러한 일련의 것들을 MLOps로 통칭한다

 

3. MLOps vs DevOps

- DevOps

   - Dev하면서 생기는 Ops 이슈

   - CI/CD, 인프라, 네트워크 등

 

- MLOps

   - ML하면서 주기적으로 생기는 Ops 이슈

   - 학습, 모델 Serving, 데이터 처리, 모델 관리 등

   - CI/CD/CT

⇒ DevOps와 MLOps는 어느 정도 교집합이 있으나, MLOps를 필요로 하는 AI 서비스는 일반 SW와 달리 'Data'를 중요한 구성 요소로 한다는 점에서 차이점을 가진다.

 

 cf. CI/CD/CT in MLOps

MLOps에서 말하는 CI/CD, 그리고 CT는 다음과 같다.

CI: Continuous Integration (지속적 통합)

DevOps에서의 Integration은 소스코드와 컴포넌트 등의 테스트를 의미한다면, MLOps에서의 Intergration은 ML 모델을 서빙하는 과정에서 요구하는 새로운 데이터와 데이터 스키마, 그리고 모델을 테스트하고 통합하는 과정까지 포함한다.

CD: Continuous Delivery/Deployment (지속적 제공/배포)

MLOps에서의 Deployment(배포)는 Production 단계에서 모델을 서빙하는 것을 의미한다. 모델을 더 빠른 주기로 서빙하면서도 신뢰도 및 정확도를 유지하는 것을 목표로 한다는 점에서 DevOps와 유사하다.

CT: Continuous Training (지속적 학습)

MLOps는 모델이 Production 단계에서 새로운 데이터로 학습하여 만들어낸 새로운 모델을 배포하는 과정을 반복한다. 이러한 지속적인 학습 과정에서는 과거의 모델보다 정확도가 떨어지는 경우 등 문제 발생 상황에 대해 롤백하고 대처할 수 있는 ML 서빙 파이프라인을 구축하는 것이 중요하다.

 

 

 

Reference: Ep 6. MLOps란? MLOps 로드맵 및 MLOps 취업에 대한 생각 | MLOps 강의 추천 있음

'Engineering > MLOps' 카테고리의 다른 글

[MLOps] 05 Model Serving  (0) 2023.01.21
[MLOps] 04 Model Management & MLflow  (0) 2023.01.20
[MLOps] 03 Data Management & DVC  (0) 2023.01.20
[MLOps] 02 Kubernetes Basic  (0) 2023.01.17
[MLOps] 01 Docker Basic  (0) 2023.01.16

댓글