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.
翻译:Docker是一种集装箱化服务,便于方便地部署网站、数据库、应用程序的API和机器学习(ML)模式,包含几行代码。最近的研究探索了Docker在部署一般软件项目时使用Docker的情况,没有具体侧重于Docker如何使用Docker来部署基于ML的项目。在这个研究中,我们进行了一项探索性研究,以了解Dock如何使用Docker来部署基于ML的项目。作为第一步,我们研究了使用Docker的基于 ML 的项目类别。我们随后检查了为什么和如何使用Docker项目,以及由此产生的Docker图像的特征。我们的研究结果表明,基于Mcker项目的六个方面使用Docker, 用于部署一般软件项目,包括ML应用程序、ML应用程序、工具包、DL框架、模型和文件文件。我们从21个主要类别的分类中得出了使用Docker的主要类别,包括基于模型的管理任务(例如测试、培训)。我们随后发现,Mcker工程师使用Docker 图像的主要用途是帮助平台的轻易操作性,例如将软件转移到操作系统内部的软盘。我们所操作的软盘中找到的软拷贝项目。