神经网络压缩与加速(解析神经网络压缩算法)

神经网络压缩与加速(解析神经网络压缩算法)

  神经网络压缩技术最重要的是设计抽象层次上的发展,遵循软件算法-硬件架构-软硬件协同设计的轨迹。从软件算法角度来看,压缩深度神经网络模型一直是AI领域的一个重点研究问题。一方面,用一些新的学习表征、模型结构和学习方法,生成一个稀疏性极低的紧致神经网络模型,降低对计算能力和访存的需求。另一方面,通过修改已有的神经网络模型挤压其稀疏性。方法主要包括以下3种。(1)张量分解算法:通过满秩分解、SVD分解等方法将张量降秩;(2)结构化剪枝算法:以通道、矩阵等模型结构为粒度减少神经网络中冗余权值的数量;(3)固定位宽量化算法:统一降低神经网络模型权值参数的表达位宽。业界往往通过耦合上述多项算法以实现更高的模型压缩率。值得一提的是,这些算法可以在GPU等通用处理器上取得明显的计算性能提升。图4展示了结构化剪枝算法,以Channel、Filter、Shape等网络结构为粒度对神经网络的权重剪枝,保证了剪枝粒度大于GPU并行调度粒度(即线程组宽度),从而有效提升了GPU的执行效率。然而,若要进一步提升压缩算法的效率,如更细的剪枝粒度、更灵活的位宽设置,就不得不对硬件架构进行深度定制。这不仅增加了架构设计的复杂度,还降低了架构的灵活性,难以在模型的准确率与压缩率之间取得最佳平衡。

  设计抽象层次发展脉络

  从硬件架构角度来看,神经网络的执行效率与底层架构设计息息相关。DNN专用架构的优化主要针对访存,包括(1)数据流优化:通过优化DNN计算通路中的数据流,提高数据的可复用性,减少DDR的访存请求;(2)存储层次结构优化:根据神经网络中数据访问的局部性(尤其是卷积运算深层嵌套的LOOP循环),将加速器中的存储结构分级,提高神经网络的访存速度;(3)存算一体化架构设计:以各种传统工艺(如SRAM、NorFlash)或新型忆阻器工艺(如FeRAM、ReRAM、PCM和MRAM)制作器件构建存储阵列,将神经网络权值参数直接存储在阵列内部,并以模拟信号的形式并行执行大规模矩阵乘法。以典型的存算一体化硬件架构为例,向量以电压形式驱动阵列字线(行),利用电压乘以电导(按照DNN的权值对忆阻器阻值进行编程)等于电流,并且电流在位线(列)自然汇聚相加的电流定律,一次读操作即可完成向量与矩阵的乘加操作。这种方法不但提高了矩阵乘法的并行度,而且避免了反复从DDR读取DNN的权重,进一步提高了架构的能效比。然而,单纯从硬件架构中挖掘并行性和数据可复用性,能效比很快就到达极致,性能提升将会遇到瓶颈。

  结构化剪枝算法

  软件算法与硬件架构融合,通过更高的灵活性来获取更高的DNN压缩率成为了历史的选择。软硬件协同设计主要从以下几个角度考虑。(1)混合精度量化:使用不同的、混合的数据位宽来表示同一神经网络中的不同数据,并辅以专用加速器架构设计,以获取更高的性能收益;(2)非结构化剪枝:删除DNN中不重要的、冗余的权重(不一定非要按照某种结构删除),最大程度地挖掘DNN的稀疏性,通过专用的跳零架构4加速神经网络的推理过程;(3)硬件导向的DNN架构搜索:分析底层专用架构的特点,设计DNN模型搜索机制,搜索出一个适用于当前架构、执行效率极高的DNN架构(如层数,卷积核大小、通道数及连接,数据位宽等);(4)基于存算一体架构的稀疏方案:存算一体化架构的执行单元通常以阵列的形式组织,非结构化剪枝产生随机分布的零,难以通过编码压缩部署在阵列上。存储权重的忆阻器件同时参与计算流,这种操作数与运算器的硬件耦合导致无法实现跳零架构。因此我们主要以规则的行、列以及块的规则形状剪枝或量化DNN模型。

  存算一体化架构

  未来,抽象层次上的软硬件协同设计将向更深更广的方向发展。(1)更广的任务场景,比如删除冗余令牌(token)的Transformer加速架构,面向视频时域上的稀疏性、三维点云空间稀疏性和图神经网络关系稀疏性进行压缩的软硬件协同设计。(2)从单芯片的软硬件协同拓展到异构计算架构和系统的软硬件优化。比如谷歌的万亿参数的语言模型稀疏。(3)基于模拟运算的存算一体化架构和脉冲神经网络加速器架构。

推荐阅读

    2010年底DIY硬件总结和安装参考

    2010年底DIY硬件总结和安装参考,,它似乎只是一眨眼的功夫从过去的最后一眼。看看现在的岗位似乎就在昨天,但看看当年的内容是真的走了,如果

    笔记本电脑常见硬件故障分析

    笔记本电脑常见硬件故障分析,,1。电脑非电(功率指示灯不亮)笔记本电脑脑电现象的处理方法,可按以下顺序检测: (1)首先检查适配器是否正确连接

    怎么检测电脑硬件问题

    怎么检测电脑硬件问题,电脑硬件,检测,怎么,电脑硬件故障的几种简单检查方法:一、首先确定你的电源已经打开、所有的连线全部连接到位。笔

    3月份安装峰值最突出的硬件价格表

    3月份安装峰值最突出的硬件价格表,,月,传统的DIY装机高峰,电脑城遍布城市的学生装军条件下呈现出一派欣欣向荣的景象。对骄傲的日子,浩浩荡荡

    常识硬件的计算机日常维护

    常识硬件的计算机日常维护,,硬件(防尘、防高温、防磁、防潮、防静电、防震) 应将电脑放在一个干净的房间,避免灰尘太多造成的不利影响,对各种

    确定DIY图文教程计算机硬件和奸商

    确定DIY图文教程计算机硬件和奸商,,开学季的到来,越来越多的同性恋自己也做够的食物,选择X宝,Y东好的产品,或实体组装自己的购买,也能处理问题,

    给电脑升级cpu|给电脑升级硬件

    给电脑升级cpu|给电脑升级硬件,,1. 给电脑升级硬件1. 把戴尔笔记本翻到背面,拆卸后面板固定的螺丝,取下背面盖板。2. 找到内存扩展插槽,插上

    笔记本电脑的硬件问题

    笔记本电脑的硬件问题,,今天早上我用我的NEC笔记本电脑,玩坏了的时候,突然听到了电源和笔记本电源接口的噪音很小,类似海豚的声音,我赶紧关上