Tucker decomposition is one of the SOTA CNN model compression techniques. However, unlike the FLOPs reduction, we observe very limited inference time reduction with Tucker-compressed models using existing GPU software such as cuDNN. To this end, we propose an efficient end-to-end framework that can generate highly accurate and compact CNN models via Tucker decomposition and optimized inference code on GPUs. Specifically, we propose an ADMM-based training algorithm that can achieve highly accurate Tucker-format models. We also develop a high-performance kernel for Tucker-format convolutions and analytical performance models to guide the selection of execution parameters. We further propose a co-design framework to determine the proper Tucker ranks driven by practical inference time (rather than FLOPs). Our evaluation on five modern CNNs with A100 demonstrates that our compressed models with our optimized code achieve up to 2.21X speedup over cuDNN, 1.12X speedup over TVM, and 3.27X over the original models using cuDNN with at most 0.05% accuracy loss.
翻译:塔克分解是SOTA CNN 模式压缩技术之一。 然而,与FLOPs的缩减不同,我们观察到使用现有的GPU软件(如 cuDN),塔克压缩模型的推导时间减少非常有限。为此,我们提议了一个高效的端对端框架,通过塔克分解和最佳推导码生成高度准确和紧凑的CNN模型。具体地说,我们提议一个基于ADMM的ADM培训算法,可以实现非常精确的塔克格式模型。我们还为塔克格式的变异和分析性能模型开发了一个高性能内核圈,以指导执行参数的选择。我们进一步提议了一个共同设计框架,以确定由实际推算时间(而不是FLOPs)驱动的适当的塔克级。我们用A100对5个现代CNNE的评价表明,我们优化编码的压缩模型在CUDNN、1.12X超TVM和3.27X的原始模型上达到2.21X加速度,最高精确度损失0.05%。