| Convolutional Neural Networks have achieved great success in image recognition,object segmentation,and speech recognition.With the development of algorithms,Convolutional Neural Networks have become deeper and more complex,The amount of computation needed by Convolutional Neural Networks increases rapidly.The running platform of the Convolutional Neural Network is not limited to the hardware of the data center,Convolutional Neural Network algorithms also play a significant role on edge devices.Compared with data centers,edge devices have extremely limited computing power and power reserves,Therefore,it is difficult to deploy these complex Convolutional Neural Network models to edge devices.In order to deploy the Convolutional Neural Network model to edge devices,researchers use pruning algorithm to sparse the Convolutional Neural Network.Under certain model sparsity,the pruning algorithm can generate a sparse Convolutional Neural Network that will not reduce the model accuracy,thereby greatly reducing the amount of computation needed by Convolutional Neural Network.Pruning technology can be divided into structured pruning technology and unstructured pruning technology.These two pruning techniques have certain disadvantages.On the one hand,existing structured pruning techniques are mainly based on single standard to prune convolution kernels,single standard convolution kernel pruning criterion may not be able to distinguish the unimportant convolution kernels in the convolutional neural network to the greatest extent.Therefore,structural pruning of Convolutional Neural Networks cannot be performed to the greatest extent.At the same time,under the premise of not compromising the accuracy of the model,the sparsity of the models produced by structured pruning techniques is much lower than that produced by unstructured pruning techniques.On the other hand,unstructured pruning techniques produce irregular parameter matrix in the model,these sparse models will meet load balancing issues when running on accelerators,that severely limits system performance and energy efficiency.This paper studies the above problems,The main contributions are as follows:(1)This paper proposes a convolution kernel pruning technique based on functional similarity,this pruning technology can prune the model very well.This paper further proposes to combine this pruning technique with the norm-based convolution kernel pruning technique to prune Convolutional Neural Networks.The experimental results show that under the same model pruning ratio,the hybrid convolution kernel pruning technique can obtain higher model accuracy than the single standard convolution kernel pruning technique.(2)This paper proposes a load balancing technology,the performance and energy efficiency of accelerators can be improved when running sparse models by using this load balancing technology.Based on that,we studied the accelerator energy consumption and latency changes when running those different pruned models.Experimental results show that,the sparse model obtained by the unstructured pruning strategy achieves the largest energy reduction and latency reduction when running on the accelerator. |