一种基于深度学习芯片的数据存储优化方法和装置制造方法及图纸

技术编号:19099066 阅读:25 留言:0更新日期:2018-10-03 02:51
本发明专利技术提供了一种基于深度学习芯片的数据存储优化方法和装置,所述方法在激活函数运算单元对卷积特征数据进行激活函数运算,得到第二特征矩阵数据之后,通过非零数据统计单元统计第二特征矩阵数据中非零数据,以及通过特征数据压缩单元根据所有非零数据在整个第二特征矩阵数据占比情况,对第二特征数据进行压缩处理,得到压缩数据,并将压缩数据回写至主存单元中。相较于现有技术中将激活函数运算得到的全部数据回写至主存的方式,本发明专利技术可以有效降低存储带宽和运算数据对存储空间的占用。

【技术实现步骤摘要】
一种基于深度学习芯片的数据存储优化方法和装置
本专利技术涉及计算机
,特别涉及一种基于深度学习芯片的数据存储优化方法和装置。
技术介绍
随着人工智能产业的兴起,深度学习芯片也在快速发展。当前,深度学习芯片的最大问题之一就是存储空间占用大,具体是由于深度学习网络层次数量众多,而运算硬件资源有限,运算电路无法一次性全部运算完所有的结果,因而只能将运算中间结果存储到外存中,例如将每个神经网络层之间的数据甚至是一个大网络层内部的中间数据存在至外存中,这就导致深度学习芯片的数据吞吐量和存储空间占用量十分庞大。如果能从深度学习的特性出发,进一步的降低深度学习人工智能芯片的存储带宽和存储空间消耗,这将是非常有意义的一项研究内容。
技术实现思路
为此,需要提供一种基于深度学习芯片的数据存储优化的技术方案,用以解决深度学习芯片在进行神经网络运算时存储带宽大、存储空间消耗大等问题。为实现上述目的,专利技术人提供了一种基于深度学习芯片的数据存储优化装置,所述装置包括主存单元、特征数据读取单元、特征数据解压单元、特征数据缓存单元、卷积核读取单元、卷积核缓存单元、卷积运算单元、激活函数运算单元、非零数据统计单元、数据压缩单元、数据回写单元;所述主存单元分别与特征数据读取单元、卷积核读取单元连接,所述特征数据读取单元与特征数据解压单元连接,所述特征数据解压单元与特征数据缓存单元连接,所述特征数据缓存单元与卷积运算单元连接;所述卷积核读取单元与卷积核缓存单元连接,所述卷积核缓存单元与卷积运算单元连接;所述卷积运算单元与激活函数运算单元连接,所述激活函数运算单元与非零数据统计单元连接,所述非零数据统计单元与数据压缩单元连接,所述数据压缩单元与数据回写单元连接,所述数据回写单元与主存单元连接;所述主存单元用于存储第一特征矩阵数据以及各个神经网络子层的卷积核数据;所述特征数据读取单元用于从主存单元读取第一特征矩阵数据,并将其存储于特征数据缓存单元中;所述卷积核读取单元用于从主存单元读取当前神经网络子层对应的卷积核数据,并将其存储于卷积核缓存单元中;所述卷积运算单元用于获取卷积核缓存单元中的卷积核数据以及特征数据缓存单元中的第一特征矩阵数据进行卷积运算,得到卷积特征数据,并将卷积特征数据传输给激活函数运算单元;所述激活函数运算单元用于对卷积特征数据进行激活函数运算,得到第二特征矩阵数据;所述非零数据统计单元用于统计第二特征矩阵数据中非零数据,所述特征数据压缩单元用于根据所有非零数据在整个第二特征矩阵数据占比情况,对第二特征数据进行压缩处理,得到压缩数据;所述反向回写单元用于将压缩数据回写至主存单元中;当前神经网络子层的压缩数据为下一层神经网络子层的第一特征矩阵数据对应的压缩数据,所述特征数据解压单元用于对特征数据读取单元读取的压缩数据进行解压数据,并将解压得到的第一特征矩阵数据存储至特征数据缓存单元中。进一步地,所述装置还包括非零比例阈值存储单元,所述非零比例阈值存储单元与特征数据压缩单元连接,用于存储非零比例阈值;所述特征数据压缩单元用于判断非零数据统计单元提取出的非零数据在整个第二特征矩阵数据占比是否大于非零比例阈值,若是则提取出非零数据并进行压缩处理,得到压缩数据;否则不提取非零数据,直接对第二特征矩阵数据进行压缩处理,得到压缩数据。进一步地,当特征数据压缩单元判定非零数据统计单元提取出的非零数据在整个第二特征矩阵数据占比大于非零比例阈值时,得到的压缩数据包括第一包头标识、各个非零数据以及每个非零数据在第二特征矩阵数据的位置信息,每个非零数据与其对应的位置信息对应存储;当特征数据压缩单元判定非零数据统计单元提取出的非零数据在整个第二特征矩阵数据占比不大于非零比例阈值时,得到的压缩数据包括第二包头标识和各个第二特征数据,所述第二特征数据包括非零数据和零数据,各个第二特征数据根据其在第二特征矩阵数据中的位置信息对应存储。进一步地,所述非零数据统计单元包括比较器、计数器和存储器,所述比较器分别与计数器、存储器连接,所述存储器用于存储零值;所述比较器用于将第二特征矩阵数据中的各个特征数据与零值进行比较,当比较器判定当前特征数据的数值不为零值时,则计算器值加1;当所有第二特征矩阵数据中的特征数据全部比较完成后,非零数据统计单元将当前计数器的值传输给特征数据压缩单元。专利技术人还提供了一种基于深度学习芯片的数据存储优化方法,所述方法应用于基于深度学习芯片的数据存储优化装置,所述装置包括主存单元、特征数据读取单元、特征数据解压单元、特征数据缓存单元、卷积核读取单元、卷积核缓存单元、卷积运算单元、激活函数运算单元、非零数据统计单元、数据压缩单元、数据回写单元;所述主存单元分别与特征数据读取单元、卷积核读取单元连接,所述特征数据读取单元与特征数据解压单元连接,所述特征数据解压单元与特征数据缓存单元连接,所述特征数据缓存单元与卷积运算单元连接;所述卷积核读取单元与卷积核缓存单元连接,所述卷积核缓存单元与卷积运算单元连接;所述卷积运算单元与激活函数运算单元连接,所述激活函数运算单元与非零数据统计单元连接,所述非零数据统计单元与数据压缩单元连接,所述数据压缩单元与数据回写单元连接,所述数据回写单元与主存单元连接;所述方法包括以下步骤:主存单元存储第一特征矩阵数据以及各个神经网络子层的卷积核数据;特征数据读取单元从主存单元读取第一特征矩阵数据,并将其存储于特征数据缓存单元中;卷积核读取单元从主存单元读取当前神经网络子层对应的卷积核数据,并将其存储于卷积核缓存单元中;卷积运算单元获取卷积核缓存单元中的卷积核数据以及特征数据缓存单元中的第一特征矩阵数据进行卷积运算,得到卷积特征数据,并将卷积特征数据传输给激活函数运算单元;激活函数运算单元对卷积特征数据进行激活函数运算,得到第二特征矩阵数据;非零数据统计单元统计第二特征矩阵数据中非零数据,所述特征数据压缩单元根据所有非零数据在整个第二特征矩阵数据占比情况,对第二特征数据进行压缩处理,得到压缩数据;反向回写单元将压缩数据回写至主存单元中;当前神经网络子层的压缩数据为下一层神经网络子层的第一特征矩阵数据对应的压缩数据;特征数据解压单元对特征数据读取单元读取的压缩数据进行解压数据,并将解压得到的第一特征矩阵数据存储至特征数据缓存单元中。进一步地,所述装置还包括非零比例阈值存储单元,所述非零比例阈值存储单元与特征数据压缩单元连接,用于存储非零比例阈值;所述方法包括以下步骤:特征数据压缩单元判断非零数据统计单元提取出的非零数据在整个第二特征矩阵数据占比是否大于非零比例阈值,若是则提取出非零数据并进行压缩处理,得到压缩数据;否则不提取非零数据,直接对第二特征矩阵数据进行压缩处理,得到压缩数据。进一步地,当特征数据压缩单元判定非零数据统计单元提取出的非零数据在整个第二特征矩阵数据占比大于非零比例阈值时,得到的压缩数据包括第一包头标识、各个非零数据以及每个非零数据在第二特征矩阵数据的位置信息,每个非零数据与其对应的位置信息对应存储;当特征数据压缩单元判定非零数据统计单元提取出的非零数据在整个第二特征矩阵数据占比不大于非零比例阈值时,得到的压缩数据包括第二包头标识和各个第二特征数据,所述第二特征数据包括非零数据和零数据,各个第本文档来自技高网...

