2022-08-09,   김상민

*이번 포스팅에서는 MLOps (Machine Learning Operations)에 관한 내용을 공유해보려고 합니다.


MLOps란?

MLOps-1

MLOps라는 용어는 2015년에 Google에서 처음 등장한 용어 입니다.

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

AI 시장 확대로 사진, 동영상, 텍스트 등 비정형 데이터 양이 증가하며 데이터 관리/활용 차원에서 MLOps의 중요성 증대되고 있습니다.

  • MLOps의 시장규모는 ’25년 약 40억 달러로 전망 (구글 개발자 컨퍼런스 I/O, 가트너, ’21)

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

MLOps의 목표 및 조건

MLOps 목표는 다음과 같습니다.

  • ML모델 개발과 ML운영을 통합하여 비즈니스 가치를 창출하는 것
  • 모델링에 집중할 수 있도록 안정된 인프라를 만들고 자동으로 운영하는 것
  • 빠른 시간에 적은 Risk로 프로덕션까지 진행할 수 있도록 기술적 마찰을 줄이는 것

MLOps 조건 (DevOps와 비교하였을 때 지속적 학습(CT) 추가) MLOps_조건

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

  • 실시간 파이프라인 트리거 기반으로 새로운 데이터를 사용하여 다시 학습하는 것
  • 새로운 데이터를 통해 학습을 하므로 Data and Model Validation이 필수적 *Data Validation 데이터 검증에 실패하면, 신규 모델의 배포를 중지 해야함 (Data schema skews, Data values skews)image.png *Model Validation 모델이 새로운 데이터로 재학습을 마치고, 운영 환경에 반영되기 전에 평가되고 검증되어야 함

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

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

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

  • 배포 : 운영팀이 리포지토리에서 애플리케이션을 실시간 프로덕션 환경으로 배포하는 것
  • 제공 : 학습 및 검증된 모델을 온라인 예측용 서비스로 모델을 제공하는 것

MLOps Level 0 : 수동 프로세스

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

mlops_0

특징

  • 수동 프로세스 : 데이터 추출/분석, 모델 학습/검증을 포함한 모든 단계가 수동적
  • ML과 운영의 분리 : 모델을 만드는 데이터 과학자와 모델을 예측 서비스로 제공하는 엔지니어를 분리
  • 드문 배포 : 새 모델 버전의 배포가 뜨문뜨문 비정기적으로 발생
  • CI / CD 없음 : 모델의 변경이 적고 배포가 자주 없으므로 CI/CD의 불필요
  • 모니터링 부재 : 로그나 모델의 예측 성능 등을 모니터링 불가, 모델의 성능이 저하 및 이상 동작 감지 불가

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

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

mlops_1

특징

  • 빠른 실험 : 실험을 빠르게 반복하고, 전체 파이프라인을 프로덕션으로 빠르게 배포
  • 파이프라인 배포 : 개발 환경에서 쓰여진 파이프라인이 운영 환경에도 사용
  • 지속적인 학습(CT) : 새로운 데이터를 사용하여 프로덕션 모델이 자동으로 학습
  • 지속적인 제공(CD) : 새로운 데이터로 학습하고 검증된 모델을 지속적으로 제공

Level 0 과의 차이점 (추가 구성요소)

  • 데이터 및 모델 검증 : 새로운 데이터를 통해 새로운 모델을 지속적으로 학습하기 위한 필수 단계
  • Feature Store : 사용 가능한 모든 feature들을 모아둔 저장소 (최신화 된 데이터)
  • 메타데이터 관리 : ML 파이프라인의 실행 정보, 데이터 및 아티팩트의 정보저장
  • ML 파이프라인 트리거 : 모델을 재학습 시키는 파이프라인의 자동화

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

이것으로 포스팅을 마치겠습니다.

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

mlops_2

Level 1 과의 차이점

  • 지속적인 통합 (CI) : 리포지토리로 코드가 커밋이나 푸시 될 때 파이프라인과 구성요소가 빌드, 테스트, 패키지 된다.
  • 지속적인 배포 / 제공 (CD) : 배포 전 모델과 인프라 호환성 확인, 서비스 API 호출 테스트
  • 파이프라인 오케스트레이션 : 파이프라인의 자동화된 설정, 관리, 조정

이렇게 MLOps의 기본 개념과 MLOps를 Level에 따라 단계별로 알아보았습니다.


참고 논문 및 자료

업데이트: