微软、浙大研究者提出剪枝框架OTO,无需微调即可获得轻量级架构

机器之心报道
作者:HecateHe
来自微软、浙江大学等机构的研究者提出了一种one-shotDNN剪枝框架 , 无需微调即可从大型神经网络中得到轻量级架构 , 在保持模型高性能的同时还能显著降低所需算力 。
大型神经网络学习速度很快 , 性能也往往优于其他较小的模型 , 但它们对资源的巨大需求限制了其在现实世界的部署 。
剪枝是最常见的DNN压缩方法之一 , 旨在减少冗余结构 , 给DNN模型瘦身的同时提高其可解释性 。 然而 , 现有的剪枝方法通常是启发式的 , 而且只针对特定任务 , 还非常耗时 , 泛化能力也很差 。
在一篇标题为《OnlyTrainOnce:AOne-ShotNeuralNetworkTrainingAndPruningFramework》的论文中 , 来自微软、浙江大学等机构的研究者给出了针对上述问题的解决方案 , 提出了一种one-shotDNN剪枝框架 。 它可以让开发者无需微调就能从大型神经网络中得到轻量级架构 。 这种方法在保持模型高性能的同时显著降低了其所需的算力 。
微软、浙大研究者提出剪枝框架OTO,无需微调即可获得轻量级架构
文章图片
论文链接:https://arxiv.org/pdf/2107.07467.pdf
该研究的主要贡献概括如下:
One-Shot训练和剪枝 。 研究者提出了一个名为OTO(Only-Train-Once)的one-shot训练和剪枝框架 。 它可以将一个完整的神经网络压缩为轻量级网络 , 同时保持较高的性能 。 OTO大大简化了现有剪枝方法复杂的多阶段训练pipeline , 适合各种架构和应用 , 因此具有通用性和有效性 。 Zero-InvariantGroup(ZIG) 。 研究者定义了神经网络的zero-invariantgroup 。 如果一个框架被划分为ZIG , 它就允许我们修剪zerogroup , 同时不影响输出 , 这么做的结果是one-shot剪枝 。 这种特性适用于全连接层、残差块、多头注意力等多种流行结构 。 新的结构化稀疏优化算法 。 研究者提出了Half-SpaceStochasticProjectedGradient(HSPG) , 这是一种解决引起正则化问题的结构化稀疏的方法 。 研究团队在实践中展示并分析了HSPG在促进zerogroup方面表现出的优势(相对于标准近端方法) 。 ZIG和HSPG的设计是网络无关的 , 因此OTO对于很多应用来说都是通用的 。 实验结果 。 利用本文中提出的方法 , 研究者可以从头、同时训练和压缩完整模型 , 无需为了提高推理速度和减少参数而进行微调 。 在VGGforCIFAR10、ResNet50forCIFAR10/ImageNet和BertforSQuAD等基准上 , 该方法都实现了SOTA结果 。方法及实验介绍
微软、浙大研究者提出剪枝框架OTO,无需微调即可获得轻量级架构
文章图片
微软、浙大研究者提出剪枝框架OTO,无需微调即可获得轻量级架构
文章图片
OTO的结构非常简单 。 给定一个完整的模型 , 首先将可训练的参数划分为ZIG集 , 产生了一个结构化稀疏优化问题 , 通过一个新的随机优化器(HSPG)得出高度组稀疏的解 。 最后通过剪枝这些zerogroup得到一个压缩模型 。
团队提出的HSPG随机优化算法是针对非光滑正则化问题而设计的 , 与经典算法相比 , 该算法在保持相似收敛性的同时 , 能够更有效地增强群体稀疏性搜索 。
为了评估OTO在未经微调的one-shot训练和剪枝中的性能 , 研究者在CNN的基准压缩任务进行了实验 , 包括CIFAR10的VGG16 , CIFAR10的ResNet50和ImagetNet(ILSVRC2012) , 研究者比较了OTO与其当前各个SOTA算法在Top-1精度和Top-5精度、剩余的FLOPs和相应的baseline参数 。
微软、浙大研究者提出剪枝框架OTO,无需微调即可获得轻量级架构
文章图片
表1:CIFAR10中的VGG16及VGG16-BN模型表现 。
在CIFAR10的VGG16实验中 , OTO将浮点数减少了83.7% , 将参数量减少了97.5% , 性能表现令人印象深刻 。
在CIFAR10的ResNet50实验中 , OTO在没有量化的情况下优于SOTA神经网络压缩框架AMC和ANNC , 仅使用了12.8%的FLOPs和8.8%的参数 。