Title
An empirical study on program failures of deep learning jobs
Abstract
ABSTRACTDeep learning has made significant achievements in many application areas. To train and test models more efficiently, enterprise developers submit and run their deep learning programs on a shared, multi-tenant platform. However, some of the programs fail after a long execution time due to code/script defects, which reduces the development productivity and wastes expensive resources such as GPU, storage, and network I/O. This paper presents the first comprehensive empirical study on program failures of deep learning jobs. 4960 real failures are collected from a deep learning platform in Microsoft. We manually examine their failure messages and classify them into 20 categories. In addition, we identify the common root causes and bug-fix solutions on a sample of 400 failures. To better understand the current testing and debugging practices for deep learning, we also conduct developer interviews. Our major findings include: (1) 48.0% of the failures occur in the interaction with the platform rather than in the execution of code logic, mostly due to the discrepancies between local and platform execution environments; (2) Deep learning specific failures (13.5%) are mainly caused by inappropriate model parameters/structures and framework API misunderstanding; (3) Current debugging practices are not efficient for fault localization in many cases, and developers need more deep learning specific tools. Based on our findings, we further suggest possible research topics and tooling support that could facilitate future deep learning development.
Year
DOI
Venue
2020
10.1145/3377811.3380362
International Conference on Software Engineering
Keywords
DocType
ISSN
Deep learning jobs, Program failures, Empirical study
Conference
0270-5257
Citations 
PageRank 
References 
6
0.43
0
Authors
6
Name
Order
Citations
PageRank
Ru Zhang1186.11
Wencong Xiao2836.46
Hongyu Zhang386450.03
Yang Liu48320.95
Haoxiang Lin51819.29
Mao Yang6297.41