출처 : 변성윤님 블로그.
출처 : 부스트캠프 AI Tech.
1. MLOps 란?
1. 머신러닝 모델을 운영하면서 반복적으로 필요한 업무를 자동화시키는 과정
2. 머신러닝 엔지니어링 + 데이터 엔지니어링 + 클라우드 + 인프라
3. 머신러닝 모델 개발(ML Dev)과 머신러닝 모델 운영(Ops)에서 사용되는 문제, 반복을 최소화하고 비즈니스 가치를 창출하는 것이 목표
4. 모델링에 집중할 수 있도록 관련된 인프라를 만들고, 자동으로 운영되도록 만드는 일
2. 왜 필요한가요?
- 모델 research : [문제 정의] - [EDA] - [Feature Engineering] - [Train] - [Predict]
- 모델 production : [문제 정의] - [EDA] - [Feature Engineering] - [Train] - [Predict] - [Deploy]
- [Deploy] 후 많은 문제에 직면
- 모델 업데이트
- 실시간 모델 훈련
- 대용량 트래픽 처리
- outlier 관리
- 위에 서 보듯 ML Code 매우 작은 부분
3. MLOps의 목표
- 빠른 시간 내에 가장 적은 위험을 부담하며 아이디어 단계부터 Production 단계까지 ML 프로젝트를 진행할 수 있도록 기술적 마찰을 줄이는 것
4. MLOps Components
4-1. MLOps Component (Server/Infra)
4-2. MLOps Component (GPU)
4-3. MLOps Component (Serving)
4-4. MLOps Component (Experiment, Model Management)
4-5. MLOps Component (Feature Store)
4-6. MLOps Component (Data Validation)
4-7. MLOps Component (Continuous Training)
4-8. MLOps Component (Monitoring)
4-9. MLOps Component (AutoML)
5. MLOps Components 정리
- Server/Infra
- GPU
- Serving
- Experiment, Model Management
- Feature Store
- Data Validation
- Continuous Training
- Monitoring
- AutoML
6. MLOps Component 개발
- 위의 모든 요소가 항상 필요하지는 않음
- MVP (Minimal Value Product) 부터 시작해서, 필요할때마다, 운영 리소스가 많이 소요될때 하나씩 구축하는 방식이 효율적이다.
7. MLOps 필요 이유
- Model를 Deploy 시, 환경설정, 트래픽 처리, 모델 성능 유지, 데이터 분석, 서비스 품질을 위한 모델 재훈련, 이 모든 과정을 위한 모니터링 등 정말 다양하고 많은 부분들이 필요하다. 개인적이고 소규모 프로젝트의 경우 위의 부분들을 수동으로 관리해도 어렵지 않을것이라고 생각한다. 하지만 만약 해당 서비스가 24/7 작동해야되고, 사용자가 많아진다면 자동화가 필수적일 것이며 MLOps가 필요한 이유일 것이라고 생각한다.
8. MLOps top3 (개인 의견)
- MLOps Component (Server/Infra) : Scalable한 서비스를 활용할때 필요해서 선정했다. (서비스의 안정)
- MLOps Component (Serving) : 훈련한 모델을 서비스의 형태로 제공하는 것이 핵심 요소라고 생각한다. (서비스의 상품)
- MLOps Component (Continuous Training) : 서비스의 품질을 유지하기 위한 요소 = 사용자가 계속 서비스를 사용하게 할 요소 (서비스의 품질)
'MLOps' 카테고리의 다른 글
MLOps - 6. Streamlit (0) | 2022.05.22 |
---|---|
MLOps - 5. Voila, ipywidget (0) | 2022.05.21 |
MLOps - 4. Voila, ipywidget (0) | 2022.05.20 |
MLOps - 3. 머신러닝 프로젝트 라이프 사이클 (0) | 2022.05.19 |
MLOps - 2. Model Serving (0) | 2022.05.18 |
댓글