1. MLOps 개론
[문제정의] [EDA] [Feature Engineering] [Train]
1.1 모델 개발 프로세스(Research)
- 고정된 데이터를 사용해 학습
1.2 모델 개발 프로세스(Production)
- 모델의 결과값이 이상한 경우가 존재
=> 원인 파악 필요
=> Input 데이터가 이상한 경우가 존재(x값이 0~100 이내여야 하는데 Input으로 200이 들어오는 경우)
=> Research 할 땐 Outlier로 제외할 수 있지만, 실제 서비스에선 제외가 힘든 상황(별도 처리 필요)
- 모델의 성능이 계속 변경
=> 모델의 성능은 어떻게 확인할 수 있을까?
=> 예측 값과 실제 레이블을 알아야 함
=> 정형(Tabular) 데이터에서는 정확히 알 수 있지만, 비정형 데이터(이미지 등)는 잘 모를 수 있음
- 새로운 모델이 더 안 좋다면?
=> 그 모델을 다시 사용해야 함
=> Research 환경에선 성능이 더 좋았던 모델이 Production 환경에선 더 좋지 않을 수 있음
=> 이전 모델을 다시 사용하기 위한 작업이 필요
MLOps = ML (Machine Learning) + Ops (Operations)
- 머신러닝 모델을 운영하면서 반복적으로 필요한 업무를 자동화시키는 과정
- 머신러닝 엔지니어링 + 데이터 엔지니어링 + 클라우드 + 인프라
- 머신러닝 모델 개발(ML Dev)과 머신러닝 모델 운영(Ops)에서 사용되는 문제, 반복을 최소화하고 비즈니스 가치를 창출하는 것이 목표
- 모델링에 집중할 수 있도록 관련된 인프라를 만들고, 자동으로 운영되도록 만드는 일
MLOps의 목표는 빠른 시간 내에 가장 적은 위험을 부담하며 아이디어 단계부터 Production 단계까지 ML 프로젝트를 진행할 수 있도록 기술적 마찰을 줄이는 것
2. MLOps Component
2.1 Infra(Server, GPU)
2.2 Serving
2.3 Experiment, Model Management
-MLFLOW
2.4 Feature Store
-FEAST
2.5 Data Validation
2.6 Continuous Training
Tensorflow의 TDFDV가 있음
AWS-Deequ 데이터 validation check
2.7 Monitoring
2.8 AutoML
2.9 정리
참고자료
Uber MLOps 논문, 기술 블로그
구글 클라우드의 Practitioners Guide to MLOps
Superb AI의 실리콘밸리의 ML옵스
'부스트캠프 AI Tech 2기 > 2기 Product Serving' 카테고리의 다른 글
Linux & Shell Command (0) | 2021.12.10 |
---|---|
웹 서비스 형태 - Streamlit (0) | 2021.12.09 |
Notebook 베이스 - Voila (0) | 2021.12.09 |
머신러닝 프로젝트 라이프 사이클 (0) | 2021.12.07 |
Product Serving (0) | 2021.12.07 |