用于深度神经网络压缩的并行分块知识蒸馏
机器学习
2020-12-08 v1
摘要
如今,深度神经网络(DNNs)在自然语言处理、语音识别和计算机视觉等许多具有挑战性的人工智能任务中取得了极大成功。然而,DNNs通常计算密集、内存需求高且功耗大,这极大限制了其在资源受限平台上的使用。因此,人们提出了多种压缩技术(如量化、剪枝和知识蒸馏)以减小DNNs的规模与功耗。分块知识蒸馏是能有效缩减高度复杂DNN规模的压缩技术之一,但由于训练时间长而未被广泛采用。本文中,我们提出了一种新颖的并行分块蒸馏算法来加速复杂DNNs的蒸馏过程。我们的算法利用局部信息执行独立的分块蒸馏,采用深度可分离层作为高效的替换块架构,并妥善解决了影响并行性的限制因素(如依赖性、同步与负载均衡)。在配备四块Geforce RTX 2080Ti GPU的AMD服务器上运行的实验结果表明,我们的算法在VGG蒸馏上可实现3倍加速加19%节能,在ResNet蒸馏上可实现3.5倍加速加29%节能,且精度损失可忽略。在分布式集群中使用四块RTX6000 GPU时,ResNet蒸馏的加速比可进一步提升至3.87。
引用
@article{arxiv.2012.03096,
title = {Parallel Blockwise Knowledge Distillation for Deep Neural Network Compression},
author = {Cody Blakeney and Xiaomin Li and Yan Yan and Ziliang Zong},
journal= {arXiv preprint arXiv:2012.03096},
year = {2020}
}