A Platform-Agnostic Deployment Framework for Machine Learning Models: A Case Study with an Image Accessibility Application
Abstract
This thesis explores the integration of DevOps practices into deploying machine learning (ML) models across various cloud platforms. It addresses the challenges of deploying across multiple cloud environments by proposing a platform-independent framework that automates provisioning and deployment through continuous integration (CI) and continuous delivery (CD). Utilizing tools like Terraform for infrastructure provisioning and GitLab CI/CD for deployment automation, the framework aims to enhance operational flexibility and reduce reliance on any single cloud provider.The methodology includes analyzing existing strategies, developing the framework, and conducting experiments to test the automated processes’ efficacy compared to traditional methods. The results show significant reductions in deployment times and errors, demonstrating a reliable process for deploying ML applications. Furthermore, this thesis analyses specific challenges associated with automating the deployment of ML models, which typically require extensive development and deployment time, leading to significant resource consumption and complexity, particularly when migrating between different cloud providers. For our case study, we concentrated on developing a deployment strategy for an image accessibility application. This application includes an image description generator, and a model to assess the quality of the descriptions it produces. Our goal was to automate the building of these containerized services and ensure they could be scaled and maintained effortlessly across different cloud environments. By implementing CI/CD principles, using infrastructure-as-code software, and employing Docker and Kubernetes for containerization, we were able to reduce the time and complexity involved in deploying and managing these containerized ML services. This framework has shown great potential in enhancing operational efficiencies and simplifying deployment processes in cloud settings, making it a crucial asset in the rapidly evolving field of AI-driven applications.Keywords: DevOps, CI/CI, GitLab, Image Accessibility Applications, Platform-agnostic, Automation, Microservices, Containerization, etc.