[论文解读] Enabling Sparse Winograd Convolution by Native Pruning
该论文提出了一种原生剪枝方法,用于Winograd卷积层,在Winograd参数中实现了超过90%的稀疏性,且精度损失极小(在ImageNet上仅0.1%),通过自定义稀疏Winograd核实现,使在Intel Xeon CPU上相比密集直接卷积实现5.4倍加速,相比理想密集Winograd卷积实现2.1倍加速。
Sparse methods and the use of Winograd convolutions are two orthogonal approaches, each of which significantly accelerates convolution computations in modern CNNs. Sparse Winograd merges these two and thus has the potential to offer a combined performance benefit. Nevertheless, training convolution layers so that the resulting Winograd kernels are sparse has not hitherto been very successful. By introducing a Winograd layer in place of a standard convolution layer, we can learn and prune Winograd coefficients "natively" and obtain sparsity level beyond 90% with only 0.1% accuracy loss with AlexNet on ImageNet dataset. Furthermore, we present a sparse Winograd convolution algorithm and implementation that exploits the sparsity, achieving up to 31.7 effective TFLOP/s in 32-bit precision on a latest Intel Xeon CPU, which corresponds to a 5.4x speedup over a state-of-the-art dense convolution implementation.
研究动机与目标
- 为解决在空间域剪枝时由于变换不可逆而导致难以实现Winograd卷积核高稀疏性的挑战。
- 通过用直接训练和剪枝Winograd系数的原生Winograd层替代标准卷积层,消除空间参数与Winograd参数之间的不一致性。
- 开发一种优化的稀疏Winograd卷积实现,有效利用高稀疏性,实现在现代CPU上的实际推理加速。
- 证明在Winograd域中进行原生剪枝可实现比空间域剪枝更高的表达能力与更高效的剪枝效果。
提出的方法
- 用直接参数化和训练Winograd系数而非空间核的Winograd层替代标准卷积层。
- 在Winograd域中直接应用基于梯度的阈值化和L1正则化剪枝Winograd系数,实现高稀疏性,且不依赖于空间域剪枝。
- 利用从空间到Winograd参数的非可逆变换作为根本障碍,通过消除同时优化两个域的需求来规避该问题。
- 设计一种自定义稀疏Winograd卷积核,通过跳过零操作、优化内存访问与计算模式,高效利用稀疏性。
- 在Intel Xeon CPU上使用高度优化的内核实现稀疏Winograd核,采用高效的内存布局与线程划分。
- 使用有效FLOP/s评估性能,与密集直接卷积、理想密集Winograd卷积及稀疏直接卷积实现进行对比。
实验结果
研究问题
- RQ1在Winograd域中直接剪枝是否可实现高稀疏性,同时保持精度损失极小?
- RQ2为何传统空间域剪枝无法产生有意义的Winograd稀疏性?该问题如何克服?
- RQ3原生Winograd层架构是否能实现比联合优化空间与Winograd参数更有效且一致的剪枝?
- RQ4在现代CPU上,通过高效利用高稀疏性的自定义稀疏Winograd卷积实现,可获得多大性能提升?
- RQ5原生剪枝与稀疏Winograd卷积的结合是否比现有稀疏卷积或仅Winograd方法更有效?
主要发现
- 在AlexNet的3×3与5×5卷积层中,Winograd域原生剪枝实现了90.6%至95.8%的稀疏性,仅导致0.1%的top-1精度下降。
- 该方法在Intel Xeon Platinum 8180 CPU上相比密集直接卷积实现5.4倍加速,相比理想密集Winograd卷积实现2.1倍加速。
- Winograd域中的稀疏性显著高于空间域:空间剪枝可实现约85%稀疏性,而转换到Winograd域后稀疏性降至25–70%,凸显原生剪枝的优势。
- 稀疏Winograd核实现最高达31.7有效TFLOP/s(单精度32位),证明在现代服务器级CPU上具有极高的计算效率。
- 该方法在Winograd空间中实现了独特的剪枝模式——如空间域中不存在的孤立非零系数,表明更高的表达能力与剪枝灵活性。
- 该方法优于稀疏直接卷积与理想密集Winograd卷积,证明了原生剪枝与稀疏Winograd计算结合的有效性。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。