MLOps has a lot of similarities with DevOps, in that it has origins in the latter. Essentially, MLOps exists because of the inherent differences between software engineering and machine learning projects. DevOps principles for software engineering are fairly robust and well established. But ML projects have some unique features such as
1 Exploratory in nature, sometimes there may not be a result or the result is not satisfactory
2 Data scientists and ML engineers are researchers and mathematicians who may not have the skills to produce production quality code
3 Added complexity in testing - need to test data validation, the model quality validation, and model validation
4 Continuous Integration (CI) is not just about code and components, it also needs to account for models, input data, and it’s schema.
5 Continuous Delivery (CD) is not just a single service or software but an entire ML pipeline (for various stages of the MLDC) which should serve the inference pipeline.
6 Continuous Training (CT) is unique to MLOps where the framework has mechanisms in place for retraining and calibrating models periodically.