【技术保护点】
1.一种基于深度学习芯片的数据存储优化装置,其特征在于,所述装置包括主存单元、特征数据读取单元、特征数据解压单元、特征数据缓存单元、卷积核读取单元、卷积核缓存单元、卷积运算单元、激活函数运算单元、非零数据统计单元、数据压缩单元、数据回写单元;所述主存单元分别与特征数据读取单元、卷积核读取单元连接,所述特征数据读取单元与特征数据解压单元连接,所述特征数据解压单元与特征数据缓存单元连接,所述特征数据缓存单元与卷积运算单元连接;所述卷积核读取单元与卷积核缓存单元连接,所述卷积核缓存单元与卷积运算单元连接;所述卷积运算单元与激活函数运算单元连接,所述激活函数运算单元与非零数据统计单元连接,所述非零数据统计单元与数据压缩单元连接,所述数据压缩单元与数据回写单元连接,所述数据回写单元与主存单元连接;所述主存单元用于存储第一特征矩阵数据以及各个神经网络子层的卷积核数据;所述特征数据读取单元用于从主存单元读取第一特征矩阵数据,并将其存储于特征数据缓存单元中;所述卷积核读取单元用于从主存单元读取当前神经网络子层对应的卷积核数据,并将其存储于卷积核缓存单元中;所述卷积运算单元用于获取卷积核缓存单元中的卷积核数据以及特征数据缓存单元中的第一特征矩阵数据进行卷积运算,得到卷积特征数据,并将卷积特征数据传输给激活函数运算单元;所述激活函数运算单元用于对卷积特征数据进行激活函数运算,得到第二特征矩阵数据;所述非零数据统计单元用于统计第二特征矩阵数据中非零数据,所述特征数据压缩单元用于根据所有非零数据在整个第二特征矩阵数据占比情况,对第二特征数据进行压缩处理,得到压缩数据;所述反向回写单元用于将压缩数据回写至主存单元中;当前神经网络子层的压缩数据为下一层神经网络子层的第一特征矩阵数据对应的压缩数据,所述特征数据解压单元用于对特征数据读取单元读取的压缩数据进行解压数据,并将解压得到的第一特征矩阵数据存储至特征数据缓存单元中。...

