结构化剪枝一切:任意架构、任意框架、任意时机
机器学习
2024-03-29 v1 计算机视觉与模式识别
摘要
神经网络剪枝是提升深度学习模型效率的关键技术。与仅将特定参数置零的非结构化剪枝不同,结构化剪枝会消除整个通道,从而直接带来计算和存储上的收益。然而,参数耦合的多样模式(如残差连接和分组卷积)、多样的深度学习框架,以及可执行剪枝的不同时间阶段,使得现有剪枝方法难以适应不同的架构、框架和剪枝准则。为解决这一问题,我们引入了 Structurally Prune Anything (SPA),这是一个通用的结构化剪枝框架,能够对任意架构、来自任意框架、在训练任意阶段的神经网络进行剪枝。SPA 利用标准化计算图和 ONNX 表示来剪枝多样的神经网络架构,无需人工干预。SPA 采用组级重要性估计方法,将相互依赖的计算算子分组,估计其重要性,并剪枝不重要的耦合通道。这使得能够将各种现有的剪枝准则转换为结构化组形式。因此,SPA 支持在任意时机进行剪枝,无论是在训练前、训练后微调,还是训练后不微调。在后一种情况下,我们引入了 Optimal Brain SPA (OBSPA) 算法,该算法无需微调或校准数据即可实现 SOTA 的剪枝结果。在大量实验中,SPA 在不同架构、来自流行框架、在不同剪枝时机下均展现出与 SOTA 剪枝方法相当的竞争性能。
引用
@article{arxiv.2403.18955,
title = {Structurally Prune Anything: Any Architecture, Any Framework, Any Time},
author = {Xun Wang and John Rachwan and Stephan Günnemann and Bertrand Charpentier},
journal= {arXiv preprint arXiv:2403.18955},
year = {2024}
}