728x90
ML + Devops → ML 시스템에 Devops를 적용한 것이 MLOps라고 생각한다.
- MLOps는 ML의 전체 생명주기를 관리함
- ML 모델을 학습하고 배포하는 단계
- 데이터를 수집하고 분석하는 단계
- Data Collection, Ingestion, Analysis, Labeling, Validation, Preparation
DevOps vs MLOps
MLOps는 아래와 같은 점들에서 소프트웨어 시스템과 차이를 가진다.
- Testing
- 일반적인 단위, 통합 테스트 외에 데이터 검증, 학습된 모델 품질 평가, 모델 검증이 추가로 필요하다.
- Deployment
- 오프라인에서 학습된 ML모델을 배포하는 수준에 그치는 것이 아니라, 새 모델을 재 학습하고, 검증하는 과정을 자동화해야 한다.
- Production
- 일반적으로 알고리즘과 로직의 최적화를 통해 최적의 성능을 낼 수 있는 소프트웨어 시스템과 달리, ML 모델은 이에 더해서 지속적으로 진화하는 data profile 자체만으로도 성능이 저하될 수 있다.즉, 기존 소프트웨어 시스템보다 더 다양한 이유로 성능이 손상될 수 있으므로, 데이터의 summary statistics를 꾸준히 추적하고, 모델의 온라인 성능을 모니터링하여 값이 기대치를 벗어나면 알림을 전송하거나 롤백을 할 수 있어야 한다.
- CI (Continuous Integration)
- CI는 code와 components뿐만 아니라 data, data schema, model에 대해 모두 테스트되고 검증되어야 한다.
- CD (Continuous Delivery)
- 단일 소프트웨어 패키지가 아니라 ML 학습 파이프라인 전체를 배포해야한다.
- CT (Continuous Training)
- ML 시스템만의 속성으로, 모델을 자동으로 학습시키고 평가하는 단계이다.
반응형
'Server Programming > DevOps' 카테고리의 다른 글
| docker timezone (0) | 2022.02.01 |
|---|---|
| Docker 기본 사용법 (0) | 2022.02.01 |
| Azure Key-valut를 이용한 백업 프로세스 구축 (0) | 2022.01.28 |
| MSA 설계 (0) | 2022.01.28 |
| Docker 에 관한 기본 정리 (0) | 2022.01.24 |