MLOps — Machine Learning Operations
MLOps applies DevOps principles to ML — automating model training, deployment, monitoring, and maintenance.
MLOps Lifecycle
Data Pipeline → Training → Evaluation → Deployment → Monitoring
↑ │
└────────────────────────────────────────────────────┘
(Feedback Loop)
Tools:
├─ Data: DVC, Feature Store, Great Expectations
├─ Training: MLflow, Weights & Biases, DVC
├─ Deployment: Docker, Kubernetes, Seldon
├─ Monitoring: Evidently, Whylabs, Prometheus
└─ Orchestration: Airflow, Kubeflow, Prefect
Experiment Tracking
import mlflow
# Log experiment
mlflow.log_param("learning_rate", 0.001)
mlflow.log_param("batch_size", 32)
mlflow.log_metric("accuracy", 0.95)
mlflow.log_metric("loss", 0.12)
# Log model
mlflow.sklearn.log_model(model, "model")
Model Deployment
Options:
├─ REST API (FastAPI, Flask)
├─ Serverless (AWS Lambda, GCP Functions)
├─ Container (Docker + Kubernetes)
├─ Edge (ONNX, TFLite)
└─ Managed (SageMaker, Vertex AI)
Model Monitoring
Monitor:
├─ Data drift: Input distribution changes
├─ Model drift: Performance degrades
├─ Prediction drift: Output distribution changes
└─ Latency/throughput
When drift detected → trigger retraining
Key Takeaways
- MLOps = DevOps for ML
- Experiment tracking is essential for reproducibility
- Version control for data, code, and models
- Automated pipelines reduce manual errors
- Monitoring detects model degradation
- A/B testing validates model updates
- CI/CD for model deployment
- Feature stores ensure consistent features