中文

基于 Docker 的机器学习项目部署实践研究

软件工程 2022-06-03 v1 人工智能

摘要

Docker 是一项容器化服务,仅需几行代码即可便捷地部署网站、数据库、应用程序 API 和机器学习(ML)模型。近期研究探讨了 Docker 在部署通用软件项目中的使用,但未专门关注 Docker 如何用于部署基于 ML 的项目。在本研究中,我们开展了一项探索性研究,以理解 Docker 如何被用于部署基于 ML 的项目。作为初始步骤,我们考察了使用 Docker 的基于 ML 项目的类别。随后我们考察了这些项目使用 Docker 的原因与方式,以及所生成 Docker 镜像的特征。我们的结果表明,六类基于 ML 的项目使用 Docker 进行部署,包括 ML 应用、MLOps/AIOps、工具包、深度学习框架、模型和文档。我们推导出代表使用 Docker 目的的 21 个主要类别的分类法,包括特定于模型的如模型管理任务(例如测试、训练)。我们随后表明,ML 工程师使用 Docker 镜像主要是为了帮助平台可移植性,例如跨操作系统、GPU 等运行时和语言约束转移软件。然而,我们也发现,由于镜像层中包含大量具有深层嵌套目录的文件,运行用于构建基于 ML 的软件项目的 Docker 镜像可能需要更多资源。我们希望能阐明使用容器部署 ML 软件项目的新兴实践,并突出应改进的方面。

关键词

引用

@article{arxiv.2206.00699,
  title  = {Studying the Practices of Deploying Machine Learning Projects on Docker},
  author = {Moses Openja and Forough Majidi and Foutse Khomh and Bhagya Chembakottu and Heng Li},
  journal= {arXiv preprint arXiv:2206.00699},
  year   = {2022}
}