点击蓝字
关注我们
AI TIME欢迎每一位AI爱好者的加入!
通过剪枝去除冗余权值是一种常见的压缩神经网络的方法。然而,由于剪枝所生成的稀疏模式较为随机,难以有效被硬件利用,之前方法实现的压缩比与硬件上实际时间的推理加速有较大的差距。而结构化剪枝方法又因为对剪枝过程加以限制,只能实现较为有限的压缩比。为了解决这一问题,本工作中,我们设计了一种硬件友好的压缩方法。通过分解原始权重矩阵,我们将原来的卷积分解为两个步骤,对输入特征的线性组合以及使用基卷积核的卷积操作。基于这一结构,我们相应设计了稀疏神经网络加速器来高效地跳过冗余操作,实现提升推理性能和能耗比的目的。
本期AI TIME PhD直播间,我们邀请到杜克大学电子与计算机工程系博士生——李石宇,为我们带来报告分享《通过软硬件协同设计加速稀疏神经网络》。
李石宇:
本科毕业于清华大学自动化系,目前是杜克大学电子与计算机工程系三年级博士生,师从李海和陈怡然老师。他的主要研究方向为计算机体系结构以及深度学习系统的软硬件协同设计。
The inflation of model size
在追求神经网络识别准确率的同时,我们发现新一代的神经网络模型无论是在计算量还是参数的数量上都在不断增大,同时也引入了许多复杂的操作。
这种复杂度也阻碍了模型在应用端的部署,因为这些设备如手机、IOT设备等都有着严格的功耗和算力限制。
这也引发了我们对设计更高效神经网络算法及相应硬件平台的需求。
Sparse CNN
当下的卷积网络中有很多冗余的存在,也就是说存在一些权值或输入是不必要的。如果我们可以在训练阶段将这些冗余去掉,就可以推理所需要的算力和资源。人们在寻求稀疏神经网络的时候,往往把稀疏分为两类:
一类是激活值的稀疏,即输入的稀疏。这类稀疏往往是由激活函数带来的,我们会发现在经过类似ReLU的激活函数之后会有很多输入变成0。那么这些0在我们的计算中是可以被跳过的。
另一类是权值的稀疏。权值的稀疏往往是通过剪枝算法得到的。剪枝算法我们又有两种分类:
● 非结构化的剪枝Unstructured Pruning
我们根据每个权值的重要程度和阈值对比,如果权值较小就可以在计算中跳过。
● 结构化的剪枝Structured Pruning
我们在进行剪枝的时候限制去掉的是整个结构,或者