Šta je CI/CD u kontekstu data science-a?
- CI (Continuous Integration) omogućava da svaki commit pokrene automatsko testiranje i validaciju modela
- CD (Continuous Deployment) omogućava da se validirani modeli automatski implementiraju u produkciju ili staging
Tipičan tok
- Data Scientist kreira model u Jupyter Notebook-u
- Model se eksportuje kao
.pkl
,.joblib
ili.onnx
- CI pokreće automatske testove (unit + data testove)
- CD pipeline šalje model na server (npr. AWS S3, Azure ML, Firebase)
- Deployment koristi Docker + Kubernetes ili serverless rešenja
Alati koji se koriste
- GitHub Actions / GitLab CI
- Docker, MLflow, DVC
- Terraform / Ansible za infrastrukturu
- Streamlit / FastAPI za API servise
Prednosti za timove
- Stabilnost modela i transparentnost procesa
- Automatski rollback u slučaju grešaka
- Praćenje performansi modela kroz verzije
- Brža i sigurnija isporuka korisnicima
Moj primer: integracija GitHub Actions sa ML pipeline-om
U jednom od mojih projekata, napravljen je CI/CD tok u kojem svaki pull request:
- pokreće validaciju dataset-a i modela
- generiše test report
- automatski ažurira model u API servisu putem Docker image-a
Rezultat: vreme isporuke skraćeno za 60%, uz stabilnost i ponovljivost eksperimenata.