MLOps
ML 시스템의 개발, 배포, 운영을 자동화하고 관리하기 위한 방법론과 도구. DevOps 원칙을 머신러닝에 적용한 것.
MLOps가 필요한 이유
| 문제 |
증상 |
MLOps 해결책 |
| 재현 불가능 |
동일 코드로 다른 결과 |
환경/데이터/코드 버저닝 |
| 배포 지연 |
모델 개발 후 프로덕션까지 수개월 |
CI/CD 파이프라인 |
| 모니터링 부재 |
성능 저하 인지 불가 |
실시간 모니터링/알림 |
| 협업 어려움 |
실험 추적 불가 |
실험 관리 플랫폼 |
| 데이터 드리프트 |
모델 성능 점진적 저하 |
자동 재학습 파이프라인 |
MLOps 성숙도 레벨
Level 0: 수동 프로세스
- Jupyter 노트북에서 실험
- 수동 배포
- 모니터링 없음
Level 1: ML 파이프라인 자동화
- 자동화된 학습 파이프라인
- 실험 추적
- 기본 모니터링
Level 2: CI/CD 파이프라인
- 코드/데이터/모델 버저닝
- 자동 테스트
- 자동 배포
Level 3: 완전 자동화
- 자동 재학습
- A/B 테스트
- 모델 거버넌스
핵심 구성 요소
1. 워크플로우 오케스트레이션
2. 실험 및 모델 관리
3. 데이터 관리
4. 모델 운영
5. 자동화
MLOps 아키텍처 개요
+------------------+ +------------------+ +------------------+
| Data Layer | | ML Platform | | Serving Layer |
+------------------+ +------------------+ +------------------+
| | | | | |
| - Feature Store |---->| - Experiment |---->| - Model Registry |
| - Data Version | | Tracking | | - Serving Infra |
| - Data Quality | | - Training Infra | | - A/B Testing |
| | | - AutoML | | |
+------------------+ +------------------+ +------------------+
| | |
v v v
+--------------------------------------------------------------+
| Monitoring & Observability |
+--------------------------------------------------------------+
| - Data Drift | - Model Performance | - System Metrics |
+--------------------------------------------------------------+
도구 스택
| 영역 |
도구 |
용도 |
| 오케스트레이션 |
Airflow, Prefect, Dagster |
파이프라인 관리 |
| 실험 추적 |
MLflow, Weights & Biases, Neptune |
실험 로깅 |
| 데이터 버저닝 |
DVC, LakeFS |
데이터 버전 관리 |
| Feature Store |
Feast, Tecton, Vertex AI |
특성 관리 |
| 모델 서빙 |
TorchServe, Triton, vLLM |
모델 배포/추론 |
| 모니터링 |
Evidently, Arize, Fiddler |
성능 모니터링 |
학습 우선순위
1. 실험 추적 (MLflow 기본)
|
v
2. 파이프라인 자동화 (Airflow)
|
v
3. 모델 버저닝 (DVC + MLflow)
|
v
4. CI/CD 구축
|
v
5. Feature Store
|
v
6. 모니터링/Drift Detection
참고 자료