In the previous post, ten strategies to implement ai on the cloud and edge, I discussed strategies for end to end deployment for machine learning modules.
How this relates to Agile?
Deployment of AI comes within the scope the normal SDLC (software development lifecycle)
So, normal Agile techniques like scrum, sprints, backlog planning, release planning, test driven development and acceptance criteria also apply to deployment of machine learning models in production.
However, combining DevOps with development adds an extra level of complexity to machine learning. We need end to end pipelines and also CI/CD (Continuous Integration/Continuous Delivery)
We introduce other issues such as the need for champion/ challenger models
However, the Cloud simplifies some of the complexity. For example – MLFlow (from databricks) is integrated into Azure . Amazon sagemaker provides an end-to-end workflow for managing machine learning models into production. Azure devops provides a good framework for Agile – Cloud – DevOps and even Edge into one framework. A good book I recommend is Agile Project Management with Azure DevOps
An end to end view as below
Diagram source Raj Sharma as presented in the Artificial Intelligence Cloud and Edge implementations course
To conclude:
- Agile and software engineering principles apply to machine learning
- The addition of devops adds an added layer of complexity
- The Cloud provides and integrated approach and hence simplifies deployments