DevOps places an emphasis on process, automation, and fosters a culture that encourages new ways of working together across teams. It application-centric paradigm that focuses on the platform, instrumentation, and process to support applications. AI/ML teams use an approach unique to machine learning projects where there are frequent, small iterations to refine the data features, the model, and the analytics question.
The ML process relies on the iteration of models and it can take hours or days for a model to train. Carve out a separate workflow to accommodate the timelines and artifacts for a model build and test cycle.
For ML teams, models have an expectation to deliver value over time rather than a one-time construction of the model. DevOps helps in adopting practices and processes that plan for and allow a model lifecycle and evolution.
DevOps is often considered as bringing together development, release, and operational expertise to deliver. DevOps ensure that ML is included throughout the design and development sessions.
There are two (equally consequential) inbound components: code and data. Data preparation, part of the data management process, involves collecting raw data from multiple sources and consolidating it into a file or database for analysis.
Model training and testing
The process of training an ML model involves providing an ML algorithm (that is, the learning algorithm) with training data to learn from. The term ML model refers to the model artifact that is created by the training process.
Model Evaluation helps to find the best model that represents our data. Evaluating model performance with the data used for training is not acceptable because it can easily generate overoptimistic and overfitted models.
Deployment and versioning
Continuous deployment is the latest automation that can really save you a lot of time when developing, testing and pushing to production your code. Instead of manually building your application and uploading to a server.
Production and monitoring
Production machine learning systems require constant monitoring, not just to keep the system online but also to ensure the model inference results are correct.
Sequential and continuous learning by injecting new knowledge without forgetting previous knowledge is a domain of machine learning which tries to mimic the human cognitive system.