CI/CD Pipelines for ML Models (MLOps)
Data scientists often work in isolated Jupyter notebooks. To push models to production reliably, we built an MLOps pipeline using GitHub Actions, DVC, and MLflow.
Table of contents:
Data Version Control (DVC)
Git is terrible at tracking large datasets. We use DVC to version our training data alongside our code, storing the actual heavy files in S3 while keeping lightweight pointers in Git.
Automated Model Evaluation
Before a newly trained model is deployed, our CI pipeline runs inference on a golden validation dataset, asserting that accuracy and loss metrics meet predefined thresholds.
Shadow Deployments
A new model is deployed alongside the old one. We duplicate traffic to both, but only return the old model's results, monitoring the new model for anomalies before switching over completely.