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과 운영의 분리 : 모델을 만드는 데이터 과학자와 모델을 예측 서비스로 제공하는 엔지니어를 분리
- 드문 배포 : 새 모델 버전의 배포가 뜨문뜨문 비정기적으로 발생
- CI / CD 없음 : 모델의 변경이 적고 배포가 자주 없으므로 CI/CD의 불필요
- 모니터링 부재 : 로그나 모델의 예측 성능 등을 모니터링 불가, 모델의 성능이 저하 및 이상 동작 감지 불가
MLOps Level 1 : ML 파이프라인 자동화
• Level 1은 머신러닝 모델의 지속적인 훈련(CT)을 목표로 하며 기계 학습 파이프라인이 자동화 됩니다.
• 추가 구성요소
- Data and Model Validation : 새로운 데이터를 통해 새로운 모델을 지속적으로 학습하기 위한 필수 단계
- Feature Store : 사용 가능한 모든 feature들을 모아둔 저장소 (최신화 된 데이터)
- Metadata management : ML 파이프라인의 실행 정보, 데이터 및 아티팩트의 정보저장
- ML pipeline triggers : 모델을 재학습 시키는 파이프라인의 자동화
• 특성
- 빠른 실험 : 실험을 빠르게 반복하고, 전체 파이프라인을 프로덕션으로 빠르게 배포
- 파이프라인 배포 : 개발 환경에서 쓰여진 파이프라인이 운영 환경에도 사용
- 지속적인 학습(CT) : 새로운 데이터를 사용하여 프로덕션 모델이 자동으로 학습
- 지속적인 제공(CD) : 새로운 데이터로 학습하고 검증된 모델을 지속적으로 제공
MLOps Level 2 : CI / CD 파이프라인 자동화
• Level 2는 CI / CD면에서 집중적으로 강화된 시스템을 MLOps Level 2로 구분한다.
• Level 1과 차이점
- 지속적인 통합 (CI) :
레포지토리로 코드가 커밋이나 푸시 될 때 파이프라인과 구성요소가 빌드, 테스트, 패키지 된다.
- 지속적인 배포 / 제공 (CD) :
배포 전 모델과 인프라 호환성 확인, 서비스 API 호출 테스트
- 파이프라인 오케스트레이션 :
파이프라인의 자동화된 설정, 관리, 조정
'MLOps' 카테고리의 다른 글
[Vertex AI] MLOps를 사용해보자_1 (예제) (0) | 2022.03.03 |
---|
댓글