[论文解读] A Comprehensive Study on Challenges in Deploying Deep Learning Based Software
本文对深度学习(DL)软件在实际部署过程中面临的挑战进行了全面的实证研究,通过分析3,023篇Stack Overflow帖子,识别出关键的部署障碍。研究构建了一个涵盖移动、云和浏览器等平台的72项具体挑战的分类体系,为开发者、研究人员及深度学习框架供应商提供了切实可行的改进建议,以提升部署的可靠性与可用性。
Deep learning (DL) becomes increasingly pervasive, being used in a wide range of software applications. These software applications, named as DL based software (in short as DL software), integrate DL models trained using a large data corpus with DL programs written based on DL frameworks such as TensorFlow and Keras. A DL program encodes the network structure of a desirable DL model and the process by which the model is trained using the training data. To help developers of DL software meet the new challenges posed by DL, enormous research efforts in software engineering have been devoted. Existing studies focus on the development of DL software and extensively analyze faults in DL programs. However, the deployment of DL software has not been comprehensively studied. To fill this knowledge gap, this paper presents a comprehensive study on understanding challenges in deploying DL software. We mine and analyze 3,023 relevant posts from Stack Overflow, a popular Q&A website for developers, and show the increasing popularity and high difficulty of DL software deployment among developers. We build a taxonomy of specific challenges encountered by developers in the process of DL software deployment through manual inspection of 769 sampled posts and report a series of actionable implications for researchers, developers, and DL framework vendors.
研究动机与目标
- 识别并理解开发者在真实场景中部署深度学习软件时所面临的特定挑战。
- 研究深度学习软件部署的流行度上升及其难度相较于其他软件工程任务的增加趋势。
- 为包括移动、云和Web环境在内的多种平台,系统性地构建部署挑战的分类体系。
- 为研究人员、开发者及深度学习框架供应商提供切实可行的启示,以改进部署工具链与实践。
- 填补针对深度学习软件部署阶段的实证研究空白,该阶段相较于开发与训练阶段长期被研究忽视。
提出的方法
- 使用基于关键词的筛选与时间分析方法,收集并分析了3,023篇与深度学习软件部署相关的Stack Overflow帖子。
- 通过迭代编码与主题分析,对769篇抽样帖子进行人工检查,推导出全面的部署挑战分类体系。
- 根据平台(移动、云、浏览器)、技术领域(模型转换、兼容性、性能)及开发阶段对挑战进行分类。
- 采用定性主题分析方法,识别出框架不兼容、硬件限制及部署流水线复杂性等重复出现的问题。
- 通过与现有深度学习开发与部署文献对比,验证研究发现,突出部署阶段的独特挑战。
- 基于观察到的模式与痛点,生成针对开发者、研究人员及框架供应商的切实可行建议。
实验结果
研究问题
- RQ1开发者在不同平台上部署深度学习软件时,最常见的关键挑战是什么?
- RQ2与大数据处理或并发编程等其他软件工程挑战相比,深度学习软件部署的难度如何?
- RQ3在真实世界中的深度学习软件开发中,哪些具体的技术、环境及框架相关问题主导了部署过程?
- RQ4挑战在移动设备、云服务器和Web浏览器等不同部署目标之间有何差异?
- RQ5基于真实世界中的部署困难,可以得出哪些可操作的启示,以改进深度学习框架设计与开发者工具?
主要发现
- 深度学习软件的部署正变得日益普遍,且被认为比机器学习开发的其他阶段(包括模型训练与数据处理)更具挑战性。
- 在Stack Overflow上,模型部署是提问频率最高且最难的问题,甚至超过了核心开发问题。
- 识别出72项不同的挑战,分类包括模型转换、硬件兼容性、推理性能及框架特定限制等。
- 移动部署因资源受限而面临独特挑战,开发者常在模型量化、尺寸压缩及设备端推理效率方面遇到困难。
- 云环境与浏览器端部署面临框架兼容性、运行时环境差异以及从PC迁移至目标平台时性能下降等重大问题。
- 大量部署问题源于深度学习框架之间缺乏标准化接口与工具链,尤其是在从桌面训练环境迁移到生产平台时。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。