Reusing Deep Learning Models: Challenges and Directions in Software Engineering

James C. Davis,Purvish Jajal,Wenxin Jiang,Taylor R. Schorlemmer,Nicholas Synovic,George K. Thiruvathukal
2024-04-25
Abstract:Deep neural networks (DNNs) achieve state-of-the-art performance in many areas, including computer vision, system configuration, and question-answering. However, DNNs are expensive to develop, both in intellectual effort (e.g., devising new architectures) and computational costs (e.g., training). Reusing DNNs is a promising direction to amortize costs within a company and across the computing industry. As with any new technology, however, there are many challenges in reusing DNNs. These challenges include both missing technical capabilities and missing engineering practices.
Software Engineering
What problem does this paper attempt to address?
The problem that this paper attempts to solve is the challenges faced by the reuse of deep neural networks (DNNs) in software engineering. Specifically, the paper explores how to effectively reuse existing deep - learning models to reduce development costs and improve efficiency, while pointing out the current deficiencies in technical capabilities and engineering practices during the reuse process. ### 1. **Background and Motivation** Deep neural networks (DNNs) have achieved state - of - the - art performance in many fields such as computer vision, system configuration, and question - answering systems. However, developing DNNs requires a great deal of intellectual investment (for example, designing new architectures) as well as high computational costs (for example, training). Therefore, reusing DNNs has become a promising direction, which can share these costs within companies and across the entire computing industry. However, due to the special nature of DNNs, reusing them also faces many challenges. ### 2. **Main Problems** The paper divides the reuse of DNNs into three paradigms: - **Concept Reuse**: Copy and redesign DNN techniques from sources such as academic literature and integrate them into new projects. This involves understanding and implementing existing algorithms, model architectures, or other concepts. - **Adaptive Reuse**: Modify existing pre - trained DNN models to solve different learning tasks. This can be achieved through techniques such as transfer learning or knowledge distillation. - **Deployment Reuse**: Convert pre - trained DNN models and deploy them in different computing environments. This usually involves converting the model from one representation form to another and compiling to optimize hardware performance. ### 3. **Specific Challenges** #### Challenges in Concept Reuse - **Result Reproducibility**: Ensure that published results can be reproduced using the same code and data set. Since many state - of - the - art models are still in the research prototype stage and lack strict testing and documentation, this leads to a "reproducibility crisis". - **Model Copying and Reconstruction**: Even with reference to the original code, there are difficulties in copying and reconstructing DNNs. The portability of operations between different frameworks and performance debugging are the main obstacles. #### Challenges in Adaptive Reuse - **Technical Adaptability**: When adjusting existing DNN models through techniques such as transfer learning, data set labeling, and knowledge distillation, engineers need to deal with the challenges brought by hardware constraints and environmental differences. - **Decision - making**: Selecting an appropriate DNN model for reuse is a complex process, involving issues such as model selection, performance differences, and security and privacy risks. #### Challenges in Deployment Reuse - **Framework - Hardware Interoperability**: There may be significant differences between the development environment (for training and testing) and the deployment environment, leading to interoperability problems. - **Trust Building**: Establishing trust in the DL supply chain is also an important issue, especially in the face of various types of attacks against DNNs (such as training - time attacks, inference - time attacks, etc.). ### 4. **Future Directions** The paper proposes several open questions worthy of the community's attention, including improving the technical means of each reuse method, as well as standardizing software engineering practices and tool development to promote the effective reuse of DNNs. In summary, this paper aims to reveal the key challenges in the DNN reuse process and point out the direction for future research and development.