Training deep neural network (DNN) models, which has become an important task in today's software development, is often costly in terms of computational resources and time. With the inspiration of software reuse, building DNN models through reusing existing ones has gained increasing attention recently. Prior approaches to DNN model reuse have two main limitations: 1) reusing the entire model, while only a small part of the model's functionalities (labels) are required, would cause much overhead (e.g., computational and time costs for inference), and 2) model reuse would inherit the defects and weaknesses of the reused model, and hence put the new system under threats of security attack. To solve the above problem, we propose SeaM, a tool that re-engineers a trained DNN model to improve its reusability. Specifically, given a target problem and a trained model, SeaM utilizes a gradient-based search method to search for the model's weights that are relevant to the target problem. The re-engineered model that only retains the relevant weights is then reused to solve the target problem. Evaluation results on widely-used models show that the re-engineered models produced by SeaM only contain 10.11% weights of the original models, resulting 42.41% reduction in terms of inference time. For the target problem, the re-engineered models even outperform the original models in classification accuracy by 5.85%. Moreover, reusing the re-engineered models inherits an average of 57% fewer defects than reusing the entire model. We believe our approach to reducing reuse overhead and defect inheritance is one important step forward for practical model reuse.
翻译:训练深度神经网络(DNN)模型已成为当今软件开发中的重要任务,但通常需要高昂的计算资源和时间成本。受软件复用的启发,通过复用现有模型来构建DNN模型的方法近年来日益受到关注。现有DNN模型复用方法存在两大主要缺陷:1) 复用整个模型时,若仅需模型部分功能(标签),会导致大量额外开销(如推理的计算成本与时间消耗);2) 模型复用的过程会继承原模型中的缺陷与弱点,使新系统面临安全攻击威胁。针对上述问题,本文提出SeaM工具,通过对已训练DNN模型进行重构来提升其可复用性。具体而言,给定目标问题与已训练模型,SeaM利用基于梯度的搜索方法,搜索与目标问题相关的模型权重。经重构后仅保留相关权重的模型将被复用于解决目标问题。在广泛使用的模型上的评估结果显示,SeaM生成的重构模型仅保留原模型10.11%的权重,推理时间减少42.41%。针对目标问题,重构模型的分类准确率甚至比原模型高5.85%。此外,复用重构模型所继承的缺陷比复用完整模型平均减少57%。我们认为,这种降低复用开销与缺陷继承性的方法为模型复用实践迈出了重要一步。