【技术特征摘要】
1.一种基于深度学习芯片的数据存储优化装置,其特征在于,所述装置包括主存单元、特征数据读取单元、特征数据解压单元、特征数据缓存单元、卷积核读取单元、卷积核缓存单元、卷积运算单元、激活函数运算单元、非零数据统计单元、数据压缩单元、数据回写单元;所述主存单元分别与特征数据读取单元、卷积核读取单元连接,所述特征数据读取单元与特征数据解压单元连接,所述特征数据解压单元与特征数据缓存单元连接,所述特征数据缓存单元与卷积运算单元连接;所述卷积核读取单元与卷积核缓存单元连接,所述卷积核缓存单元与卷积运算单元连接;所述卷积运算单元与激活函数运算单元连接,所述激活函数运算单元与非零数据统计单元连接,所述非零数据统计单元与数据压缩单元连接,所述数据压缩单元与数据回写单元连接,所述数据回写单元与主存单元连接;所述主存单元用于存储第一特征矩阵数据以及各个神经网络子层的卷积核数据;所述特征数据读取单元用于从主存单元读取第一特征矩阵数据,并将其存储于特征数据缓存单元中;所述卷积核读取单元用于从主存单元读取当前神经网络子层对应的卷积核数据,并将其存储于卷积核缓存单元中;所述卷积运算单元用于获取卷积核缓存单元中的卷积核数据以及特征数据缓存单元中的第一特征矩阵数据进行卷积运算,得到卷积特征数据,并将卷积特征数据传输给激活函数运算单元;所述激活函数运算单元用于对卷积特征数据进行激活函数运算,得到第二特征矩阵数据;所述非零数据统计单元用于统计第二特征矩阵数据中非零数据,所述特征数据压缩单元用于根据所有非零数据在整个第二特征矩阵数据占比情况,对第二特征数据进行压缩处理,得到压缩数据;所述反向回写单元用于将压缩数据回写至主存单元中;当前神经网络子层的压缩数据为下一层神经网络子层的第一特征矩阵数据对应的压缩数据,所述特征数据解压单元用于对特征数据读取单元读取的压缩数据进行解压数据,并将解压得到的第一特征矩阵数据存储至特征数据缓存单元中。2.如权利要求1所述的基于深度学习芯片的数据存储优化装置,其特征在于,所述装置还包括非零比例阈值存储单元,所述非零比例阈值存储单元与特征数据压缩单元连接,用于存储非零比例阈值;所述特征数据压缩单元用于判断非零数据统计单元提取出的非零数据在整个第二特征矩阵数据占比是否大于非零比例阈值,若是则提取出非零数据并进行压缩处理,得到压缩数据;否则不提取非零数据,直接对第二特征矩阵数据进行压缩处理,得到压缩数据。3.如权利要求2所述的基于深度学习芯片的数据存储优化装置,其特征在于:当特征数据压缩单元判定非零数据统计单元提取出的非零数据在整个第二特征矩阵数据占比大于非零比例阈值时,得到的压缩数据包括第一包头标识、各个非零数据以及每个非零数据在第二特征矩阵数据的位置信息,每个非零数据与其对应的位置信息对应存储;当特征数据压缩单元判定非零数据统计单元提取出的非零数据在整个第二特征矩阵数据占比不大于非零比例阈值时,得到的压缩数据包括第二包头标识和各个第二特征数据,所述第二特征数据包括非零数据和零数据,各个第二特征数据根据其在第二特征矩阵数据中的位置信息对应存储。4.如权利要求1至3任一项所述的基于深度学习芯片的数据存储优化装置,其特征在于:所述非零数据统计单元包括比较器、计数器和存储器,所述比较器分别与计数器、存储器连接,所述存储器用于存储零值;所述比较器用于将第二特征矩阵数据中的各个特征数据与零值进行比较,当比较器判定当前特征数据的数值不为零值时,则计算器值加1;当所有第二特征矩阵数据中的特征数据全部比较完成后,非零数据统计单元将当前计数器的值传输给特征数据压缩单元。5.一种基于...

【专利技术属性】
技术研发人员:廖裕民卢捷
申请(专利权)人:福州瑞芯微电子股份有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1