본문 바로가기
MLOps

MLOps(Machine Learning Operations)란?

by xangmin 2022. 2. 28.
반응형

 MLOps란?

MLOps라는 용어는 2015년에 Google에서 처음 등장

   - ‘Hidden Technical Debt in Machine Learning Systems’ 논문에서 최초로 등장

AI시장 확대로 사진, 동영상, 텍스트 등 비정형 데이터 양이 증가하며 데이터 관리/활용 차원에서 MLOps의 중요성 증대
   - MLOps의 시장규모는 ’25년 약 40억 달러로 전망 (구글 개발자 컨퍼런스 I/O, 가트너, ’21)

 

• MLOps의 정의

   -개발과 운영을 따로 나누지 않고 개발의 생산성과 안정성을 최적화하기 위한 문화이자 방법론이 DevOps이며, 이를 ML 시스템에 적용한 것이 MLOps이다.

 

• 어떻게 MLOps에 접근해야 할까?

"MLOps에 입문하는 3가지 단계 중 첫 번째 단계는 이해관계자들과 공동의 목표를 설정하는 것이고,
두 번째 단계는 소유권 정리한 조직도를 작성하는 것, 마지막 세 번째 단계는 업무분장입니다."

- 슈방기 바쉬스 (가트너 수석 분석가) -

 

 MLOps의 목표 및 조건

• MLOps 조건

 1) 지속적 학습 (CT, Continuous Training) :

  - 실시간 파이프라인 트리거 기반으로 새로운 데이터를 사용하여 다시 학습하는 것

  - 새로운 데이터를 통해 학습을 하므로 Data and Model Validation이 필수적

    *Data Validation

      데이터 검증에 실패하면, 신규 모델의 배포를 중지 해야함 (Data schema skews, Data values skews)

    *Model Validation

      모델이 새로운 데이터로 재학습을 마치고, 운영 환경에 반영되기 전에 평가되고 검증되어야 함

 2) 지속적 통합 (CI,  Continuous Integration) :

  - 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트 되어 공유 리포지토리에 통합되는

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

  - 배포 : 운영팀이 리포지토리에서 애플리케이션을 실시간 프로덕션 환경으로 배포하는 것

  - 제공 : 학습 및 검증된 모델을 온라인 예측용 서비스로 모델을 제공하는 것 

 

• MLOps 목표

  - ML모델 개발과 ML운영에서 사용되는 문제의 반복을 최소화하면서 비즈니스 가치를 창출하는 것

  - 모델링에 집중할 수 있도록 안정된 인프라를 만들고 자동으로 운영하는 것

  - 빠른 시간에 적은 Risk로 프로덕션까지 진행할 수 있도록 기술적 마찰을 줄이는 것

 

 ML을 위한 Data science 단계

 1) Data Extraction : 데이터 소스에서 관련 데이터 추출

 2) Data Analysis : 데이터의 이해를 위한 탐사적 데이터 분석 수행, 모델에 필요한 데이터 스키마 및 특성 이해

 3) Data Preparation : 데이터 학습, 검증, 테스트 세트 분할

 4) Model Training : 다양한 알고리즘 구현, 하이퍼 파라미터 조정 및 적용, output 학습된 모델

 5) Model Evaluation : Holdout test set에서 모델을 평가, output은 모델의 성과 평가 metric

 6) Model Validation : 기준치 이상의 모델 성능이 검증되고, 배포에 적합한 수준인지 검증

 7) Model Serving : 온라인 예측을 제공하기 위해 REST API가 포함된 마이크로 서비스, 배치 예측 시스템

8) Model Monitoring : 모델의 예측 성능을 모니터링

 

 * 위와 같은 ML 프로세스의 자동화 수준에 따라 해당 ML시스템의 수준을 평가해볼 수 있다. Google은 가장 보편적인 수동 적용 단게부터 ML과 CI/CD pipeline을 모두 자동화하는 단계까지 성숙도를 세 단계 레벨로 나누어 제시한다.

 

 MLOps Level 0 : 수동 프로세스

ML 모델을 빌드하고 배포하는 과정은 완전히 수동으로 이루어진다. 이는 컨텐츠 Level 0으로 간주한다.

모델을 예측 서비스로 제공하기 위한 수동 ML 단계 (출처:Google cloud MLOps)

 

특성

  - 수동 프로세스 : 데이터 추출/분석, 모델 학습/검증을 포함한 모든 단계가 수동적

  - ML과 운영의 분리 : 모델을 만드는 데이터 과학자와 모델을 예측 서비스로 제공하는 엔지니어를 분리

  - 드문 배포 : 새 모델 버전의 배포가 뜨문뜨문 비정기적으로 발생

  - CI / CD 없음 : 모델의 변경이 적고 배포가 자주 없으므로 CI/CD의 불필요

  - 모니터링 부재 : 로그나 모델의 예측 성능 등을 모니터링 불가, 모델의 성능이 저하 및 이상 동작 감지 불가

 

 MLOps Level 1 : ML 파이프라인 자동화

Level 1머신러닝 모델의 지속적인 훈련(CT)을 목표로 하며 기계 학습 파이프라인이 자동화 됩니다.

CT용 ML 파이프라인 자동화 (출처:Google cloud MLOps)

 

추가 구성요소

 - Data and Model Validation :  새로운 데이터를 통해 새로운 모델을 지속적으로 학습하기 위한 필수 단계

 - Feature Store :  사용 가능한 모든 feature들을 모아둔 저장소 (최신화 된 데이터)

 - Metadata management :  ML 파이프라인의 실행 정보, 데이터 및 아티팩트의 정보저장

 - ML pipeline triggers :   모델을 재학습 시키는 파이프라인의 자동화

• 특성

 - 빠른 실험 : 실험을 빠르게 반복하고, 전체 파이프라인을 프로덕션으로 빠르게 배포

 - 파이프라인 배포 : 개발 환경에서 쓰여진 파이프라인이 운영 환경에도 사용

 - 지속적인 학습(CT) : 새로운 데이터를 사용하여 프로덕션 모델이 자동으로 학습

 - 지속적인 제공(CD) : 새로운 데이터로 학습하고 검증된 모델을 지속적으로 제공

 

 MLOps Level 2 : CI / CD 파이프라인 자동화

Level 2CI / CD면에서 집중적으로 강화된 시스템을 MLOps Level 2로 구분한다.

CI/CD 및 자동화된 ML 파이프라인 (출처:Google cloud MLOps)

 

Level 1과 차이점
 
- 
지속적인 통합 (CI) :

     레포지토리로 코드가 커밋이나 푸시 될 때 파이프라인과 구성요소가 빌드, 테스트, 패키지 된다.

 - 지속적인 배포 / 제공 (CD) :

     배포 전 모델과 인프라 호환성 확인, 서비스 API 호출 테스트

 - 파이프라인 오케스트레이션 :

     파이프라인의 자동화된 설정, 관리, 조정

반응형

'MLOps' 카테고리의 다른 글

[Vertex AI] MLOps를 사용해보자_1 (예제)  (0) 2022.03.03

댓글