Studying the Practices of Deploying Machine Learning Projects on Docker

06/01/2022
by   Moses Openja, et al.
0

Docker is a containerization service that allows for convenient deployment of websites, databases, applications' APIs, and machine learning (ML) models with a few lines of code. Studies have recently explored the use of Docker for deploying general software projects with no specific focus on how Docker is used to deploy ML-based projects. In this study, we conducted an exploratory study to understand how Docker is being used to deploy ML-based projects. As the initial step, we examined the categories of ML-based projects that use Docker. We then examined why and how these projects use Docker, and the characteristics of the resulting Docker images. Our results indicate that six categories of ML-based projects use Docker for deployment, including ML Applications, MLOps/ AIOps, Toolkits, DL Frameworks, Models, and Documentation. We derived the taxonomy of 21 major categories representing the purposes of using Docker, including those specific to models such as model management tasks (e.g., testing, training). We then showed that ML engineers use Docker images mostly to help with the platform portability, such as transferring the software across the operating systems, runtimes such as GPU, and language constraints. However, we also found that more resources may be required to run the Docker images for building ML-based software projects due to the large number of files contained in the image layers with deeply nested directories. We hope to shed light on the emerging practices of deploying ML software projects using containers and highlight aspects that should be improved.

READ FULL TEXT

page 5

page 6

page 10

research
03/11/2023

NICHE: A Curated Dataset of Engineered Machine Learning Projects in Python

Machine learning (ML) has gained much attention and been incorporated in...
research
05/02/2020

Minerva: A Portable Machine Learning Microservice Framework for Traditional Enterprise SaaS Applications

In traditional SaaS enterprise applications, microservices are an essent...
research
03/06/2021

On the experiences of adopting automated data validation in an industrial machine learning project

Background: Data errors are a common challenge in machine learning (ML) ...
research
03/08/2023

Defectors: A Large, Diverse Python Dataset for Defect Prediction

Defect prediction has been a popular research topic where machine learni...
research
03/16/2021

Who Needs MLOps: What Data Scientists Seek to Accomplish and How Can MLOps Help?

Following continuous software engineering practices, there has been an i...
research
06/22/2020

Leveraging traditional ecological knowledge in ecosystem restoration projects utilizing machine learning

Ecosystem restoration has been recognized to be critical to achieving ac...
research
12/15/2022

A Data Source Dependency Analysis Framework for Large Scale Data Science Projects

Dependency hell is a well-known pain point in the development of large s...

Please sign up or login with your details

Forgot password? Click here to reset