machine learning operations (MLOps)
Machine learning operations (MLOps) is a set of practices for building, deploying, and maintaining machine learning models in production, applying the automation and collaboration principles of DevOps to the whole model lifecycle.
MLOps governs the system around a model rather than the model itself, spanning data preparation, training, evaluation, deployment, and the monitoring of live inference:
Its defining constraint is that an ML system’s behavior depends on data as much as on code, so version control, testing, and release gates extend to datasets and trained models.
Its core practices borrow their names from software delivery:
- Continuous integration: Automated checks validate data schemas and model artifacts, not just source code.
- Continuous delivery: The unit being shipped is a training pipeline that deploys a prediction service.
- Continuous training: Retraining fires automatically on a schedule, on new data, or on a drop in live accuracy.
- Continuous monitoring: Live predictions are watched for drift, where incoming data shifts away from the training distribution.
Two pieces of infrastructure recur in most setups. A feature store serves identical feature values to training and serving code, which prevents training-serving skew. A model registry versions trained models alongside their metrics, so audits and rollbacks stay possible. MLflow and Kubeflow are common open-source implementations.
The same discipline applied to large language models is usually called LLMOps. There the model is typically a foundation model adapted through fine-tuning or retrieval-augmented generation rather than trained from scratch, and prompts are versioned and tested like code. Evaluation leans on human or model-based judging rather than a single accuracy score.
Related Resources
Tutorial
Continuous Integration and Deployment for Python With GitHub Actions
With most software following agile methodologies, it's essential to have robust DevOps systems in place to manage, maintain, and automate common tasks with a continually changing codebase. By using GitHub Actions, you can automate your workflows efficiently, especially for Python projects.
For additional information on related topics, take a look at the following resources:
- Continuous Integration With Python: An Introduction (Tutorial)
- Python Continuous Integration and Deployment Using GitHub Actions (Course)
- Build Robust Continuous Integration With Docker and Friends (Tutorial)
- Split Your Dataset With scikit-learn's train_test_split() (Tutorial)
- Setting Up Python for Machine Learning on Windows (Tutorial)
- GitHub Actions for Python (Quiz)
- Continuous Integration With Python (Course)
- Continuous Integration With Python: An Introduction (Quiz)
- Splitting Datasets With scikit-learn and train_test_split() (Course)
- Split Your Dataset With scikit-learn's train_test_split() (Quiz)
- Setting Up Python for Machine Learning on Windows (Quiz)
Have a question about this? Mentor AI can show you examples, compare related terms, and point you to tutorials.
By Martin Breuss • Updated Oct. 8, 2026