点击蓝字
通过剪枝去除冗余权值是一种常见的压缩神经 络的方法。然而,由于剪枝所生成的稀疏模式较为随机,难以有效被硬件利用,之前方法实现的压缩比与硬件上实际时间的推理加速有较大的差距。而结构化剪枝方法又因为对剪枝过程加以限制,只能实现较为有限的压缩比。为了解决这一问题,本工作中,我们设计了一种硬件友好的压缩方法。通过分解原始权重矩阵,我们将原来的卷积分解为两个步骤,对输入特征的线性组合以及使用基卷积核的卷积操作。基于这一结构,我们相应设计了稀疏神经 络加速器来高效地跳过冗余操作,实现提升推理性能和能耗比的目的。
本期AI TIME PhD直播间,我们邀请到杜克大学电子与计算机工程系博士生——李石宇,为我们带来 告分享《通过软硬件协同设计加速稀疏神经 络》。
Sparse CNN
当下的卷积 络中有很多冗余的存在,也就是说存在一些权值或输入是不必要的。如果我们可以在训练阶段将这些冗余去掉,就可以推理所需要的算力和资源。人们在寻求稀疏神经 络的时候,往往把稀疏分为两类:
一类是激活值的稀疏,即输入的稀疏。这类稀疏往往是由激活函数带来的,我们会发现在经过类似ReLU的激活函数之后会有很多输入变成0。那么这些0在我们的计算中是可以被跳过的。
另一类是权值的稀疏。权值的稀疏往往是通过剪枝算法得到的。剪枝算法我们又有两种分类:
● 非结构化的剪枝Unstructured Pruning
我们根据每个权值的重要程度和阈值对比,如果权值较小就可以在计算中跳过。
● 结构化的剪枝Structured Pruning
我们在进行剪枝的时候限制去掉的是整个结构,或者是剪枝的时候根据某种预先定义的固定模式来进行。这样结构化剪枝能帮助我们在硬件推理的时候得到一个可预知的稀疏结构,更好的跳过不必要的运算。
Kernel Decomposition
首先,我们来看如何进行卷积核的分解。通常的神经 络权值会表达出一种张量的形式。
我们的第一步就是把张量变形成一个矩阵。我们把输入和输出这两个通道合在一起,然后把卷积核的宽和高两个维度合在一起得到一个权值矩阵。
我们可以看到这个矩阵对应的每一行其实表征的是原来的卷积核,我们现在用一个向量而不是之前的二维形式去表示原来的卷积核。这一步之后,我们可以采用矩阵分解的方法,如奇异值分解。
我们再根据特征值排序来选择矩阵分解后的特征向量,也就是我们的新基向量。这样的过程也是把我们的原始矩阵投影到一个比较低维的空间。
在得到基的矩阵之后,我们同时可以得到一个投影矩阵,同时也可以把原始的卷积核投影到一个新的空间并得到一组系数矩阵。该矩阵的每一行代表如何用一组新的基的线性组合去得到一个原始的卷积核近似。
这样我们也就完成了矩阵分解的过程,达到了通过分解完成压缩的目的。
Computation Reorganization
说完了算法框架层面的,我们最终的目的是希望这样一种压缩分解的算法可以为我们加速器的设计提供一些指导,尤其是在之前压缩的部分会得到一个稀疏的系数。如何高效的利用这个稀疏系数,跳过所有冗余计算就是我们之后研究的目的。相关公式如下所示:
Architecture overview
在此前的基础上,我们提出了加速器的硬件设计。我们使用的也是一个层次化的设计,将所有的运算单元组合成块。每个块中又分成了行,每行中也分为两部分,一部分处理输入特征图的线性组合,另一部分处理卷积操作。
第二步就是浓缩的过程。我们使用了look-ahead和look-aside这两种成熟的技巧在寄存器中寻找非0的值填进0值的位置,就可以得到一个稠密的向量。由于这两步是异步进行的,我们使用流水线的设计来提升整体的效率。
Algorithm Evaluation
之后的实验中,我们主要对比了我们的算法的压缩结果和非结构化剪枝的对比。我们能达到一个相同甚至更高的压缩比,当然会有一些准确度的损失,但相对较小。
Speedup and Energy Efficiency
我们对比了加速和能效。
● 在CIFAR10 上,高稀疏度使得加速器能够及时生成中间特征映射。
● 在ImageNet上,CA需要更多的周期来输入特征图线性组合来产生一个中间元素,这导致MAC处于空闲状态,限制了加速。
● 总体上,我们和之前稀疏加速器和非结构化剪枝框架进行对比,平均可以达到一个2—3倍的加速效果。同时,我们的框架也可以通过调整压缩过程中的参数来确定是得到一个更高的识别准确率还是更高加速比。
提
醒
论文题目:
PENNI: Pruned Kernel Sharing for Efficient CNN Inference
ESCALATE: Boosting the Efficiency of Sparse CNN Accelerator with Kernel Decomposition
论文链接:
http://proceedings.mlr.press/v119/li20d.html
https://dl.acm.org/doi/abs/10.1145/3466752.3480043
点击“阅读原文”,即可观看本场回放
整理:林 则
活动预告
我知道你
在看
哦
~

点击 阅读原文 查看回放!
文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览34789 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!